_ __ __ _
(_)__ / /_________ / /________ _______(_)
/ / _ \/ __/ ___/ _ \/ __/ ___/ / / / ___/ /
/ / __/ /_(__ ) __/ /_/ / / /_/ / / / /
__/ /\___/\__/____/\___/\__/_/ \__,_/_/ /_/
/___/
(Originally posted to Cohost on Sun, Feb 4, 2024, 11:42 AM)
EDIT (2024-05-12): I noticed this is still getting attention, so I rewrote it to be cleaner and up-to-date.
So, I want to develop games that can run on many platforms, preferably demakes of games I love. TIC-80 was a really sweet spot, but I stopped using it. It hasn't been ported to much, and it was too heavy to run at full speed on my original 3DS.
So, after playing the Indivisible NES demake on my 3DS, I've decided to target actual retro machines. Develop a Game Boy ROM and you can run it on anything with a GB emulator, and GB emulators have been made for everything, even a 1981 IBM PC.
First question is: what am I going to develop the games in? Well, what I've learned:
C if you aren't comfortable with assembly.
GBDK-2020 is great for Game Boy games. For most other consoles I've seen, updated docs are scarce, and the best C compiler for 6502-based hardware is LLVM-MOS as the rest are too slow for real-time software.
If you're new to C, there are many great books like A Modern Approach and K&R C. LLMs like ChatGPT and offline alternatives can be used for a new concept, but always remember to take it with a grain of salt.
It's required to know the hardware on a lower-level so you may wanna brush up on some basic assembly. I found it fun at times after getting used to its syntax.`
The best resources I've found were Machine Language for Beginners, Easy6502, and Nerdy Nights.
You may need to adapt the instructions to your chosen assembler (for example, some use ".db" while ca65 uses ".byte").
Ever since learning 6502 assembly, I've gotten very interested in the idea of "pen and paper computing". Like the WDR paper computer or the CARDIAC. Instead of the processor following the instructions, you are following them.
If I'm not wrong, even Devine of the Hundred Rabbits collective (responsible for the uxn project I've discussed) considered paper computing.