Thursday, 9 July 2020

Shelter in place!

The shields are now rendered in the correct location on the screen. As planned, the code now buffers the complete 512-byte area of the screen containing the shields. So whilst the rendering into the buffer is now more complicated, the save/restore is a simple block copy. This is in contrast with the original code.

However, now I'm not 100% sure that this won't cause graphical glitches if there's another object (eg player laser) in the shield area when the player is hit. In theory the laser will be saved and restored and become another 'shield'. Which means I would need to store a copy of the virgin shields as a mask... arghh...

This is getting more complicated than I ever thought it would be.

I've also introduced a few more graphical glitches, most notably in the explosions, which I simply cannot explain from merely updating the shield rendering at all.

But with the shields done now, I think all that remains is to review dead code, revisit all the alignment issues (absolute locations on the screen) and then fix the graphical glitches one-by-one. Once all that's complete, all that remains is to reposition the score (and credit text if required) and maybe then think about adding some rudimentary sound.

Until next time...

2 comments:

  1. I was so (positively) surprised at your sudden burst of updates this summer, but then sadly it stopped again soon after.
    How are things going? Are you okay? ... are you working on anything these days? :)

    ReplyDelete
  2. It all comes down to a general lack of time that makes it hard to get on a roll and make any progress. With a young family my priorities have shifted and I also find myself with less (mental) energy to devote to retro projects such as this. So no, not working on anything else these days, which is a bit disappointing when I think about it, but it is what it is.

    Space Invaders is only one of several porting projects I have started and not finished, including Asteroids and Donkey Kong. I also have other plans for Asteroids and Knight Lore IP that, TBH, may never eventuate. There are other porting projects I'd like to take on as well, and there's also my FPGA projects languishing in various states of completeness.

    I still cling to the hope that I'll eventually get time and motivation to take it all up again. But for now I get time to play a few retro games with my kids and that's about the extent of my retro hobby. My 8yo daughter can school me on Rayman Origins and Rayman Legends, not to mention kick my butt effortlessly on Wii Tennis. Won't be long before my 5yo son can whip me on SNES Super SWIV...

    ReplyDelete