Monday, March 25, 2024

Bool, Firefly, Breakout Velocity

A long day updating Bool, one of my oldest games, but rather a good one. The code and general way it works is so old (circa 2002) that much of it works differently to my latest engine. It used DirectX8 (Trax used DirectX7) but the text routines and sprite handling, which are core parts of the game, need completely refitting. There are lots of inklings of future changes, particle systems, text file handling etc. but every is so old that it can't really be update, but must be replaced, then the program adjusted to the new way of working.

Just getting the code, made in Visual Studio 6, to run on Visual Studio 2022 was hard enough, that took an hour. As a result, I decided to update Firefly and Breakout Velocity at the same time. It would probably be more efficient to do this now, so that I know what problems to expect and what fixes to make. There is a sequel to Breakout Velocity called Fallout but the changes between the two are so small that it would be easier to adapt Breakout Velocity than update the ancient Fallout code. Breakout Velocity is as old and difficult as Bool, though Firefly is a little more modern.

Step 1 is to convert the audio to wav and the textures to dds format. Then, getting the correct libs, directories and Visual Studio settings so that it will get past the first pile of compiler errors. That part is easy and done for all games, but none will run yet. I think it's because the old Ogg Vorbis libraries don't work; I had to remove them sometime after 2012 because they crashed whenever I used them, and never worked out why except that they were the cause.

After 8 hours work, the 22-year-old Bool still isn't in a state where it will compile, but I'm making steady progress.

I've no plans to update and release Firefly or Breakout Velocity, but it will be a worthwhile job to get to the stage where these will work with their original graphics and sound.

After this, the only other games of mine which aren't available or working would be Arcangel (which is 2D, this might make it easier to update), Trax, which is so old it uses a prototype of my game engine. That game isn't great either; it would probably be faster to re-make the game from scratch rather than try to update its 3D engine. Finally there is Outliner, which was updated in 2015 and compiled on Windows 8. As a result, that game should be relatively easy to update.

I expect it will take all week to get all three games working to a basic degree, and perhaps another week or two weeks to update Bool. I need a new name for the game I think, as 'Bool' is so common that people may struggle to find it even when they know about it. That can wait.