Wednesday, January 23, 2008

We Are Fools to Make War on Our Siblings in Arms

I have spent some time lately revisiting the game design for Siblings in Arms, yet another real-time strategy (RTS) game set in a generic fantasy world. Here are some of the main design choices:
  • Every unit that the player can produce is a hero. Wizards serve as siege units.
  • All heroes participate in combat. There are no pure workers that are always left behind at the base. Although monks construct buildings, they are also healers, motivating the player to bring them along.
  • Heroes gain experience during combat. Fallen heroes can be reincarnated; their experience is not lost.
The game is written in Python, with plans to rewrite identified performance bottlenecks in C++. I have made myself familiar with a Python profiler and Boost.Python to support this task. So far, pathfinding is the greatest performance strain; the game uses a naive A* implementation written in Python.

Other future challenges include vector graphics and networking. The latter has been postponed indefinitely, because it just seems too damn hard. Time will tell.

No comments: