I have been working on the copying, compositing, and pixel-shifting drawing routines, starting in Z80 first. The latter was a mild pain to convert to Python, due to the absence of native bitwise rotation, but the net result is that the new graphics in the virtual machine are generated by manipulating memory buffers alone. Speed aside, it's close enough to how this will be done on the real old hardware.
In the process I rediscovered that, with regards to bitwise alpha blending, the mono value of transparent pixels does matter. Which was an easy fix in itself, but one that did cause the image compressor to actually expand empty areas. How I laughed, eventually.
It turns out that the chunky rendering approach, the one using 2x2 pixels to loosely imitate teletext, wasn't right for this game. Part of my original motivation was to allow more backgrounds, but I am now confident that careful repetition of building blocks will provide similar value for memory.
The actor graphics have also grown. By, in effect, zooming out, they remain close to their original scale, in which they are dwarfed by the backgrounds. That serves my aim of the spooky old house being the real star, or at least sharing top billing.
Perhaps most importantly, I am now fairly sure that I can draw four actors at once without things slowing to a crawl. It was a huge, scary step down from the ten that the smaller graphics and blockier movement would have allowed, but now it makes sense. Two smart opponents can more easily trap the player than a conga line of dumb ones.
The trick will be making opponents believably smart, rather than telepathic, which brings me to my next big task being to implement some kind of navigation mesh. I think the player will be constrained to the same mesh, but I can't be certain until I build and test one. Moving around needs to feel good.
This all amounts to there still being nothing playable, but that's not causing me to panic quite like before. For now, I'm quite happy to be adding little things that make development smoother, like hash checks to prevent recompressing unaltered images, and a screenshot key. In fact, I'll even tempt fate by saying that there will be more to show you next time, beyond my typical wall of pure text.
Email: comments at arbitraryfiles.com