Spellcaster Studios

Make it happen…

Better late than never!

Well, although there hasn’t been many updates on the blog lately, I’ve been working like a maniac both for DayJob and for my games!

On “Chrome Hunter”, I’ve added one million different things, for example:

  • The player can now jump and fall
  • Jungle planet was refactored to look better, with lakes and riversscreen33
  • Added a statistics system to help me balance the game out with the testers
  • Refactored all the AI system: now I use a state machine, which allows me for more complicated AI… this will also allow me to build different types of AIs
  • Added support for Recast/Detour, so now the robots don’t get stuck anymorescreen38
  • Added a special “hologram generator” equipment, which places decoys that follow the player… Unless the player attacks the enemies directly, they’ll stick with the decoys; this was only possible because I can have different AIs now, and because I can easily implement a follow AI, with the navigation mesh and pathfinding.screen40
  • Added a virtual resolution system (which rescales the UI for different resolutions), and a dialog at game start so you can choose the graphical and sound options.

screen42

So, a lot of work got done…

The pathfinding part in particular was very useful. On “Grey” I’m using just straight navigation through the center of the nodes, but that looks terrible… my idea initially was to use the DetourCrowd module to have better movement, including movement with a lot of agents that would avoid each other… After looking into the documentation, and its limitations, I decided against that, and I implemented (on “Chrome Hunter”) a system that does string-pulling for getting a steering vector for the agents, and then using that in combinations of a “boid-like” system that makes the entities avoid each other. It needs a bit of fine tuning, but with some more conditions, I might have the ideal system for navigation on “Grey” as well…

Add that to the fact that I found out how to use the navigation queries properly (to allow for things like make the agents avoid water unless it’s really to their advantage, and to open/close areas), and I’m quite happy with the learning experience on “Chrome Hunter”… I’ll really put that to good use on “Grey”!

Since not everything is rosy in gamedev, I looked into device recovery for the “Chrome Hunter” codebase… Basically, when you alt-tab a fullscreen application, Windows fudges the graphic resources, and the graphical device gets into a “lost” state… to reset it, you have to release all video resources and reset the system. On Spellbook, the system was built with this in mind, and everything goes smoothly, but the “Chrome Hunter” framework is a bit anarchic, which means that doing this will be a nightmare…

The good news is that this is really only a problem for DirectX 9 (think 10 and 11 don’t suffer from this)… OpenGL doesn’t need this at all, since by design it handles this automatically; since I intend to port “Chrome Hunter” to Linux and Mac, I’ll need to port it to OpenGL, which means the problem will go away then!

I’m still having a lot of ideas for the game, and I have to do my best to keep them in check, or else I won’t finish this game anytime soon!

Finally, since I have a spawning system with a nice follow system, here’s a screenshot of about 30 or so holograms running around:

screen41

Was surprised the system managed to hold up without a significant drop in frame rate (it’s a lot of navigation queries!)

Comment