This is Part Two of the Halo Wars Dev Blog, last week Marcin Szymanski wrote Leader Powers Part One
. Read on for the Second of Four parts in the Leader Powers Series.
This was a really fun power to work on. Ok, I actually liked working on all the powers, but how awesome is it to fire a giant sniper round from orbit? This actually brings me to my first point: the initial version of this power, while very impressive, wasn’t quite differentiated enough from the other powers. It also lacked a certain feeling of impact and focus. Finally, the size of the blast was so large and overwhelming that it didn’t work very well for a design that called for shooting multiple MAC blasts in a short period of time.
An Early Minigame version of the MAC Blast, hitting the buttons at the right time improved the power of the MAC Blast.
We decided to compact the effect into a smaller area and speed up the overall visual. The faster the visual appeared to slam the round into the terrain, the better the power felt (see sniper rifle comparison). The final iteration had a near-instantaneous effect that dealt damage right away. I think that this really distinguished it from the other powers, and made it very satisfying to use!
There was one thing missing after we got this far: the impact of the MAC round didn’t seem to leave enough of a footprint; it didn’t feel like it did enough damage to the terrain. Without going as far as to demolish half the planet with a single shot (I’m lookin’ at you, canon holders ;), we decided it would be cool to try throwing boulders out of the impact point. I had spent a great deal of time working on Age of Empires III’s building destruction system, so I hacked together a quick test to see whether we could make a rock break apart in a similar way on impact. To my surprise, it worked on the first try! The boulders flew out, they shattered into pieces, and KABOOM, the game crashed! Ok, maybe it didn’t quite work on the first try. Regardless, we thought it looked cool enough that I spent the time to polish it up into a shipping version. So now, when you see those rocks breaking apart, you’ll know that they’re just buildings masquerading as rocks.
Transport may not be the flashiest power in the game, but it probably took the largest amount of development time overall. It was passed around among a few programmers, went through several design iterations – you used to control the transports directly! – and it had to work seamlessly with many other game systems.
The Covenant at one point had Spirits to transport their units, and their Powers were more similiar to the current UNSC than the Leader based ones they have now.
The initial implementations weren’t quite robust enough to account for many edge cases. For example, what happens when you try to transport a vehicle, but that vehicle is commandeered or hijacked by a Spartan while the transport is en route? What should the transport do when it reaches its pickup targets and they’ve all been Cryo’ed? Many of these questions had no obvious answers, so a few times we just went with the faster and easier solutions.
Transport always had lots of interesting edge cases, and sometimes they were quite unexpected.
One of the common cases where Transport failed with some frequency was when unloading troops into a congested battlefield. It was essential that this worked, because several scenarios relied on Transport working every time. Scenario 6, in particular, had many bugs due to Transport breaking in some way. I tried several tweaks to address the unloading problems, but eventually decided that the code would need a partial rewrite. I had hesitated because this was very late in the project, and it was risky code to change at that point, but we decided that it was still the best avenue of attack. Thankfully, we had some code from the Age engine that did a very good job of finding empty spaces for units. I retrofitted Transport with this code, and the vast majority of our unloading bugs disappeared.
One major element that we wanted to add to the leader powers was some sort of arcade-style timing. We actually brainstormed some cool minigames, unique to each power, that would allow a skilled player to add a small boost to each power. For example, we prototyped a “golf swing meter” input method for MAC Blast that allowed an expert player to crank out a perfectly timed series of max-quality shots. Unfortunately, the realities of scheduling meant that we had to cut this feature – implementing the full array of minigames, in a polished and fun way, would simply have taken too much time.
After I finished my work on the Halo Wars power system and several of the powers, I went back to working on Top Secret Prototype Team™ (the last prototype Ensemble would do, actually). Another programmer, Vijay Thakkar, took up the mantle and implemented several more powers. He will talk about his experiences in his very own blog entry.
Just like with Age of Mythology, working on the leader powers was extremely gratifying for me. Developing these kinds of gameplay systems relies on a well-oiled feedback loop that incorporates input from art, design, sound, and programming. It also requires a very broad kind of thinking, and when all cylinders are firing, progress on iterating cool new ideas is nothing short of astonishing. I hope this blog has provided you with a little bit of insight into how this process works. Thanks for reading!