Chrx Development
 

Thursday, June 20, 2002
 I've been thinking of rewriting the base engine a third time as it is still not as flexible as I would like, and I have been reading some of the articles in Game Programming Gems that have given me a few ideas to incorporate into the engine. I am attempting to design a decent engine that will allow me to port Paradroid but at the same time potentially handle games such as Repton 3 (BBC) and Flood (Amiga). Perhaps I will when I have the time - I would like to incorporate better data files, scripting, texture management etc.

I've also been considering enhancements that I would like to put into my version of Paradroid when the engine and basic game is done - I am considering these now as I want to be able to build features into the engine whenever possible so I don't have to rewrite portions at a later date (which is probably inevitable anyway). What I would like to see is:

- particle-based effects such as smoke and explosions
- reasonably intelligent robots that implicitly know the layout of the deck but do not necessarily know where the player is until they spot the influence device. The robots should know to make for the recharger when damaged and chase the player when they are in the position to.
- larger decks to compensate for the larger viewport.

I really like the way that Yak does the over-the-top explosions in Deflex (see Llamasoft). I would like to incorporate this type of effect into the engine which may not be used in Paradroid but it might be good for games like Flood or Repton. I have some ideas on how it would work which I might post later.



Wednesday, June 19, 2002
 I have managed to resurrect Dr Nutz, a site a friend and I wrote years ago to emulate a particularly annoying colleague at a company I used to work for...




Tuesday, June 18, 2002
 Since I have just started this log I will recap the progress of Paradroid to date, as I have kept some rough notes from the start of the project almost 6 months ago.

14-Jan: Decided to create an engine to enable the easy conversion of my favourite C64 and Amiga games to Windows, starting with Paradroid. Completed the DirectX 7 setup code, timer functions, basic tile functions and rendered some tiles to the screen from static test data. A successful test.

Successful Test


15-Jan: Thought about the best way to get a test level into the game. Decided to write a tool to extract a tile set and map from an image to create some test data until a level editor can be written. Spent ~3 hours creating a bitmap of the first deck in C64 Heavy Metal Paradroid by compositing screen grabs from Vice. The tile extractor will subdivide this image into a grid and create a single image with only unique tiles in, along with a map of indices to the tile image.

21-Jan: Investigated using libpng to load png format images for tiles and sprites, spent a few hours messing with dibs and palettes to not much avail. DirectX 8 contains a nice image loader in the D3DX library but that would mean a lot of changes to the code. Rewrote a majority of the C code as C++ classes to facilitate easier code maintenance.

22-Jan: Ported the code to DirectX 8 using D3D and the D3DX library - relatively painless using the new C++ code base, mainly changes to my GameEngine class and my Tile class. DirectX 8 is nicer to use than earlier versions as most of the interfaces I need work at a higher level. Plus I should now be able to use hardware accelerated features for effects such as smoke. The increased system requirements are a factor but as this game will be for my personal use only and not released, it doesn't bother me much as its the techniques I am more interested in learning (plus I can have some fun on the way).

Feb - May: Busy with work and undertaking some courses at Game Institute. Rewrote the engine again during this period and messed around with some PocketPC stuff after being inspired by Yak. Go now and buy Hovver Bovver 2 and Deflex :)

12-May: Created the level extraction tool, built the test map and tile data.

13-May: Started a new project with the new game engine, added in the basic tile class developed in January, rewriting most of it in the process. Coded a rudimentary loader and tile map decoder to test with. The level rendered perfectly. Started working on the map-item type things, managed to get animating tiles working on the map.

Test Level


May-June: Implemented smooth scrolling, the engine now scrolls the map around. Its good to see the old Paradroid data on a large window!


 Sometimes things I have to use for work really bug me. SQL Server Enterprise Manager, for example seems to be the most ill conceived program I have ever seen. It really looks like it was put together by the work experience kid on the day of release, with some windows (ie stored procedures) modal but others not. Any why the hell does it have to pop to the front when a new window opens in it?


 Found a couple of hopefully useful tutorials ;)

Genetic Algorithms
Neural Networks



 Well this is the first entry in my new blog - I am going to record my thoughts during the day as well as the progress of the game engine (and game) that I am currently developing in my spare time. The game is a clone of Paradroid but at this stage I am working on a flexible engine that will provide the features that I need.

Watched The Thin Red Line last night - great movie, long too but tense the whole way through.

Started doing some readings about neural nets, I am hoping to use some advanced AI to control the robots in the game, but we'll see.






FastCounter by bCentral