Back with some more bug fixes

I’ve got a temp job lined up for Monday, so I can relax a little bit..

I’ve been fixing a few bugs:

  • Dismounting bug now fixed.
  • Mouse button is now checked to see if it’s being held down instead of just clicked.
  • Added check to skip over Independent movement turn if there are no generators or Independent creatures on the board.
  • Made it so pressing Escape exits through a menu gracefully, and also exits the game from the title screen.
  • Added “Magic Resistance Attack On Wizard” options – No Effect, Destroy Strongest Creature, Destroy all wizard creatures. This now works ok for human wizards, but needs more AI testing to make sure AI takes proper advantage..

Chaos Groove Demo no. 4

A new demo is now available, featuring some pretty basic menus which can let you choose several different game settings, including different board sizes, added board features, different wizard stats and random wizard names.

I’m a bit tired to list everything in full, so have a play and explore some of the different options. Progress has been patchy lately because I’m getting ready to go back to full-time work. But I thought a new demo would be nice.. 🙂

http://www.reflectedgames.com/ChaosGroove_Demo.zip

Progress will continue to be slower than before I’m afraid, but will continue..
Richard

Some good news

Some good news though (after my bad news post below).. I’ve been working on some more menu options which will let players choose how the game plays.

Here is the very large board option being used:

Chaos Groove Screenshot

Bad news

I’m going to have to go back to a full time job in the next few weeks or so.. That means progress will slow quite a lot I’m afraid. One reason why I was trying to get as much done as possible while I had the free time..

Menus

I’ve been working on adding in simple menus in the game via the config files. To help with this the menus are now fully data driven from the config files. So there is no setting up in code of the various menus, it’s all done with the config files.

This has advantages and disadvantages and I may have to break this pure data driven approach for some menus.. I’ll see.

Progress has been slow today, not very motivated at the moment. I may not keep doing a blog update every day as it’s pretty demanding. The main game is almost done anyway.. I’m not going to stop development, just that progress may be slow or consist of less visible work.

Wizard Selection Screen

I now have a basic, but effective, Wizard Selection Screen in place..

Chaos Groove Screenshot

This uses the new config files to read in the wizard_options.ini file and use the text information held in there for the menus and to directly set up the wizards. Unlike previous menu systems I’ve written, the information is not transfered into seperate menu variables, but parsed directly from the text each frame. This might be too slow in a fast paced arcade game when used ingame, but for Chaos it’s not going to be a problem. It will also make it easier to code in new menu options and process them as well. In addition, the variables in the text can be used to deal with how the menu options are shown on the screen to some extent.

Unfortunately, my strengths do not lie in clean, modular, reusable abstract code like menu programming. So, the code is a bit hackerish I’m afraid, but is mostly data-driven and is effective. 😉

The next demo release will let you pick a combination of wizards (human, computer or off), as in Chaos Funk.

Config files

The next step (apart from bug-fixing), is to add better support for config files. More specifically, to allow the game to load in config file data, modify it according to menu options and resave the file to disk (while keeping the easily understandable text names).

Unfortunately, PTK does not have any ability to change config file data, or a save config file function. To make it worse, the text data is stored as a private type of data in the IniReader class.

So, I’ve had to write my own versions of the config file functions, which means I can now change a variable within the text data and then re-save the file (even if the variable data changes in length of characters). This also lets me put better space detecting in the config file routines, instead of trying to work around them by stripping out spaces before passing to PTK (hence the underscores in some of the config files instead of spaces).

I like PTK, and I’ve suggested a few changes and bug fixes over the last few months, but progress on those being implemented by the author are slow unfortunately..

Anyway, now that I can properly integrate text file variables I can start to put in proper menus to allow the player to change game settings either via a text file or ingame. I’m still debating the format of how the options should be stored and displayed in various menus..