2018 is here and so is the year of NES Development in Assembly!

So, happy new year, I haven’t updated the blog in ages, my bad. A few things have happened since the last post. Christmas, Halloween and my beginnings of learning NES Development and the lowest level of language I’ll ever attempt to learn, ASSEMBLY (ASM)!

I attempted some ASM on the Atari 2600 a year ago to little success but decided, after a chat to the guys at Mega Cat Studios, to give it the college try.

The first 2 projects started and finished without really finishing, but that’s to be expected really, it’s a new language to me and I’m still learning a lot about it. Needless to say, it’s a lot more involved than C, as you’re dealing with the raw bytes and nothing else, which feels stark compared to anything else but I’m ableto understand a lot more of it now and feel that game #3, a port of the amazing Flapadiddle by Jayenkai, will be a worthy first completed game.

The first 2 games, taught me a lot about ASM and gave me some guidance as to how to organise my code as well as how backgrounds and palettes work. So, I put together the beginnings of a port of Invasion VS from my days of OUYA coding which got a fair way, then btibitjam came around so I decided to take what I’d learnt and put it into a gamejam.

invasion vs - nes eidtion - homebrew attempt #1super floofy sheepie - homebrew test #2 To be blunt, it didn’t work out, I ran out of time and spent most of August feeling pretty downbeat over everything, eventually picking myself up again mid October to retry again, but with the task of creating a procedurally generated game.

This meant creating a seeded linear randomiser in asm, that produces reasonably random, set values. After a while of researching I came across a simple one for 8-bit values which simply multiplied by 13 and added 1.

After protottypinmg some levels in PHP and GDLib I felt ready to tackle this in ASM and so far we have the following.

It’s actually playing pretty well and works in both emulator and on my PAL NES, there’s lots of features I want to add to this game and so far, it only has 5kb of game code out of an available 32kb, so ,there’s lots of scope available.

Each level is procedurally generated with a seed based on the internal framecounter and, whilst the platform placement still leaves much to be desired (and coded in properly) It feels like the game I’ve loved playing for a lot of last year.

You should check it out by the way, it’s both FREE and awesome [Download Flapadiddle]

More updates on the way.