Halo Wars Dev Blogs (page 2)
Halo Wars had its fair share of challenges. We were trying to bring the strategy genre successfully to the consoles for the first time. We were working with someone else’s IP. We had never done a console game. The list could easily be bigger than that, but you get the idea.
Now that Halo Wars has shipped and everyone’s had a chance to see, play, and evaluate it, we have the opportunity to discuss more about the process of making Halo Wars. For example, everyone knows how base building works in Halo Wars. Each base has a fixed set of slots (though you have to upgrade to get access to all of them). You click on a building site, make a deft move with the left stick, and tap A. Presto, here comes that Barracks you ordered. Nifty. It’s fast. It’s quick.
But is that a good thing? Most strategy games are noted for their deep city building and economic elements. WTF Halo Wars??? Why don’t you have an Age of Empires-like infrastructure game where the truly skilled players can “out econ” the newbies? The fairly un-sexy answer is that we just wanted a faster game with a larger focus on combat. Okay, fair enough. Let’s look at the iterations that base building went through to achieve those goals.
When we started Halo Wars, we had the relatively simple idea of bringing the “Age Experience” to consoles. The longer we worked on Halo Wars, the more we realized that we were doing something else: bringing a new strategy experience to consoles. Age is a PC game with PC sensibilities. Halo Wars needed to be something else given its platform. The games needed to be shorter. The action needed to be faster.
So how does that affect bases? Well, given our background with Age, the first base building system we implemented on Halo Wars involved placing buildings wherever the player wanted. Just like Age. For us, this was a logical starting point. Over the years, we’d fought hard to hold onto the idea that nothing invests a player in his base more than building it himself. And, most designers will tell you that base investment is a good thing for a strategy game.
After we got farther, though, we ran into problems. Players were spending too long building out their bases. At one point, we were even letting players rotate individual buildings. That made the problems twice as bad, not to mention exposing some brittleness in our new engine’s placement code. Players would agonize over the decision of where to optimally place a barracks instead of spending time watching their troops. On the one hand, that’s good. We want folks to care about that non-combat stuff. On the other hand, every second spent in your base was a second not spent in combat.
So, we tried to simplify building placement to make it simpler and faster. We made the buildings all the same size, so it was easier to visualize/control the layout. Yuck. The buildings all ended up being on the “big” side of the spectrum to accommodate our need to drive tanks out of them. That was a lot of wasted space. So, we made them all smaller. Too hard to tell them apart. So, we went back to varied building sizes. But, we took out buildings so you had less to build. Blech. That was definitely too far. It was clear that players didn’t have enough to do in their bases when we did that. All the time we were struggling with this issue, players weren’t having fun. Building placement was frustrating and it was killing the game.
Halo Wars has a really cool terrain system, perhaps the best we’ve ever built. It needed it, frankly, to even compete on the console. The game had to look hot. As we moved away from our random map heritage, though, things got more complicated. The terrain was more varied, so simply plopping a building down anywhere was harder because the ground was never really very flat. The code to dynamically raise and lower the terrain hadn’t turned out as well as we wanted, so we had problems just letting you build anywhere. As we looked at our options for fixing building placement, we decided to live with those limits and build the design around having players only build in “mostly flat” spots.
As you might expect, our next iterations were played on exceedingly boring, flat maps. Not good. After a while, we couldn’t take it anymore and the maps went back to having height variation. That was really a blessing in disguise. That issue pushed us over the edge on finally accepting that we needed to keep our bases “collected” in small areas. This turned out to be great for helping people parse and learn the maps quickly, which suited our faster play goal. But, that also sucked royally with our placement system. Things were too cramped.
As the playtest feedback inevitably started to re-suggest making buildings smaller again to work around the cramped towns, we stepped back. Something big had to change. After what turned out to be a couple of months of hemming and hawing, we left behind our “place anywhere” traditions and adopted the so-called socketed building model.
In hindsight, I think this was one of our best decisions. It instantly made the gameplay in bases quick like we wanted. The bases also looked a helluva lot better, too. The random, ramshackle hodgepodge was gone. There was some order, which sorta suited a heavy military game anyway. Design-wise, it was also a clear system that visibly presented you with your tradeoffs. You knew how many sockets each base had. You didn’t have to play Building Tetris only to find out that there wasn’t any space for the building you wanted to place.
It was somewhere during this 5th redo of the buildings that we realized the next problem. The bases were still too big. They looked awesome, sure, but they were too big. We couldn’t have enough bases on our 3v3 maps with the base size as it was. I think the only time I’ve ever truly feared for my life was when I had to tell the artists that we had to redo the buildings again. If only that was the last time.
The next (and last) big problem on base building and building size turned out to be the need for the units to exit their buildings. We really wanted to showcase that. It had been received very well in our E3 2007 demo. We had gutted that base scheme during the various un-fun iterations of the “place anywhere” systems, so most of the E3 2007 stuff was gone. But, we were determined to keep the units exiting their buildings. But those tanks are so f’ing big. Each building site had to be big enough to accommodate the Vehicle Depot, which was killing our attempts to reduce the base size.
I honestly don’t recall who suggested that we have each unit exit from some building. I do recall that it was met with the burning hatred of 1000 suns when I pitched it to the team. It wasn’t a popular idea. It was another piece of the vaunted “Age gameplay” that we were taking away. But, taking it away was the right thing. We could make the central building bigger and the outlying buildings smaller, which fixed our base size issue. Plus, design-wise, it made gather points much easier to manage since players only had one. Another “win” for ease of play on the console.
Okay, I lied. We actually had to redo the buildings one more time after that because the Design Department kinda goofed on some calculations with the turrets. But, let’s not go into that one.
Dave Pottinger, Lead Designer
While working on Halo Wars I focused on creating the initial environments used throughout the skirmish maps and scenarios.The early phases began with our concept artist to get the look and feel of each world and working with designers on how these would be a part of the overall storyline. Also, brainstorming with programmers for terrain tools and understanding aspects of the new game engine to develop something we had never achieved before. Here are three of the major steps I would go though in creating our environments, although there were many more along the way.
The first step of creating a world would start with the terrain textures. This process was a definite change from the work I had done on the previous Age games. Halo Wars was a totally new game engine and our blend system had much more flexibility. Less textures were needed but the end result was much more dynamic and even the normal map generation had improved greatly. The number one obstacle for creating terrain textures was the vast difference in hue/saturation and compression from the PC monitor to the Xbox 360. What you see was not what you got. In an RTS game there is a fine balance in the complexity of textures and how the game units will read once placed on them. You have to make sure they are just the right brightness and saturation that add to the game experience and not distract from it. This part of the process is my favorite, because I enjoy making textures. Other artists like to make fun of my image files for having dozens of layers but I know what they all do. When I need to change the color of a single rock on the texture or the length of a grass blade I know just where it is at… well most of the time
The second step was sculpting and using the tools to manipulate the new powerful terrain mesh for the game. Before our games only used displacement on the Y axis, in Halo Wars we could move terrain vertices in all axes. While this gave us more freedom to create overhangs and more complex canyons and mountain ranges it did add more time to the sculpting. This step took the longest in our schedule and sometimes was the most difficult. To help us with the initial roughing out of the map we used a terrain generator that would create a displacement map and give us a nice starting point. Now that we had a mountain range or canyon we would go in with the finer tools and add the detailed characteristics for that particular environment. There were limitations though, and with all the new complex sculpting and higher tessellation we had to be efficient and optimized for game performance.
Some of the final steps were tweaking the lighting to create the mood of the world. Lighting for RTS games can be an ongoing hair pulling ordeal. As an artist you want to have the most realistic, colorful and dramatic lighting. But also as a game developer you have to make sure people can tell what the hell is going on. Some units that appear smaller on the screen could come out looking unreadable black blobs if your sun direction, inclination, ambient light and shadow darkness settings were not correct. The big difference in an RTS and other genres of game lighting is trying to pull off a night time scene, we always want to do them, but have to pull back a little. Player color and unit recognition go out the door when you turn the sun off. Scenario 2 was probably the closest we did to a night time setting. I had to add a lot of local lights but that would hurt performance. Sometimes without anyone looking my artist instincts took over and I would add a few lights here and there to get it just right. Whether I created a bright and vivid mountain valley or a dark and cold wasteland, with the lighting done right, it pulled in the player that much more into our environments.
Artists, programmers and designers all played major roles in creating the Halo War environments from look, tools, layout and storyline. I feel these environments are some of the best in a console RTS that have been done.
When I was first approached to write something for the website from a Concept Artist’s viewpoint, I thought that I would just do a generic, “day in the life of an artist”, type of write-up that we’ve all seen before. I thought about it. I figured I could sum up in a few simple sentences how concept art gets created and eventually put into the game. I could write about how we receive a written description of a unit, building or environment; how we create rough drawings of what we think a unit might look like; and then when one “thumbnail” is approved, we polish it so that the 3D modelers can build it, animators can give it life and then that unit can get put into the game.
In a nutshell, that is what a concept artist does. Quick, clean and summarized in a tidy little paragraph with enough time to spare to go watch the NBA playoffs.
Then I thought about it again. And I realized that it wasn’t that simple; at least not on Halo Wars and definitely not at Ensemble Studios.
You see, in order to create artwork at the highest level, you not only need a team that is talented, dedicated and stays on schedule, but you also need a team that meshes with each another. For that team to be successful in what they do, they need to have chemistry. So instead of writing about our daily tasks and attaching images of artwork, I decided to talk about what the team did that wasn’t on the task list and include photos that illustrated the “chemistry” that we had.
Throughout the studio there are white boards that are used for a variety of things like jotting down tasks and ideas, descriptions of units and keeping track of deadlines. The artists, on the other hand, had a different use for them. The concept guys would draw caricatures and create “inside joke” drawings on a daily basis. I would walk in the office and at the end of each day there would be new and often inspiring drawings on the white boards. While these boards’ original purpose was to have drawings, diagrams and written statements to help keep the team on track, the random imagery, humorous and often non-work-related material, probably kept the team more focused than unit descriptions or schedule dates and deadlines. It wasn’t long before other artists joined in on the fun as well. It wasn’t unusual to poke fun at each other, or crack a joke at someone’s expense. The ratio of laughing and having fun to drawing was probably an even 50/50. I absolutely felt that this dynamic was essential to create the top notch artwork that was done on the project. There were a lot of late nights and long hours, and without a sense of humor the team probably would have driven each other insane.
I’ve always felt that if you enjoy what you are doing and who you are doing it with, success will ultimately follow. Take a look at the art-work in Halo Wars and I think that you’ll agree that we were successful in what we set out to do: create a beautiful looking game. Laughing the whole time.
During my short time leading the concept guys on Halo Wars, I realized something- I did a heck of a lot more learning than I did teaching. Thanks to the Halo Wars concept team.
Below are some examples of the crazy pix that these guys did… I’ve “edited” a few of them.
The simulation system of any RTS can at times be hard for the players to unravel exactly what is going on so today we are taking a quick look at the core systems comprising the Halo wars combat system.
In Halo Wars every combat unit has an armor type and at least one weapon (often more), while each weapon has its individual damage, damage type and accuracy stats. Every attack in halo wars has a specific weapon associated with it even special attacks such as grenades or canister shot have separate specific weapons just for that special to use.
The first item we will look at it is the accuracy system in halo wars and how individual projectiles are directed when fired at the enemy. Every weapon has individual accuracy ratings that determine how accurate the attacks it makes are; the first rating is a straight chance to have the projectile be fired true while the second rating is used to determine how far off the aim is if the attack is not perfectly accurate. After the projectile is fired all that is left to find out is what unit is actually hit as a weapon can “roll” a miss and the enemy can move into the projectiles path.
After a projectile actually hits a target comes stage two of combat where the armor type of the unit being hit and the damage type being applied are used to look up a damage modification. The final damage is calculated by multiplying the base damage by this damage modifier.
A simple example of this is a marine firing on a scorpion with his rifle which for this example we will say does 10 base damage, now then the scorpion is armor type “Heavy armor” and the rifle does damage type “small arms fire” so we cross reference small arms fire and heavy armor on the table and get 0.4 modifier. The final damage will 4 damage done to the scorpion tank, calculated by taking the base damage (10) and multiplying Is by the modifier (0.4).
Overall the damage system is relatively straight forward with the main complexity coming from the number of armor and damage types but where feasible like type weapons share like type damage types. The machine gun on a scorpion does the same damage type as on the warthog for example. Also most game units have a fairly straight forward armor type except for a few special cases I will not be covering (but they are not important for this article).
Some base Armor types in Halo wars
- Light infantry: Marines, Grunts, Jackals, brutes, Elites
- Heavy Infantry: Flamethrowers, Hunters, Cyclops
- Medium Armor: Warthogs, Ghosts, Choppers, Wolverines, Cobras
- Heavy armor: Scorpions, Wraith, Elephants, Scarabs
- Aircraft: Hornets, Banshees, Vultures, Vampires
- Building: Bases, Buildings, Turrets
Some example damage types
- Plasma pistols and rifles
- Plasma cannons on ghost, banshee and wraith
- Heavy machine guns on warthog, scorpion and hornet
Heavy MG and plasma
- Wolverine anti air missiles
- Turret anti-air missiles
- Vulture anti-air missiles
- Vampire heavy needles
- Turret anti-air needles
Anti air missiles/ needles
- Marine grenade/ RPG special attacks
- Grunt plasma grenade special attack
- Warthog grenadier
- Wolverine grenade mortar
- Rebel snipers
- Jackal snipers
- Flame mortars
- Covenant anti-infantry plasma mortar turret
Damage type/ armor type lookup table (real numbers from the Halo Wars database)
Light infantry Heavy infantry Medium Armor Heavy Armor Aircraft Buildings Heavy MG and plasma 160% 120% 120% 40% 180% 40% Anti air missiles/ needles 120% 120% 100% 60% 300% 60% Grenades 80% 60% 160% 120% 80% 160% Sniper attacks 400% 300% 40% 20% 40% 20% Flames 300% 200% 40% 20% 40% 40%
The last few weeks of working on Halo Wars were quite a blur. Actually, the last several months of working on Halo Wars were quite a blur. I think if you were to ask most folks working at Ensemble Studios to describe an event in their lives from the last year, they’d have a hard time remembering what season the event took place in. For us, it was all Halo Wars, all the time. Blurry days.
Today, I’ll do my best to remember the final steps of getting Halo Wars out the door.
The final months of a project are all about taking the previous years of work, mashing it all together into something cohesive, testing the game, and fixing bugs. It’s also a time of very difficult decisions. In the name of getting the game out the door, we’re forced to eliminate several features, many of which already had months of work put into them. This can be costly (literally), but it helps provide focus to the most important aspects of the game, and gives us a better chance at hitting our target release date.
Now would probably be a good time to detail out all the features we cut, but maybe that’s best left to everyone’s guesses. Or maybe those features will show up again somewhere else…
Back to it. As we approach the last 6 weeks or so of the project, we begin thinking about something called “Release Candidates”. These are complete builds of the game that we believe are good enough to make it to the retail shelf. On December 1, 2008, we created “RC1”(Release Candidate 1). Cool, we’re done! Not so much. “RC1” never makes it all the way through the testing process, and in fact, our designers run a contest for everyone of our games trying to guess the actual number of Release Candidates we will create. Guesses for Halo Wars ranged from “RC2” (yeah!) to “RC426” (no!). For a build to be considered “the” build, several parties must sign off on it from Ensemble Studios, Microsoft Game Studios Test, the Localization team, and a Production team at Microsoft. In the end, RC11 was “blessed” by this crew. Halo Wars build number 1169.
We’re almost home at this point, but we still have a crucial step in front of us, called Certification. For Halo Wars to be “certified” a team at Microsoft takes the game and runs it through a battery of very specific tests to make sure it lives up to the quality and experience expectations of the Xbox360. Tests range from making sure Achievements work, to seeing how the game responds to people yanking out their memory cards while the game is running (never a good thing to try ).
Going through Certification is a very strange experience. It can be a multi-week process, and you can go days without hearing from the Certification team on how things are going. Ensemble had just gone through months of crunch, and we suddenly found ourselves in a waiting game with very little to do but hope the game makes it through successfully. Work hours returned to normal and people passed the day working on the demo or playing board games. Weird.
Finally, on January 8th, 2009, Halo Wars passed Certification and was declared “gold”. From there, the game was sent off to manufacturing plants all over the world, packaged up, and put on a shelf at a store near you. Good times.
Tim “Timotron” Deen, Lead Technical Designer on Halo Wars, is here today to give more insight on the “Rock, Paper Scissors” aspect of the Halo Wars combat system.
Coming into any RTS (and Halo Wars is no exception) can be a daunting task for new players as they learn the relationships of the game units, especially game units that are not direct counter or game units that are just soft counters. As such this article will attempt to delve into a more detailed look at the Halo Wars counter system and dissect it for the players into a set of discrete rules and show how the rules apply to the game. Finally before we start a term used often in this article is “RPS” which is shorthand in a RTS for “rock paper scissors” and is used to describe the rule sets that govern which units win fights.
Now then a detailed look at the Halo Wars RPS reveals that it is a layered system of 3 RPS systems with a specific order of priority in application. Also each RPS system provides a different flavor to the game and serves to provide a specific combat flow purpose. Additionally the RPS relationships are split into the two separate buckets of “soft kill” and “hard kill”, “soft kill” relationships are where the units have a medium advantage in combat and “hard kill” is where units have a very strong advantage in combat.
- Highest priority RPS
- Counter unit RPS
- Counter units hard kill their countered unit type
- Counter units are soft killed by mainlines that they do not counter
- Counter unit RPS
- Mid level RPS’s
- Scout unit RPS
- Hard kill counter infantry
- Soft kill air
- Soft killed by mainline infantry
- Hard killed by mainline vehicles
- Spartan RPS
- Limited hard kill normal vehicles and air
- Scout unit RPS
- Lowest priority RPS
- Basic unit RPS
- Infantry beat Air
- Air beats Vehicles
- Vehicles beat Infantry
- Mainlines are better than counters against buildings*
- Basic unit RPS
Note: * the cobra and wolverine has a minor siege counter role as a special bonus for UNSC.
The counter unit RPS provides hard counters to punish players who attempt to run a single unit army and is the highest priority counter system. Next the scout unit RPS provides balance in the early game against counter infantry and air before their main counters come online, while the Spartan RPS provides a specific counter to vehicles in tech level 1. Finally the basic unit RPS provides a low level bias to the combat so that the units not directly involved in a higher level counter system will still have a rule that applies to them.
The final item to cover in this article is to go over just what categories units fall into in halo wars for defining what they are. First all units have a role category assigned to them such as mainline or counter, and second they have a unit type assigned to them such as infantry or vehicle. The combination of those two items defines the unit’s base combat relationships to other units.
- Mainline unit
- Counter unit
- Scout unit
- Special unit
- Highest priority RPS
One caveat before concluding is that results will vary in actual game play due to players employing micro management of units and in situations where the opponent has superior upgrades or numbers. Now with that caveat said hopefully this article will give everyone an idea of how RPS design is expressed in Halo wars and why many of the units have the combat advantages that they do.
Halo Wars has a couple different ways of tracking our players history from matchmade, public games. Some we use primarily to get you good games, others are more oriented to helping players rank themselves against the community. Lets go through each of them:
This is the standard Xbox LIVE Trueskill™ tracking value that rates players to help match them in competitive games. We use this only for matchmaking and we use it for all matchmade games. We track a separate Trueskill™ value for each of the different Halo Wars hoppers you can play in. So you if are great at 1v1 Standard but just getting started playing 2v2 Deathmatch games – then you will be matched with similar skill level opponents in those different games. Also for team games, we average your skill with everyone else on your team – so you don’t have to worry about the skill level of the party host versus everyone else on the team – everyone’s skill is taken into account. These Trueskill™ levels are meant only to help get our players the best matched game for all our different hoppers – but if you are ever curious about your level, you can always check it out under Multiplayer | Leaderboards. Select a Leaderboard Type of “MP Skill” and set the Filter to “Pivot” (that means “Find me in the list!”). You can also see the Trueskill™ value being used during matchmaking – right after the countdown starts you will see in the middle of the screen “Party TrueSkill™ Rank X”. X will be the Trueskill™ level averaged for the entire party (if the party is just you, then that is your exact Trueskill™ level). If you are interested in more detail about how this is calculated, here are the details: TrueSkill™ Ranking System
While the Xbox LIVE TrueSkill™ values are what help us get you good matches for each hopper, we also have our servers track a global skill value for you as well. If you look up on the website, the Player Stats for yourself (or any other player), right under your gamer tag is your Skill Level . That is a value between 1 and 50 for how skilled you are at playing competitive Halo Wars games. We calculate that on the Halo Wars servers with the stats from each matchmade game you play. Note that just like for the Player Trueskill™, if a player leaves early through any means (turning off the box, exiting the game, resigning, etc ) then the system will count that as a loss.
Skill level isn’t always the best way for tracking a player experience with the game, so we also keep a total running score of all multiplayer, matchmade games you have played. As this global score for a player goes up, we award the players various ranks to reflect their experience with the game. See the Rank section below to see what total score is needed for the various ranks. To find your score (and rank), in game go to the multiplayer menu and select Service Record | Skirmish. Note that one of the best ways to boost your score per game is to complete the game (as opposed to resigning or disconnecting). While you get a 40% bonus if you win, you also get a 20% bonus if you just complete the game. On team games if you are defeated, the award happens right then – not at the end of the game – so you don’t need to wait around in that game unless you want to watch the action.
|Recruit||Play 1 Game|
Share your thoughts, post a comment.
You must be logged in to post a comment.