Wednesday, March 27, 2024

Breakout Velocity Updated

Another busy day of programming. I realised last night that Yinyang actually used DirectX8, an older version of my game engine. I didn't bother to do a full upgrade to my latest engine (which is also out of date anyway, DirectX9, but many other parts are newer). Ultimately, the DirectX bits are for setting up the video and audio, with the game parts being generally the same anyway.

This realisation was good news. First, it meant that an upgrade of Yinyang is largely not needed (though there are things I could update, like the new Options system). Secondly, it reduced the pressure for updating Breakout Velocity to the same degree as Bool; I could do a small Yinyang-style update, so today I did this, retaining its DirectX8 core, and simply updating the other aspects: the start-up and error processing, the options, the main loops.

In effect though, I still needed to swap a lot round. I'm blessed that Yinyang was available, as most of its code could be slotted in. At around 4pm Breakout Velocity ran for the first time in over 10 years. Here's a look at 1280x720:

The screen is stretched. It doesn't have any of the fancy aspect ratio processing, but it does now support wav audio and dds textures, plus the new options regime, new report/error processing, alt-tab and screenshot support, and the stable video and audio initialisation of Yinyang and Radioactive (both are DirectX8-era games).

I couldn't get additive glow to work on the objects, this may be a problem for Bool too. I think that its connected with the render order of objects rather than anything fundamental.

As a game, Breakout Velocity is still rather good. It's different from a plain Breakout clone in two ways. First, the wall slowly descends like the block of enemies in Space Invaders, and secondly, lone blocks (blocks without an adjacent neighbour) will fall down and possibly smash into the player. There are plain blocks which are destroyed with one hit, some metal ones that need a few hits, and indestructible 'gold' blocks, and that's it regarding special blocks. There are also no pickups or special abilities other than bonus points, which drift down like glittery fireworks.

The game is sufficiently fun to merit examining upgrade possibilities. It already has bags of short-term playability but it needs much more in terms of plot, depth, and features.

For now though, I'm pleased to get it working. I've no plans to release it anywhere for now and will muse on what to do with it. There's no point in me updating it's sequel Fallout Velocity, as that game is so very similar. In that game, all blocks fall when hit, the music is a gentle version of the same tune, and the background shapes are different, but that's it.

This evening I've got back to Bool, and have fixed that 'horizontal bar' bug; it was a faux-ball. I need to re-texture all of the graphics so that everything is sorted correctly, then create a new font. I estimate that by this time tomorrow, the classic game, but with my latest engine, will be up and running.