I think to be a good programmer, you have to be both of these things:
A bit of a control freak.
A person who hates other programmers.
Otherwise, that drive won't be there, and you won't find the work rewarding. It's problem solving for the sake of problem solving, more than anything else.
I'd recommend something like Pico-8 if you're just starting out with code, though, because sometimes learning an API and language can be a slog at the beginning, and the payoff is minimal. Games are fun, and the code tab for all of those games is visible, and some of them are even written for beginners to learn from. You can remix any cartridge there and get immediate visual feedback, which is a lot more fun than the standard banking software that a lot of Programming 101 courses will have you writing. See if that inspires you at all.
Honestly most dev spaces are pretty bad. Doesn't surprise me that the one with a reputation (in some circles) of being for no one but "Linux-worshipping boomers" has a transphobia problem when even most younger dev communities do too.
If you're into gamedev stuff, you might enjoy messing around with the Pico-8 - the community is great and active and there's a pretty healthy trans subculture, especially on the Discord server. Easily the best dev space I've been in.
Pico-8 Dungeon Crawler
I've made some excellent progress this week, so I think it's about time I share what I've been working on. If you haven't heard of Pico-8, it's an 8-bit 'fantasy console'. I've been working sporadically on roguelike prototypes for about a month, but it's the past week that everything's come together and I've achieved the most.
So far I've implemented:
Here's a build (playable in browser): http://immense-basin-12369.herokuapp.com/
What's next?
I'm pretty happy with what I've got so far, but this is my first time sharing the project so I'm open to suggestions and definitely looking for feedback!
Yeah, okay, I researched the specs a little more. Your computer is pretty yikes. And Linux support for Unity is still in "Preview".
Maybe look into something like Pico-8?
Why not try a fantasy console?
Console | Text | $ |
---|---|---|
Pixel Vision 8 | PV8 is a platform that standardizes 8-bit fantasy console limitations built on top of an open source C# SDK. Developers can customize these restrictions to match actual legacy hardware or create something new. It is ideal for game jams, prototyping ideas or having fun. | free |
Game Creator Pro | The Game Creator Pro is a full development environment for authoring 8-bit games and is built on top of the open source Pixel Vision SDK | $ |
PICO-8 | PICO-8 is a fantasy console for making, sharing and playing tiny games and other computer programs. When you turn it on, the machine greets you with a shell for typing in Lua commands and provides simple built-in tools for creating your own cartridges. | $ |
A list of fantasy consoles I randomly found:
Sounds like you're thinking of PICO-8, though there's a handful of engines similar to PICO-8. See awesome-pico8's section on clones for more on those.
The PICO-8 is a great little "console" to learn programming on (especially game programming). It's got a built-in code editor, graphics and music tools, and there's a good community for beginners. Lot of beginner's tutorials, and so forth. It doesn't have a lot of the frustration of setup that other things do, and he can join the Discord server to talk with lots of other people who make games and things for it.
How are you planning to pay these people?
While you might be very passionate about this project, and willing to work for free, unless you’re a dynamite salesman i can’t see you instilling that same attitude in a whole team without some serious credentials.
Talent costs.
I think it’s great you obviously believe in this project, channel that enthusiasm into learning to do this for yourself - even if your dream game is shelved for now in place of some simpler projects while you practice.
For example Pico8 has built in tools for coding, creating art assets, music etc and is probably a bit more transferable than RPG Maker to other dev tools.
That said just pick what you’re most comfortable using and get stuck in for now :)
I'm not kidding. That is one of my main goals in life. This computer would have quite an appeal with fans of retro computers, minimalists, and people who like to understand how computers work under the hood. There are similar projects availabe, the so called fantasy computers, like the tic80, the liko12, and the pico-8. When I finally make the emulator and the OS, I'll use it, port programs to it, since it will be a unix-like OS, develop games and programs.
Hahaha! You don't know who you were replying to there huh? He knows his stuff very well and is an awesome person. "Retro Game Corps" is his YouTube channel and he also has a website with reviews and retro game emulator tutorials.
Also, on Pico 8 they refer to the game files as "carts".
Hopefully the "boot to basic" UI would look like PICO-8 https://www.lexaloffle.com/pico-8.php
Built-in text editor, built-in sound fx editor, built-in "midi" editor, yet still "boots to basic".
If you're willing to pay for the emulator, Pico-8 is a really great way to add lots of games to your gaming device, as all the carts are free. https://www.lexaloffle.com/pico-8.php However, I will add that getting it to work on the RetroPie was a bit of a pain in the ass for me.
I'm going to second /u/luarocks on the fantasy console idea. 3d is a lot harder to get into than 2d in general, even with a framework like Roblox that does a lot of the work for you.
If you want something simple to start with, you'd probably do better with a fantasy console like TIC-80, Pixel Vision 8, or PICO-8. (PV8 is free and open-source; TIC-80 is open source with free and paid versions; PICO-8 is paid and closed source)
They're 2d engines with intentionally restricted specs and functionality and simpler APIs, so you don't have to wrap your head around as many different things. Make a few sprites, call some functions to draw them and move them, and go from there.
It'll keep you closer to learning Lua itself that way, and be sort of like the old days when you'd boot a PC into BASIC and could just start building software without a lot of ceremony. (That's the idea of these 'fantasy consoles' in fact.) You can upgrade from that to learning love2d or trying 3d with something like roblox later after you have a chance to get comfortable.
This is using PICO-8 - It's a "fantasy console," which means it has all sorts of arbitrary restrictions to make it look, sound, and feel like an 8-bit console, but with modern sensibilities to help development. I find it's a super fun space to work in!
I don’t think Pico-8 is in the bundle. AFAIK, you can only buy it from https://www.lexaloffle.com/pico-8.php.
But yes, I’ve made a few small games in Pico-8. The main strength of Pico-8 is that it has extremely strict limitations. Screen size, colors, sound, memory, even CPU and code size are very tiny. It forces you to make something very modest. You can’t spend 3 years making your magnum opus. You can make a cute little platformer with 10 levels, or a fun arcade puzzle game.
As far as programming, Pico-8 uses a variant of Lua. It has a very small API, and it’s very easy to get up and running if you have a basic understanding of programming.
Personally, I found some of the limitations in Pico-8 pretty frustrating. I like working with self-imposed limitations, especially with stuff like pixel art, low-poly 3D, etc. But I didn’t like the programming/memory limitations of Pico-8. It kinda forces you to write messy code, and treat it almost like a puzzle or a programming test. Some people love that, especially “demo scene” types who view it as a challenge, and use clever techniques to try to push the boundaries. But I got into making games because I like making games, not because I want to solve artificial programming puzzles.
If you’re looking for something free and simple, with creative limitations, I like Bitsy a lot. Graphically, it’s even more limited than Pico-8. It’s designed to make minimalist low-res adventure games. It has built-in systems for movement and inventory, and simple scripting for dialog.
There is, you can now get keyboard input, it only allows you to read a single key per time though. But for simple text input stuff it should be fine:
STAT(30) -- (Boolean) True when a key STAT(31) -- (String) character returned by keyboard
This however requires devkit input mode. So keep that in mind. Keyboard isn't actually supported on the fantasy console.
Found it on the PICO-8 manual but usually I like to use this api cheatsheet
PICO-8 is a great starting point for people wanting to learn to program games. It’s a fantasy console somewhere in the 8 to 16-bit era.
It uses a modified Lua as its scripting language, which is a good starting language giving the opportunity to learn procedural, functional, object-oriented, and data-driven programming. Lua is also a commonly used scripting language in professional game dev. (My only beef is that array indexes start at 1...)
It also includes a sprite editor, tile map editor, sound effect editor and music tracker (think NES era bleeps and bloops), so it has everything included to build a simple game.
It has a source code editor, but I’d advise against writing code on a 128x128 display. Fortunately you can use any external editor.
The specs might seem off-putting to someone wanting to make the next World of Warcraft (/s), but because they’re so basic it’s possible to write an entire game, including graphics and sound, in a matter of days, or even hours if you know what you’re doing.
The best part is that there’s a great community around it, and all PICO-8 cartridges on the website have source code included, so you can download other people’s games to see how they work.
I learned to code back in the 80s on a TI-99/4A back in the days when it was possible to know how every inch of a computer worked, and to program the hardware directly. They literally booted right into a BASIC prompt. With modern machines that have multiple levels of abstraction, this is impossible. PICO-8 brings back those days where computing was simple and learning to code was just a matter of jumping in and having fun.
I wish this was around when I was younger https://www.lexaloffle.com/pico-8.php . They have a great community and you can basically pick apart any game you play on it as you can switch back and forth on the code and the game to see how it works.
It comes with a sfx / music maker and pixel / map editor too. It's open source so if you actually wanted to get it for free you can compile it from the github source (it's really worth the $15 though and nice to support the developer).
You can try small game engines like TIC-80 or PICO-8, which are easy to get started on, but be aware they have their own learning curves and limitations. Here's a list of other "fantasy computers": https://paladin-t.github.io/fantasy/
Epic piece of software and it only became more interesting since they released Voxatron too. There are also various Rasberry Pi consoles out there so you can play the games on TV or on the go, fun fact, the original Celeste started as a Pico8 game.
Great list!
I’d add:
—Challenges for Game Designers, Brathwaite.
—Understanding Comics (about design choices), McCloud.
—A Theory of Fun, Koster.
—Games, Design and Play, Macklin/Sharp.
Also download Pico-8 and play the top carts on: https://www.lexaloffle.com/pico-8.php
It’s a fantasy console in Lua with all the tools built in. Great way to get a lot of tine games under your belt. You can look at others’ code and gfx too! Great community.
Hello, it's great that you're interested in game development! Since you're new to this I would _highly_ suggest starting out with something small. You also can't expect other people to make your game for you, you'll have to bring something to the table yourself so I would start practicing coding, drawing, music composition, 3d modelling, writing, or animation if you're really interested.
​
There is a program called PICO-8, it's a "fantasy console" and its really easy to get started with to make a game and its only $5! I recommend it as a good introduction to game development. There's official forums and also a subreddit for it at r/pico8.
I might add that if he's enjoying programming, you could also try the PICO-8
It's a "fantasy console", a software in which you can fully write your own games (code, graphics, sounds). I find it to be a good tool to learn programming, because the syntax is simple and you have instant visual feedback. You can also export games for the web.
There are quite a lot of resources, but I'd start here to get some basics.
Okay, I have a question for the ages. When is your game going to be ported to Pico-8? You know you want that sweet 128x128 resolution.
Seriously though, have you ever considered back-coding a game like this to an older platform? It's so... pure.
This really. I've been programming for about two years at this stage and I only just feel ready for the challenge – I cut my teeth on Pico-8 projects, generally with similar scope and style to 2600 games.
I did dabble with the Python libtcod tutorial earlier, but when I ran up against problems I wasn't able to solve them. Rather demoralising even for an enthusiastic beginner.
Once you're familiar with gamedev concepts like main loops, animation frames, working with sprites and graphics, you'll have a better foundation to tackle a more complex project.
Consider PICO8 (and other Fantasy Consoles):
https://www.lexaloffle.com/pico-8.php
It's what FES was inspired by, but it could be closer to what you want than FES. PICO8 can also export games to WebGL.
The only thing I really dislike about it is how Pico-8 games are coded in it because it seems like every design decision was made to bamboozle me in particular.
You can also use C or N for "Z" and V or M for "X" if that makes things easier. Unfortunately the engine I used for making this game (a really cool "fantasy console" called pico-8) doesn't allow me to change those keymappings.
Highly recommend messing around with PICO-8 (https://www.lexaloffle.com/pico-8.php) it's a "fantasy console" (basically a virtual console that imposes some limitations on you) so it forces you to write your own simple game engine etc, but you can do really creative things with it (just see the showcase). Engines like Unity are really nice but I think they hide too much of the machinery for someone trying to learn
https://i.imgur.com/adLlll9.jpg
First of all, you'll want to familiarize yourself with programming logic and syntax. Choice of language doesn't matter that much – almost all core concepts are transferable between languages, the syntax and tooling being language-specific.
Some ideas on where to begin:
JavaScript – Web browsers can execute javascript code, and it's relatively easy to get started, as all you need to run code is a browser. There should be no shortage of learning material either. Usually JavaScript is used to enhance websites, but it's also possible to build games (Canvas, WebGL), local utilities or server stuff (Node.js), or even full applications (Electron). JavaScript is often coupled with HTML and CSS.
Lua – I think this is a great language for learning the basics of imperative programming. The language has a relatively shallow learning curve. Lua is often used in games, as a high-level scripting language. Lately, many fantasy consoles (like TIC-80 or PICO-8) have adopted Lua, so if making games sounds alluring to you, this could be a good path.
Python – Often recommended for beginners. I don't personally have much to say about this, but it's probably a decent choice for a lot of different types of projects, and there's plenty of learning material and libraries available.
Shell scripts – Great for making small everyday tools, if you work with Linux/Mac. Great for automatically manipulating files or folders.
C, C++ – Probably not the best choice for your first programming language, as you'll be spending a lot of time just installing and setting up the tools you need to make your program run, and there's a lot more ground to cover for even simpler programs. OTOH C and C++ work a lot closer to the metal than the previously mentioned languages, which means they are more performant than scripting languages.
HTML scripting language (http://www.lua.org/about.html) - also means ''moon'' in portuguese.
PICO-8 - teensy fantasy console - uses it to write small games and I found it a decent way to get a handle on the language.
I wrote a small rendering library to remotely control the pixels on the screen individually, do some neat stuff like simple draw methods and font support, and added some controls for the device: https://github.com/SomethingWithComputers/pixoo
Of course, the best proof-of-concept is one that's actually useful. So here it is! If you have your own pixoo64 you would like to control: https://github.com/SomethingWithComputers/pixoo-banano
It'll display the current Banano stats and your F@H score. I'm halfway to 1 billion and I hope to reach that milestone this year!
I'm not a graphic designer nor a UI designer so the background and layout is.. Not great. I'm open to suggestions!
The screen size is 64 x 64 pixels, so I made a slightly altered version the fantastic PICO-8 (https://www.lexaloffle.com/pico-8.php) font to use on the screen and not have the font take over the entire screen.
If you have questions or want some help setting it up (in case you also have this display), let me know :). I'm currently running the code to control the screen on a raspberry pi 3.
On the other extreme end, there's something like Pico-8. Pico-8 takes inspiration from retro video games, and so it has a lot of artificial limitations. Those limitations can actually be a boon for people just getting started and can even drive creativity through adversity.
Of course, if your nephew isn't interested in retro games, then this might not appeal to them.
Pico-8 is $15, which is definitely not free. But maybe it's low enough that it's worth the risk. It's worth mentioning that there are also open-source clones, which are free. I don't know if any of them are any good.
Check out PICO-8 ($15) or TIC-80 (free and open source). Both are virtual consoles that include all the tools for game design (sprite editor, map editor, music editor). They have limited resources, but at the same time, that helps not being concerned about too many options. Language-wise, PICO-8 uses Lua (which I like better that JavaScript), and TIC-80 supports Lua, Moonscript, Fennel, JavaScript, Wren, Squirrel or Ruby (haven’t heard of half of these TBH)
Thanks! I should shout out the PICO-8 colour pallette and guides by saint11 as well as this "How to Create an Animated Pixel Art Video Game Sprite in Adobe Photoshop" tutorial
This is a bit of a weird one, but you could purchase him the Pico-8 software (https://www.lexaloffle.com/pico-8.php). It's a real cool little way to try out some game development in an "all-in-one" package. It's all very lo-fi (so if he's into old gaming consoles, even better) - and will let him create little images, some basic sounds and music and code a small game. It's got a great community and some people find the limitations of it help with how daunting game development can be. His existing python programming knowledge should also translate pretty well also.
It's the complete opposite of something like Unity - but can be a great way to just muck around and have some fun making small games. Big game engines like Unity can be real daunting because the possibilities are endless - this puts limits on what you can do and can really help with creativity.
Not too late lol, I’m a developer and some of the people I work with didn’t do any coding until they were in school. Also there’s so much stuff that lets you “code” by dragging/dropping, what he’s using could be scratch, could be unity, could be almost anything. Ex) https://unity.com/how-to/make-games-without-programming. If I was personally going to teach a 12 y/o about programming, I’d use pico-8 (https://www.lexaloffle.com/pico-8.php). Comes will all tools needed for art, programming, sound, etc. so you don’t need to use an ide or anything. It also let you view source code of other games and there is no way to prevent this (great for learning), and comes with a distribution system to download other peoples games. It also forces scope by limiting number of sounds, sprites, etc.
You could get him a copy of Pico-8 which is an engine designed for simple games. It's been super fun and helpful for me because of how simple it is and all of the tools you need are built in. The original Celeste was made using pico-8.
The only issue I could see is that it's very coding focused and if he's a beginner it could be difficult.
But the community is great ( r/pico8 ) and it's currently on sale for $10 in this bundle
Check it out if it sounds interesting! 😁
Pico-8 on 351 needs the Raspberry Pi files since it's implemented as running the actual program and not an emulation. You can buy Pico-8 by scrolling down the page here.
ok. that's quite adventurous for a beginner. normally, we use a scripting language to customise our favorite apps. we can make custom menus and custom functions. or we can automate routine tasks. that's much easier than creating a complete program from scratch.
yesterday, i pointed somone to https://www.lexaloffle.com/pico-8.php which is easy to tinker with. that's one way to make your free time more fun.
iot looks interesting but quickly becomes complex. there are whole books on making basic gadgets and prototyping circuits using "breadboards". are you aware of these?
> A system that can only run small games feels more approachable for just-starting out devs.
If anyone is interested in this sort of thing then you might want to check out PICO-8.
It's a lot of fun to use, and a very easy language to get graphical demos going in. You need to be inside TempleOS to use it though. For me, it fills the same niche as PICO-8
If you work with schools, public libraries, or other educational spaces, you can set a partnership here:You can get site-wide and take-home licenses in blocks of 10 or more at $3 per license, and come in the form of keys that can be distributed to students. https://www.lexaloffle.com/pico-8.php?page=schools
> is in the pipeline
A mobile build has been on the roadmap forever, but without a timeline provided. See https://www.lexaloffle.com/pico-8.php?page=faq
"Ports for iOS and Android as stand-alone apps are also planned for after 1.0, but do not yet have an eta."
The alternatives are Fuze 4 and Smile Basic 4.
Both are development environments which run on the Nintendo Switch. You can hook up a keyboard and develop software or games directly on the console.
A good way to learn development is to recreate old game classics from the 70s. "Pong" should take under 100 lines of code.
The benefit of developing on the Switch or any other closed platform is that you don't need to configure anything. "It just works". On the other hand, projects are not really portable. They are bound to the specific plattform. You also can't really collaborate with others to develop a game together.
Edit: Be aware, that over 50% of game development is asset creation. You need textures, 3D models, sprites, quests / text. You can get far with sticking together existing assets but eventually, you will need to create your own.
An alternative for the PC is the Pico-8 fantasy console. It is also a closed development environment which lets you create 8 bit games. The benefit here is that those games are easier to share and work in any browser with the HTML export.
The language is Lua, but it’s encapsulated in the PICO-8 framework, which is actually a really fun tool to create games with, I’d recommend it to anyone interested in starting game development https://www.lexaloffle.com/pico-8.php
Maybe give something like Pico-8 a try?
https://www.lexaloffle.com/pico-8.php
It offers a limiting experience - small resolution, limited amount of code your game can have, but in a way, it's very liberating. You can create the assets quickly, and the documentation, tutorials and community, all are excellent. You don't need to worry about sinking months in a game that goes nowhere, you can make a small game each afternoon. The first few following tutorials, the rest on your own.
The system is completely open - every time you find a pico-8 game online, you can open the file, and see everything in it - the code, the music, the assets. If you find something you like, you can start by opening that game and just making changes to it.
Here's one tutorial: https://m.youtube.com/watch?v=J1wvvbVQ5zo
Start small. Best of luck!
I'd recommend Pico8 (https://www.lexaloffle.com/pico-8.php)
It is self contained, no need for external tools. There are loads of great games that you can see all the code for. Modifying existing games is a great way to get started.
It's commercial, but pretty cheap, and there is a good community. The scripting is Lua, and the skills being learnt are transferable.
But anything but Unity, and I say that as someone who develops in Unity all the time. Keep it fun. Pico8 is fun. As powerful and useful as Unity is, it's not fun.
This mini-project is heavily inspired by the <strong>Pico-8</strong> fantasy console and it's way to store game data. It basically extend the idea to every data that can fit in UTF-16
You can read more about it here.
With your background, I'd suggest starting with PICO-8! https://www.lexaloffle.com/pico-8.php
Quick elevator pitch: It's a "fantasy console" that imposes retro like limitations (only 16 colors, token limit, size limits). The code is a subset of Lua and very, very quick to learn. The platform is an all-in-one IDE that lets you code, do art, make music/sfx, and play your game all in one place. You can also easily browse the games others have made and see their source code!
Here's what I think you get out of it, coming from a backened software developer perspective: it sits right in the middle of "do everything yourself" and "do hardly any coding". You don't have to worry about how the underlying game loop works, but you have to code everything that happens in it, and the token limit gives you lots of chances to make trade offs and optimize for fun. Lastly, and perhaps most importantly, its size limits keeps you from ballooning your scope beyond realism for your first few games. :)
Anyways, I'm a fan boy, I love the community, it's just a great platform. Bonus points if you have nostalgia for these kinds of retro games! I'd definitely suggest checking out the website and playing some of the featured games on there to see what its capable of.
Check out LUA. Not a widely used language, but often used to embed in game engines and the like. Very small, also is the language for programming games for a nonexistent console: pico-8
can you provide some details? you have multiples ways to do that in a non hacky way: - printh: can save to file - serial interface: can pipe data to another application - extcmd: can trigger the screenshot command to write png at a selected location see: https://www.lexaloffle.com/pico-8.php?page=manual
Hey, check out the PICO-8 fantasy console! It uses a special "cartridge" format: The PNG art for the "cartridge" also contains all the code to run the game that the PNG is a "box cover" for. It's one of my favorite uses of embedding in images.
Lua is semi-common as a modding language. This game engine uses Lua: https://www.lexaloffle.com/pico-8.php
Lua is pretty distant from C; C is typed and very reliant on memory allocation. Of all languages I'm aware of, Lua is closer to Javascript, then possibly Python or Ruby. But once you know a few languages each new language is easier. (Except C and C++. those are always horrible)
If you're new to programming, C++ can be a bit tricky.
If you want to dive into Programming + GameDev I can recommend Pico-8, which uses Lua.
Lua is fairly simple and Pico-8 is set up to make it very easy to start making simple games.
Once you've learned the basics you can move onto other languages :)
It is possible to make homebrew NES games that can be burned onto cartridges and run on an NES. My spouse owns some that were released in the last couple of years. (So, yep, people are still releasing NES games and charging money for them). Like others have said, it's not easy. It's much easier to write a game in a modern language that just LOOKS like an NES game.
I think you might want to look into PICO-8? It's a very popular platform for writing retro games, forces you into a lot of the constraints you'd face on an NES-era console. If you've heard of Celeste, that started out as a PICO-8 game. PICO-8 is free, btw.
Definitely! If you pick up Pico8 here, once you open it you can navigate to the Favorites section and you’ll find hundreds of some of the best games developed for it. There are others too, and they can be found in the carts section of that website, and others on itch.io. I recommend checking out the video that u/onionsaregross posted about setting it up
It's a free-to-play PC game called Nano Man "for" the Pico-8. Here's a link to the Pico-8 website if you want to play it. Nano Man is to the right of the player in the center. You don't have to download anything, just click the game and you're playing.
You might really dig the website--it's a really neat idea and some of the games on it, particularly this one, are solid.
Ich weiß nicht, ob ich dem so zustimmen würde.
Als Ein-Mann-Studio ohne Marketingbudget im Smartphone-Segment wird's sicherlich schwierig bis unmöglich, aber die Indieszene insgesamt ist momentan eher in einer Blütephase. Die geht langsam etwas zur Neige, weil der Markt halt wirklich gesättigt ist, aber trotzdem ist da schon einiges an Geld drin.
Die Enthusiasten, die man mit ausgefallenen Konzepten und neuen Ideen überzeugt, sind aber halt einfach nicht im Smartphonemarkt zu Hause sondern auf Steam und den Konsolen.
​
Aber natürlich muss man halt auch sagen, dass der einfachere Zugang zum Markt, der die Indieszene ermöglicht hat, auch dazu führt, dass inzwischen so viele Spiele jede Woche veröffentlicht werden, dass es selbst als gutes Spiel schwierig sein kann, überhaupt wahrgenommen zu werden.
​
Guck dir an, was allein für PICO-8 an coolen kleinen Spielchen komplett umsonst veröffentlicht wird. Und das kommt alles von Hobbyentwicklern, die gar nicht erwarten, damit irgendwie Geld zu verdienen.
certainly the puzzle-solving will transfer to real life quite well. The artificial restrictions force you to think of novel solutions instead of relying on the virtually unlimited resources we have these days as programmers.
For a middle ground you could try making a game for Pico-8 or something?
Godot seems to be beginner friendly as a game development tool. It supports C# as a language (godot mono version). Be sure to first learn the fundamentals of programmong first. https://godotengine.org/
Another option to get you into programming could be Pico 8. Which is a complete toolset to make very small games. It uses Lua scripting instead of C# though. https://www.lexaloffle.com/pico-8.php
Hi and thanks!! It also works on mobile phones, though it's not the best experience playing there.
It's coded in the Lua programming language using Pico-9 for graphics and audio.
Maybe check out PICO-8?
https://www.lexaloffle.com/pico-8.php
It's a 'fantasy console' that constrains your games to fairly limited specs, which can be a cool programming challenge, but I've also seen it used as a platform for folks who want a small engine to make development more approachable.
It'll be limiting, but it seems much much smaller than stuff like unity, so if you can't run that stuff, Pico-8 might still let you get started learning game dev.
FYI, the old Celeste Classic (originally made for pico8, now available on itch.io for free) has similar mechanics to the current commercial game, but an entirely different feel (a bit more like Super Meat Boy), and less story. I kind of prefer it, for its simplicity and compactness. The character also doesn't move so fast, so the levels are less sprawling and it's easier to figure out what you're meant to do. It doesn't save your progress, though, and I haven't gotten past level 15 or so...
It's okay, it was a long shot anyway!
It can be useful for rewriting/remixing the tracks to fit a mood of the game better. And for some retro engines like pico-8 one might need to recompose music with the 8 bit synthesizer.
But by all means I am no professional dev and don't aspire to become one. I just do some of it as a hobby and so I might be the only one finding the use.
use a text editor that supports unicode?
are you referring to the pico text editor? https://en.wikipedia.org/wiki/Pico_(text_editor)
or the pico-8 game console emulator thing.. https://www.lexaloffle.com/pico-8.php
If you want to move into real coding, take a look at Pico-8.
https://www.lexaloffle.com/pico-8.php
It is a simulated 8 bit console, and you can code in Lua right in it. It is a lot of fun to play around with.
IIRC, Retro City Rampage uses a custom engine written from scratch (that's why he was able to port the game to 486 and NES too).
To make a "retro inspired" game, any engine will do, you just need to limit your graphics and audio resolution.
But I strongly recommend you to use either TIC-80 (https://tic.computer/) or Pico-8 (https://www.lexaloffle.com/pico-8.php) that are very user friendly, powerful, and specifically tailored to make retro games.
I suggest first to follow John Carmack's advice. This will naturally lead you to question all the architecture you've been trying to impose and give it some room to breathe.
Likewise try doing prototyping with PICO-8 if you can. This environment(which is unique - other fantasy consoles tend to be unrestricted) has tons of restrictions that force you to code for brevity, which leads you towards stripping out the things you thought you needed and coding your features more directly.
Last year I posted a video showcasing my fangame, and today I can proudly say it's done! You can play and download it for free on itch.
The game is made with the PICO-8 fantasy console, which has similar limitations to something like a NES.
More information can be found on the itch page, of course.
Pico-8 uses a modified Lua 5.2. None of the libraries are included like string/table/coroutine/os etc, so Pico adds a few API functions to supplement like add/time/cocreate etc. See the API for a easy to read version or the official manual. Love2d uses whatever LuaJIT I think which is largely compatible with Lua 5.1. Manual here
Everything on the Pico-8 is literally the size of a small image! The "console" itself isn't free, but the games all are. I actually had it in my humble account because of a super old bundle. You might too!
Fun fact- this is where the original version of Celeste launched!
If you have the ability to help him a bit, I highly suggest pico-8.
It is a Lua console like IDE with facilities for making sprites, sounds, maps, with a basic SDK offering the expected routines you need for drawing, input, etc. I use it with my daughter (started when she was 12). The great thing is you move from programming to drawing sprites so it offers the kids a lot of variety.
It is undisguised Lua programming tho, so not as accessible as visual game programming environments, but kids learn very fast.
Otherwise, a game like Opus Magnum on Steam would introduce a child to the concept of scripting/automating and pattern finding, which are important in programming.
Have you considered using something like Pico-8? It's a "fantasy console", meaning it emulates older consoles, but lets you run it and code on Mac, PC and Linux. It intentionally limits you (for example, 16 colours, 128x128 px).
It might not be what you're after but I thought I'd mention it!
> But that's how most products work.
I don't think so. Purchasing Pico-8 gave me access 'to all future updates'. When I bought Sublime Text 3, I got access to all updates for this major version, and when the next major release comes along, it's an update, not a new purchase. It's similar for my purchase of Aseprite - I get all updates, until the next major version comes along - 1.2, 1.3, 1.4 versions updates are all included in my purchase. Those three examples are based on the tools I bought, I use and would not hesitate to recommend or buy again when the need arises.
Just nitpicking, but Pico-8 is actually a video-game console and not a game, and the original Celeste (now dubbed CELESTE Classic) was a game written for that console. The new Celeste just made an almost 1:1 port of the original game to play on the in-game Pico-8 console. :)
https://www.lexaloffle.com/pico-8.php
It's a fake console / development environment to make tiny 8-bit games.
Games or "cartridges" are PNG files with embedded data and are playable without paying for pico-8. You can play them with your browser:
https://www.lexaloffle.com/bbs/?cat=7#mode=carts&sub=2&orderby=featured
Yeah I get what you’re saying and to an extent I agree. There are a lot of things that I will always do hand drawn but there are a lot of things that I think look better as procedural. Fire, magic, energy, and similar things to what you have here always look better procedurally generated because in real life the particles would be blown around by wind and other factors and would always be different no matter how long you looked at them. Some things definitely look better done by hand. A good example is explosions. Procedural explosions can be hard to get right and often hand drawn will do. However, You just have to make sure you have several to rotate through. Done correctly though, procedural explosions can be amazing because they can react to the environment in real time and produce a much nicer effect. Things that will always animate in a repeating/predictable pattern like a rotating coin or rolling wheel, I would probably just hand draw. If you are interested in playing around with procedural pixel art, I highly recommend Pico-8. You can use it to make animations, music, games, pretty much whatever tiny pixelated thing you want. It’s easy to get started an learn and the community is amazing and always willing to help. There are a lot of people over there who are primarily artists and they have made some amazing stuff.
Here is the link if you are interested:
https://www.lexaloffle.com/pico-8.php.
Please note that I’m not affiliated with the creators, I’m just an enthusiastic fan 😁
My experience with it is that it is a breeze to use, unless you work with raw data files that are quite large (300+ Mb csv files or xml, etc..). Otherwise, even nodejs solution with its million files (not that much of a stretch) was alright, and loads better than Visual Studio, and that was about 3 years ago. Since then, I've moved to doing mostly python and kubernetes stuff, with a side helping of pico-8.
There is this fantasy console called "PICO-8" (https://www.lexaloffle.com/pico-8.php), where the in-browser player is also suffering like this. I had another computer that was a Windows 10 laptop with Chrome, which was playing the PICO-8 back just fine.
You can use the line() function to accomplish this. Every frame set the position and size of the line to match the path of the pixel. You'll need to create a new line every time the pixel changes direction.
I recommend reading and referencing both the Pico-8 Manual, and this cheatsheet whenever you have a question. These should be able to give you answers to most of your questions.
>As a person who would like to learn the basics of game development to see if it is something I would enjoy putting time into
If that's the case, start with Pico-8, and build a few small, but complete games. Define the scope, create the assets, have fun. See what game development is like, on a very small scale.
Game development is about creating a game. The faster you can create something complete, the faster you will see if it's something you'll enjoy putting time into. Something like Pico-8 or Love2d will allow you to create something complete in a month.
I tried writing an engine with pretty much the same idea (using a custom version of Lua instead of my own language) but I was never able to finish it. Designing and implementing all the systems, tools and formats to handle the many kinds of resources needed for a game is hard. Were you inspired by PICO-8 or HCGE? Your interface reminds me of those.
Pico-8 uses 8×8 as the default sprite size. You will find many excellent examples in games developed for this platform.
A good source of small sprites is Oryx Design Lab. I bought a couple of sets and it was well worth the asking price.
Does Pico-8 count as a weird game engine? It is designed to be a game engine, where Excel is not so it might not be what you are looking for. But it's limitations certainly make it an interesting engine to experiment in. https://www.lexaloffle.com/pico-8.php
This project is going to take time and cost... money. But it should be a fun experience :)
The only part I have no experience with will be 3D-modelling and printing the case, and manufacturing the custom switch plate (will have to hand-wire this one), so if anybody is interested in helping with that, I would love to collaborate on it!
A QWERTY version of the keycap template wouldn't be difficult to whip up either, once the original is done, to make it available for anyone who might want it.
If you haven't heard of the Pico8 fantasy console, it is rad, and you should check it out here.
Finally reached the point where I can showcase gameplay of my fangame!
The game is made with the Pico-8 engine, a fantasy console with limited specs. For all of those who are going to participate in the game jam, I can highly suggest this engine :)
I did notice I manage to mess up the spelling on the title screen...
It's less the engine, and more the game you're making that will tax your system. The trial for GameMaker Studio will definitely be enough for you to see how it runs on your system, and you can probably find sample projects to see how your computer handles it.
If you're new to development, and want a low-resource way to make them as a hobbyist I would recommend looking into Pico-8. It doesn't come with all the libraries and frills that more powerful engines come with, but that means you'll learn more about how the core of a game engine works.
Try this book. By the end of it, you’ll have five little games in Unity, and a taste for what making a game involves:
Unity 2018 Game Development in 24... https://www.amazon.com/dp/0134998138?ref=yo_pop_ma_swf
You will learn how to use a modern engine, which can be great! Also, it can be overwhelming to some folks.
Alternately, go to this site and click on carts. They are games you can play in your browser. Play a few.
https://www.lexaloffle.com/pico-8.php
They are on a virtual console with severe limits, so all you can do is make a game that is small in scope. Try the games in the Pico-8 Advent calendar. If you like ‘em, get Pico-8. You can look at the code and graphics of ANY of the games you find! Programming is in Lua, a scripting language. You can modify other people’s “cartridges” to learn what stuff does. It is a completely safe envionment that has tools built in, and no distractions. (Many of these are also on itch.io btw.)
But getting a small game actually DONE is the best thing you can do. Make 10 little crappy games. Learn your craft, learn if you like it. The community is small but very supportive!
I made 50 crappy little games before getting into the industry. Make something tiny like Galaxian or Pac-man. They really involve a lot, but a less than more complex games. And see if you really want to go to all that work.
Search for Pico-8 Hero Breakout on YouTube if you want to see someone program Breakout from start ro finish, and talk about the things you have to think about in making and finishing a game. Good luck!
I've had a lot of fun with PICO-8. It lets you jump in and create something fairly quickly with pretty simple programming concepts. It is $15 so it is a small investment. You can easily upload you creations for people to play and the BBS/forum is filled with other people's creations with full source code available.
Si il aime bien Minecraft, pourquoi ne pas lui enseigner la programmation avec Minecraft PI edition ? C'est un Minecraft simplifié qui tourne sur un Raspberry PI et qui dispose d'une API en Python pour pouvoir modifier le monde à la volée, pendant que le jeu tourne. C'est interactif et tu peux faire des choses assez simple. Le seul soucis est que ça marche uniquement sur un Raspberry PI, donc si ton frère a déjà un PC et tu n'as pas de Raspberry, ce n'est pas très pratique. Remarque, il semble exister des mods qui implémente la même chose sur PC.
Après, il y a Minetest, un clone de Minecraft open source que tu peux modder avec du Lua. Par contre, ça a l'air déjà un peu plus chaud.
Le mod ComputerCraft est cool pour l'avoir testé à l'époque, c'est une autre solution aussi.
Enfin, si jamais tu es motivé pour l'encadrer un peu et pour passer du temps avec ton fréro, PICO-8 est une plateforme sympa pour faire des petits jeux en Lua, même si c'est tout de suite un peu plus compliqué (documentation en anglais, API très très simple donc des choses un peu moins évidentes à implémenter comme la gestion des collisions)
Bon courage dans ta recherche ! Ce n'est pas les alternatives qui manquent à ce que tu peux voir !
Che figata! Il concetto di fantasy console l'ho scoperto col PICO-8, che avevo scoperto guardando video sul [CHIP](https://en.wikipedia.org/wiki/CHIP_(computer\)).
Il tuo gioco è carino come concezione, ma un po' troppo basilare e diventa noioso rapidamente. Io aggiungerei qualche tipo di sparo che possa fare il picchio, e magari qualche bonus o varietà di palloncini. Poi, è facile dirlo quando non sei tu che programmi... :D
I suggest picking up a copy of PICO-8 and settling in with it. It fits pretty much exactly the spec you're going for(low res, limited color pixel art), Lua is a language worth knowing, and there are plenty of examples to learn from. Celeste was prototyped in it. Because PICO-8 puts intentional restrictions on source code size and execution speed the code is forced to be clear, direct, and fast, not overcomplicated with features, which is good for learning gamedev specifics and quickly getting to the design aspects and scoping out the real focus of your project. When you say you'll make a game, it's more than a programming journey - it's all sorts of things, skills that don't even have names. Once you have a prototype, you can make technical decisions for a larger scope with some more confidence.
And if you are still thinking in terms of doing the big game first, I would try to build on open source toolchains so that you are not impacted by corporate decisions. C++ is one way of doing it. Godot is also a fine option. And I worked with OpenFL for years and would do so again.