Thursday, July 17, 2008

Sneak peek at arena 0.8

I've set up the challenge system in Arena pretty quickly. It was the occasion to clean the code that was leading to astronaut spaghetti after the quick and dirty development of the custom fight mode... The challenge mode is not yet finished, and things may still change until the 0.8 release.

Challenge selection screen

This is the challenge screen where you can see all available challenges, and which one you achieved. Some challenges can have scores. For the time being, I've setup only 3 challenges with 3 different gameplays :
  • Goblin hunt : you have to win your fight before the time limit. If you succeed, you can try and improve your time.
  • Fire dance : your health points shall not decrease beyond a certain limit.
  • Infestation : you have to kill at least n creatures in a limited time. If you succeed, you can try to improve the number of creatures killed.
Infestation - Rats have never been so dangerous...

All those different game rules have been added pretty easily thanks to a pluggable module system : the game engine handles the core game rules (display the arena and panels, creatures AI, ...) and every specific rules are implemented in small independent modules. Each module handles a specific rule. There is a "time limit" module, an "enemy count" module, ... Even the demo AI on the title screen in now implemented in a "demo" module. When I start a game, I choose which modules I enable. This is really flexible and, I hope, will allow me to experiment and create lots of interesting mods for the upcoming versions.

I also added a few eye candy. Now the arena cast shadows depending on the time of the day. You can see here the same picture in the morning (left) and later in the afternoon (right). Yet, the creatures don't cast shadows. I'm not sure this would improve the look of the game.

Finally, I also added a new "rush" skill for the player. This one makes it possible to run towards opponents, hitting and possibly stunning every one in the way. It's also a good trick to escape your surrounding opponents when your situation becomes alarming...

So the 0.8 may follow 0.7 pretty quickly, but I still have to work on the core gameplay. I'm not satisfied with the fighting system. It's still too tedious. Moreover, the new game modes are really challenging and I have to make the player stronger. I'm thinking about buffing up "lesser skills" and maybe adding superpowerful weapons that you unlock by winning challenges.

There is another cool feature I'd like to have but I still haven't thought about it : fight replays. You should be able to save your fights and play them back later, and possibly post them on the Arena forum. But this may not be in the 0.8 as there are lots of pitfalls to overcome.