News

Exclusive Sword of the Stars Developer Diary – Part 4

One of the things about forging new territory is that everybody has to do a bit of everything”

Space may not be the final frontier when it comes to the video game genre, but a well crafted space game is certainly a thing of joy.

Sword of the Stars, a PC title, is planned for an early summer release and looks to be counted among the well-crafted space games, opening vistas to the imagination while giving players an entertaining and challenging gaming experience.

Features include:

  • 4 races - Human, Hiver, Tarkas and Liir - each with technology advantages and disadvantages.

  • Each race has a unique mode of transport between star systems, creating very different styles of play, depending on what race you choose to control.

  • Slider bar controls and simplified interface to avoid the confusion of other games without sacrificing depth of gameplay.

  • Over 150 distinct technologies to research on a dynamic tech tree that changes from game to game. While the core technology of the tree is consistent, certain offshoots are random from game to game. There is no perfect path up the tech tree to memorize and exploit, because the path keeps changing!

  • New technology reflected in detailed ship models, weapons and combat effects. Over 40 weapons from six different weapon classes, in various size classes, from point defense, turrets, and massive spinal mounts!

  • Players can design and build ships from three size classes - Destroyer, Cruiser, and Dreadnought - by mixing and matching ship sections (command, mission, and engines), then outfitting them with armor and weapons to suit their preference.

  • Up to 8 players can play against the AI and one another over LAN or online.

  • Choose from a variety of scenario campaigns to play alone or with friends, each adding more color and depth to the Sword of the Stars universe.

But to truly understand the game from the inside, it is better to go inside and what better way to do that than with the developers chronicling what they are bringing to the game, as well as detailing the state of the development.

In this exclusive GameZone feature, we turn to the Kerberos team for an up close look at the making of Sword of the Starts. For a look at early entries in this diary, please see Part 1, Part 2, and Part 3.

Kerberos Productions Development Diary
Sword of the Stars – Entry 4

Programmer Journal
By Darren Grant, Lead Programmer

Hello, I’m Darren Grant, lead programmer at Kerberos Productions. I will not burden any of you with software engineering and academic programming semantics here! The real point of this entry is to briefly describe the conception of Mars, our tactical/strategic hybrid engine and its integral role in making Sword of the Stars possible. It is a small piece the story of the Kerberos philosophy and how the engine came to be, not a list of features.

With the Mars engine there was a unique opportunity to create a code base from the ground up that was tailored to a completely new class of hybrid real-time combat/turn-based strategic games, without any external interference that could distort its intent. While there was complete freedom to do what was needed, almost completely unheard of in any game development, each of these two aspects alone would be a tall order for just a few programmers. Well, give up here and now? Not a chance. Hell, we just took what we knew and went straight for it, cutting conventional wisdom down to its gleaming gems of truth. This is the real lesson of Mars and Kerberos. It is an attitude that works well for anyone with a serious intent to do the impossible. 

Early development was focused on what would be the real showpiece for Sword of the Stars: real-time combat. Not just simple ship icons shooting at each other in an automatic battle, or abstract die rolling, which is merely a fallback option, but real visceral fights in a 3D environment where every shot and angle matters. So taking our combined experience working on other games with real-time combat - Homeworld: Cataclysm and Treasure Planet: BAP, we started with what we knew: A tactical interface and close quarters battle engine written with C++. Even this early version gave the player direct control over ships that moved around the battlefield and shot at each other with polygon-accurate impacts. It developed very quickly over the next two months, complete with a standard entity system to allow quick addition of some basic types of objects such as asteroids, planetoids, and other ship-like interlopers. And it was written in such a way to allow thousands of ship combinations and weapon designs to be dropped in, only limited by the reality of needing to generate all of the art and maintain data files. This was of course very exciting and inspiring, and although the same mechanics exist in the game to this day (a testament to some sound initial decisions), every seasoned developer in the industry knows there is a long hard path from what is essentially a tech demo, to a complete game. And this was not even touching the turn-based aspect.

In the months that followed, the Mars engine saw the addition of an in-house dynamics and collision system, upgrades to ship navigation, a traffic controller to keep ships from inadvertently using the collision system too much, a completely new particle system framework, and a whole lot of satisfying new ship sections and weapon types to put all of this to good use. Now, understand that during this entire time our stalwart designers, besides overseeing combat design and developing our presence as a company, were also working hard to cement the foundation that would mesh the turn-based game with what we already had. And so parallel to the development of the combat engine, important work on the strategic model was taking shape.

One of the things about forging new territory is that everybody has to do a bit of everything, because there just aren’t enough of you on board to specialize too much. There is one of those aspects of conventional game development wisdom that says you need an expert for every trope, because AAA titles are just so darn complex these days. This is not always true. In our case it would have been a welcome luxury to delegate to specialists, especially when our heads were spinning with things to do, but it was not necessary for success. So, there are three of us main programmers working hard on Mars and Sword of the Stars. My primary cares are for the real-time combat mechanics and AI, and I have done my share of hat swapping. Dave is our network programmer, and he has also managed to pull off writing the entire strategic portion of the game at the same time. This is no small feat. Rich has gone beyond his duty as graphics programmer to implement many game mechanics and also do sound programming. But the result is that we are a trio of experts who can tell you exactly what’s going on in any part of the engine at any time. This is very good for turnaround and we handle bugs faster than a jumbo can of raid. I have worked on large teams and small, and while I can say this is the hardest I have ever worked it is also the most satisfying. Knowing a code base inside out is both a great deal of work and a great feeling of power. It is very much like sitting at the heart of a tremendous steam engine. Despite the roar of everything moving around you, should something slip out of whack you can almost track it down by ear alone.

Mars as a whole is being developed to be adaptable. While a fantastic amount of a Mars game can be customized by simply tweaking data files, it has been built on the understanding that, yes, for true innovations you have to get your hands dirty and turn over existing code. This philosophy has been applied at every turn to present players with an exciting and challenging alternative to more formal 4X games.

Ultimately though, the Mars engine is meant to be the core for a whole series of Kerberos games, both space-based and otherwise. From the upcoming Northstar Project to the SotS expansions that are already in pre-production to any MODS the community can think up, Mars has been designed from the ground up to take someone’s ideas and give them form. It is a very powerful game-making tool and I, and my programmers are very proud of it.

I hope you all enjoy what we have worked hard to make!

Sword of the Stars Codebase (including Mars):
Approximately 200,000 lines of C++ code.

Favorite effects:
A tie between exotic weapon effects in motion and a fully colonized planet, complete with healthy glow.

Most amusing code foible:
The short-lived build where planets would actually flee from enemy fire. Oops.

Bookmark and Share Share | Digg! Digg This | Glink It Glink It

For More Product Information
Sword of the Stars (PC)