A little prelude to kick things off – I’m no writer, or even a blogger really (no tumbr, and definitely no Twitter!), but I’ve been meaning to start something of a basic blog to keep a historical record of how things went down in the crazy world of Nuclear Dawn development, even if I am the only person to read this in 5 years. So don’t expect great writing from me!
I’ve made this public for anyone following Nuclear Dawn’s development progress (or anyone, really) that wants to get a little more insight about the week-to-week life of one of the programmers working on the job.
Now that’s out of the way; Lets get down to it!
So this past week I have been working almost exclusively on the squad system for Nuclear Dawn. I know there has been some speculation as to whether ND will have squads or not. Hopefully by the end of this post that should be clear, or there was a big mistake in our task list.
The primary function of squads in ND will be for commanders to issue orders to a subset of players, and their secondary use is for players to group themselves with friends or clan mates. The visuals of the squad system haven’t been fully worked out yet, so there aren’t any nice screen shots that I can post to give you an idea how things work.
In ND we have the concept of a “unit” when in the commander mode, which is basically anything in the battlefield that the commander can interact with (structures, players, <del>vehicles</del>, etc). These units can be grouped into, surprisingly “unit-groups” so that the commander can perform actions on multiple units at a time. When I implemented the first squad prototype into ND, I assigned new order actions to the player unit type:
Then, I allowed the commander to select each player or a group of players to give them one of the orders. This worked fine in our small test map; clicking on players telling them to attack point ‘x’ worked like a charm. The problem came in the first test when players left the transport gates, and started running off in all directions. It turns out that real players don’t wait for orders before they start to run away and do their own thing. Having the commander navigate all over the map looking for a specific player of a specific class to carry out an order is just not practical, and definitely isn’t fun.
It was immediately obvious that we needed a way for commanders to easily select individual players, or at-least a subset of players and give them orders. So knowing that players would already be grouped by squads, we decided to extend the commander interface to list the occupied squads, along with a list of class types that make up that squad. Now commanders can click a squad on their UI to issue orders to, and with the flexible nature of the unit system, they could also select a specific player in the field to give an order to. After all, players are more likely to carry out their orders if people that they chose to join a squad with are also carrying out the same order.
The secondary function of the squad system is the grouping of players in the field from the FPS side of the game. Joining a squad will give the advantage of extra HUD indicators detailing where each squad mate is in the field, allowing for a more cooperative feel when playing in a smaller group of players.