I finally found some time to do some work on Lenna’s Inception this week!

My major achievement was overhauling the code for sound effects and music, which has been bothering me for a long time. The game would stop playing sound after a seemingly random amount of time. Threads writing data to SourceDataLines would block for no apparent reason and linger until the player quit the game. Apparently I had simply omitted the code to choose a mixer!

A lot of feedback I received for version 2^-31 concerned the boss fight. The boss was clearly too large, and it didn’t behave in an intuitive way, so I’ve cut it down to 2/3 of its original size, and it will now be stunned for a short while after bouncing off a wall. Screenshots and video follow. (There’s also more text afterwards…)

I’ve also been working on an as-yet-unnamed project on the side for a little while. I’m tagging it ‘nostalgia’ for now. It sounds a little bizarre, but if I see this through, I will create a game where you literally exploit glitches as part of the gameplay.

Part of this requires having a safe, fault-resilient VM to run the game in, so I’ve designed a minimal fixed-width 8-bit instruction set, and coded a simple assembler, disassembler, emulator and debugger for it. Peripherals (for graphics and input) are memory-mapped. In some respects, the architecture is similar to the Gameboy, but it has a lot of differences (e.g. no interrupts, etc.). The only major feature the emulator is currently missing is a sound chip.

I’ve started coding the game itself in assembly, but I haven’t got much further than a couple of title screens and sprite / input tests.

blog comments powered by Disqus