Another week, a bit more NES Game Development Completed!

So, this week I managed to  add a bit more to Flap Happy. Some of it obvious, some…not so much.

Firstly, there’s now some semblance of a background, just some simple dungeon walls in a loop but it was more the journey to getting them working that proved the interesting / challenging part. Y’see, It’s all down to how I have the levels generated….

  1. Firstly we fill the room with spikes.
  2. Put some verticals up on either side
  3. Then generate paths from left to right with varying heights.
  4. Then, and only then, do I actually draw the blue dungeon blocks, where the plain black spaces were.

Which is kinda backwards really when I think about it but hey. It works, I’ll take that.

The next issue was that of filesize.. The ROM image is 8kb too large for an NROM256 cartridge which should comprise of the following:
a 16 byte header
2 x 16kb PRG-ROM banks (Where the games code appears)
1 x 8kb CHR-ROM bank (Our Background and sprite tiles)

That should total up to just over 40kb…But that ROM says it’s 49kb. That can’t be right!

After a bit of puzzling with the NESASM3 compiler and messing around with my code banks to no avail I decided to just load the ROM into a text editor to see what was going on and, sure enough, 8192 blank characters at the end of the ROM file, doing sod all.

A quick deletion of those and (fingers crossed)… The game still loads and runs just fine, 40kb (well plus 16 bytes of header)!

The next issue is that regarding the generation of platforms in-game. Sure, they’re all positioned nicely now but, they shouldn’t all be active at the start of the game.

Thankfully, I have a fair chunk of zeropage RAM available to me so I’m storing the screen positions in memory… in memory. Yeah, I know. So, this weekend I’ll hopefully have that side of things sorted and some more obstacles can be placed for next week!

In the mean while, here’s some initial box art I’m playing around with, it’ll change a lot through time I’m sure.


Right, back to the code!

Why code NES games in ASM in 2018?

So, there’s a few reasons as to why I’ve chosen this for 2018:

The Challenge
There’s something about learning a new language, one that’s so different from anything I’ve learnt before, delving deep into the NES registers seems like a fun thing to try out also.

It’s The First “True” Console I owned
Yeah, like most kids I wanted a NES for bloody ages before I could place my tiny mitts on a controller, heck , I even remember the guy at the store attempting to sell me a megadrive instead back in the day, but my love for Megaman 2 from play sessions at my cousins house meant that simply wasn’t an option for 8 year old Ryan.

Even then, I wanted to make games for the console and would happily spend hours drawing out sprites on graph paper, even cutting out and drawing up fake cartridge boxes for games that I wanted to make happen. A racing game in the style of F1 race for the gameboy ( Turbo Racing on the NES was a regular favourite also back then ) and a platformer involving some fairly Mario-inspired little characters.

NOSTALGIA BE PRAISED!
Yeah! There’s a big chunk of nostalgia going on here, childhood hopes and dreams which never really left me. This year is certainly the year to accomplish them.

Now If you’ll excuse me, it’s back to the code for me 🙂

Wish me luck!

Ready to Gameboy Jam through Ludum Dare 34

 

Well, with Ludum Dare #34 Just around the corner, under 12 hours away as I type this out, I’ve been preparing myself to put together a Gameboy Game in Under 48 Hours, based around a theme. Which I’ll discover at 2am.

So, what am I doing to prepare for this then, huh, huh?

  1. Clear some space around me in my lil home office so I’m not being distracted by clutter.
  2. Made sure I have made a gameboy game recently,in a small amount of time, so I’m not going in to this completely blind. You can play it on your Gameboy here, it’s a tough space invader clone and didn’t take too long to make, just a bit of time to debug. GBDK is funny with variables sometimes!
  3. I Managed to write myself a handy tool to make sprite creation easier, meaning I can now use photoshop, export to PNG, run it through my tool and out pops the relevant data for both GBDK and it’s Tile editor program, I can see that saving me a bunch of time and allowing me to make more complex sprites a bit easier! I’ll pop this online at some point, just not right now though, time is pressing!
  4. Probably grab a bunch of snacks later on tonight for easy eating. Not too junky though!
  5. Most shocking of all, I’ll be getting myself a decent nights rest, so I can make sure I’m not going to burn myself out over the 2 days, I love game jams and everything that goes with them, but yeah, sleep, that’s important!

Why in the hell am I making a Gameboy Game? Why Not Use Unity. Unreal / Something else?

Haha, yeah, I’d normally be a Unity bod for any Gamejam, but, what with my recent endeavours with GBDK  and Gameboy Development I wanted to see what I can make, from scratch, in 2 days. I’m not expecting my entry to fare particularly well in comparison to other games out there, but, this is just for the joy of game jams!