Sorted the scrolling inertia problems last night, the scroll now works the same no matter what the speed of the main loop. Fixed a problem with the input thread where it appeared to keep running even though it should have stopped before the application quit.
Started thinking about how I am going to implement the collision maps for the levels - my brain hurts!
posted by
at 10:19 AM (Link)
A mammoth session last night yielded a number of enhancements to the engine:
Map tiles can now be filtered using an ARGB value, allowing me to easily dim the level when there are no more robots present. Played around with this for a while including rendering the map multiple times over using reds, blues and alpha values to produce what looked like the old red-blue 3d glasses stuff :)
The scroller now has inertia which feels just like playing Paradroid in VICE - this is not the final implementation but it gives a good feeling of progression. The final implementation needs to take into effect the elapsed time since the last update to ensure that the scroll runs the same for all breeds of PC. I prefer to do this rather than just throttling the game to x updates per second or whatever and it means that more powerful machines will benefit by being a whole lot smooother.
A new texture-based text writing class was implemented along with a font manager class to handle the allocation and destruction of the fonts. Finally, I can output data onto the game window rather than breaking into the debugger and examining the state of variables from there.
So the first order of the day is to back up the code to CD before XP decides it will corrupt the hard drive and then I have to do some work on a crapola VB application for my real job. I have some good ideas to implement for the sprite handler later today.
Listening to: Nine Inch Nails "Still"
posted by
at 10:38 AM (Link)
Note that in the screenshot below the tiles have been expanded in Paint Shop Pro to fit the new size for the engine, custom graphics will be able to use 64x64 pixels at 32-bit colour.
posted by
at 6:42 PM (Link)
I finished updating the texture manager today and got the scroller working as I want it to. I increased the tile size to 64x64 to allow for more detailed graphics, as the original 32x32 ones were a bit small. The level now looks a bit more cramped than the old one and feels a bit better.

Next up will be the addition of sprites to the game engine along with collision maps for the tiles and perhaps even fonts so I can output information to the screen.
posted by
at 6:37 PM (Link)
I have succesfully ported the existing code to TinyXML and converted the data files from the crapoformat that they were in into the new XML schema. The code is much neater now and as a bonus the XML data files are nice and flexible.
posted by
at 2:54 PM (Link)
Right, started putting in proper configuration file support using XML for the data files. I am using TinyXML as an XML parser as it does all that I need with a small footprint (http://sourceforge.net/projects/tinyxml). Using XML for the data files will allow me to easily code the different game editors to write in the correct format.
Listening To: Mike Oldfield "Tubular Bells"
posted by
at 11:50 AM (Link)
Currently Playing: Gridrunner++ by
Yak.
posted by
at 4:55 PM (Link)
Well I have started work on the engine again, adding a singleton class based on the techniques presented in the "An Automatic Singleton Utility" gem from Game Programming Gems. This will be used as part of the new texture manager as well as the other object managers that haven't been implemented as yet. Bought Gems 3 from Amazon but I haven't had time to read too much of it.
Started using C# and the .NET framework for work, I might implement the game tools using C# which should be faster and more robust than if I am to build the tools from scratch in C++.
Listening To: Pearl Jam "Ten"
posted by
at 4:54 PM (Link)