Diary of a Game: Part 0 - Genesis
Here is the first screenshot of a new game I'm working on - awesome eh? Wait, don't walk away! It'll get better, I promise!
I've spent the last 23 years working in the games industry and at various points I've attempted to muster the motivation/energy to create a game in my spare time. Only one of those (a simple iPhone game, no longer available) made it through to the end and even that took way too long. The reasons for the slow/non-existent progress have typically revolved around being swamped with work, being overly ambitious and getting distracted by new shiny things.
Will this one be any different? I would like to think so. Yes, I've chosen to start this right as my work is entering the most intense, crazy phase yet... so perhaps I'm being a tad optimistic. But as I've really gotten back into the Amiga and C64 scenes over the past year or so, they've become a genuinely positive respite from the craziness of my job. Starting with a C64 game also means a lot of constraints - and constraints in game dev can be a very good thing! As far as the game itself goes, it's hardly original - I will admit it's probably not entirely clear from the screenshot, but it's going to be a match 3-y/tetris-y/puzzle bubble-y kind of a game. I'm hoping that will mean I can keep things reasonably simple and focussed.
While I did have a number of fond years with my C64 back in the day, I never really did a whole lot of coding on it. I'm not entirely sure why - I guess playing games consumed most of my time. It wasn't until I had my Amiga and met a Swedish bloke at university (as you do) that I really started getting into assembler.. and the rest, I guess, is history.
So why not do an Amiga game? That's a good question. My 68k is definitely rusty (though it is amusing how quickly one starts to recall the hardware registers), and the more limited nature of the C64 is appealing - plus it's a chance to learn something new. One other factor is that the 64 scene is really flourishing at the moment - a lot of people creating awesome projects. Things are a bit different with the Amiga scene - I'm not sure why exactly, but I figure give it a couple of years. Oh, something that has really struck me about 6502/6510: holy crap the 68k was such a huge leap! I had no idea just how good we had it.
My intention is to post an update monthly... we'll see how that one goes.
Around the time I started contemplating this project, I discovered Michal Taszycki's excellent video series, 64bites. Each video lasts only around 5-7 minutes, but they go at quite a pace, cover some pretty hardcore topics and if you factor in the exercises (which I highly recommend doing) then you're looking at 30-60 mins a pop. I'm not the sharpest tool in the box, so it's quite possible most people will breeze through them a lot quicker.
Old school game dev Derek Morris recently published a book on writing games for the C64 - I only bought it yesterday, so haven't had a chance to get stuck in yet but it looks like an excellent introduction.
Here are a few more useful sites if you're curious about giving it a shot yourself:
- 6502.org has a tonne of great info, for example this tutorial on the compare instructions (is it just me who gets these wrong at the first attempt nearly every time?!).
- The C64 wiki is an excellent reference, e.g. the C64 character sets and colours.
- This site has a load of old C64 books.
- If you're wondering if someone else has already tackled a specific problem, check out Codebase 64 which has a bunch of source code (incl sprite multiplexers), tutorials and more.
- A good rundown of key algorithms for the 6502.
- If you're looking for a quick intro to 6502 assembler, check Assembly in One Step out.