{"id":65502,"date":"2018-11-29T09:09:00","date_gmt":"2018-11-29T09:09:00","guid":{"rendered":"http:\/\/www.gamasutra.com\/view\/news\/330301"},"modified":"2018-11-29T09:09:00","modified_gmt":"2018-11-29T09:09:00","slug":"designing-characters-as-ui-in-state-of-decay-2-star-citizen-and-battletech","status":"publish","type":"post","link":"https:\/\/sickgaming.net\/blog\/2018\/11\/29\/designing-characters-as-ui-in-state-of-decay-2-star-citizen-and-battletech\/","title":{"rendered":"Designing characters as UI in State of Decay 2, Star Citizen, and Battletech"},"content":{"rendered":"<p>UI has come a long way since the 8-bit era, when bosses would flash shades of yellow or red at an accelerating tempo when they were teetering on the brink of defeat.<\/p>\n<p>These days, character models serve as a kind of sophisticated UI of their own, and conveying complicated systems like stamina or damaged systems to players without the use of big garish red bars or dry percentages is an art unto itself.<\/p>\n<p>To get a closer look at how developers use models as UI we reached out to three studios working on very different games, with very different protagonists, and very different needs in terms of communicating information to the player in a way that feels unobtrusive and intuitive. How you show damage differs dramatically, it turns out, if you\u2019re displaying it on the galvanized steel of a giant battle mech or a starship instead of the fragile flesh of the human body.<\/p>\n<p>Designers have been playing with the idea of characters as UI for a long time with human protagonists, from simple implementations like the \u201cstrawberry jam\u201d effect of flashing or glazing the edges of the screen with red when you take damage, to more nuanced approaches like showing individual wounds or bullet holes on 3rd person models.Undead Labs&#8217;\u00a0<em>State of Decay 2 <\/em>expands on this idea even further, altering behavior and animations based on factors as subtle as a character\u2019s mood.<\/p>\n<p>\u201cWhen viewing all the members of their community, we use different stances to communicate injuries, ailments, and the morale of each member,\u201d says J\u00f8rgen Tjern\u00f8, one of the game\u2019s programmer\u2019s. \u201cGreeting VO lines are changed to indicate that a person has taken serious injuries or is feeling sick, and we replace idle and walk animations to indicate significant injuries.\u201d<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.sickgaming.net\/blog\/wp-content\/uploads\/2018\/11\/designing-characters-as-ui-in-state-of-decay-2-star-citizen-and-battletech.jpg\" width=\"646\" \/><\/p>\n<p>The same consideration extends to NPCs, as well. \u201cThe way we apply injuries works the same for all humans &#8211; for example an enemy NPC will receive the same kind of injury from falling too that a player would. This also applies to friendly NPCs that you aren\u2019t currently controlling.\u201d<\/p>\n<p>But one of the challenges of that deeper approach is that slight inconsistencies can break the entire system.<\/p>\n<p>\u201cAs an example, we received feedback that it seemed very incongruous that the character was limping, yet their response when talked to was chipper and up-beat,\u201d Tjern\u00f8 says. \u201cWhen the player sees behavior that is inconsistent with the story the systems are telling about the character, it is easy for them to lose their sense of immersion. That kind of dissonance is important to address.\u201d<\/p>\n<p>According to Brian Giaime, <em>State of Decay 2<\/em>\u2019s senior system designer, one of the ways of avoiding those kind of jarring contradictions is a judicious approach to showcasing injuries.<\/p>\n<p>\u201cJust having an injury doesn\u2019t immediately change a character\u2019s visual state to where they\u2019re limping, etc.,\u201d Giaime tells me. \u201cThat triggers when a character is either completely out of stamina, or below a \u2018critical health\u2019 threshold. We use injuries to inform players that they\u2019re taking a more permanent kind of damage; they can come from being too close to explosions, getting hurt by our \u2018Freak\u2019 zombies, or falling from great heights.\u201d<\/p>\n<p>The game treats injuries the same way it does traits, which Giaime says lends \u201cnarrative scaffolding for players to tell stories around. We use these when we want something to instill dread and long-term recovery cost.\u201d<\/p>\n<p>Perhaps even more important than the net loss of health, though, is the game\u2019s stamina system; running out of juice when you\u2019re trapped by a large group of zombies or a handful of powerful Freak variants can be an automatic death sentence.\u00a0 You won\u2019t be able to sprint long enough to escape them, and your attacks will come too slowly and spaced too far apart to effectively keep multiple enemies at bay.<\/p>\n<p>\u201cFatigue is a separate system meant to represent a character\u2019s long-term stamina dwindling due to a lack of rest or an abundance of exertion. The longer a character stays out, and the more they exert themselves, the more fatigue they\u2019ll accumulate, eventually having enough for it to \u2018activate\u2019, appearing as lost max stamina on the stamina bar. Once that happens, any action which consumes stamina flashes the bar, and increases the fatigue bar, reducing the player\u2019s max stamina further, making each fight more dangerous and increasing the pressure to return home or to an outpost to switch characters, letting the fatigued character rest.\u201d<\/p>\n<p><em><tt><big><strong>\"When the player sees behavior that is inconsistent with the story the systems are telling about the character, it is easy for them to lose their sense of immersion. That kind of dissonance is important to address.\"<\/strong><\/big><\/tt><\/em><\/p>\n<p>Deeply fatigued characters can only run in staccato bursts before staggering and slowing to a torturous limp, and if they\u2019re also badly wounded they\u2019ll grip broken arms or ribs, or practically double over in pain. But Giaime says the team was careful not to make being injured and exhausted a guarantee that a favorite character would never make it home; they also wanted to use those states as a learning tool.<\/p>\n<p>\u201cOur \u2018wounded\/tired state\u2019 is a coherent but fundamentally binary way of hindering players. Getting to this state means you\u2019ve taken a critical amount of damage, or are completely out of stamina. Both of those cases are things players ought to avoid, and so we reduce your ability to successfully fight in these cases, hopefully teaching players early on to develop combat tactics which avoid them.<\/p>\n<p>\u201cManaging stamina, dodging attacks instead of absorbing hits, or just training up your characters to provide more room for error are all natural takeaways from these mechanics, and the tuning is such that we believe people won\u2019t have to do much, if any, learning through dying.\u201d<\/p>\n<p>And beside just making it obvious through behavior that characters were wounded, and training players to take better care of their charges, the team built in a buffer to make even very dire situations potentially escapable.<\/p>\n<p>\u201cOur most significant tool to help players learn how to survive, without having to lose characters to permadeath, is our \u2018fight for life\u2019 system. This system gives players that get in over their heads a chance to recover some health and stamina after losing all of their health but not all of their max health. Only a total loss of max health results in death. In this way we ensure that consequences remain significant for players who are overconfident, without being overly punishing to players who are still learning the ropes.\u201d<\/p>\n<p>Applying the same sort of systems to a complicated machine designed to plumb\u00a0the depths of space is a completely different beast, simpler in some ways and much more complex in others. Instead of the familiar patterns of human behavior when we\u2019re tired or hurt, designers are faced with subsystems and weapon platforms, sensor packages and flight dynamics.<\/p>\n<p>In Mark Abent\u2019s case, the lead gameplay programmer on <em>Star Citizen<\/em>, the remit from the beginning was to create beautiful, complicated, and fully destructive craft that would showcase every scoring laser hit or armor shattering explosion.<\/p>\n<p>\u201cEver since I started here, the whole point has been \u2018if you see something on a ship, you can blow it up,\u2019\u201d Abent says. \u201cWe don\u2019t want \u2018shoot the ship for a long time until it explodes;\u2019 we want \u2018shoot the ship, hit components, critical, minor or whatever.\u2019 Components get damaged, they break, they impact the performance of the ship. If you shoot a Hornet and its wing breaks off, the pilot will feel it, and the attacking player will see it.\u201d<\/p>\n<p>And it\u2019s not just about visual effects. \u201cWe want to make sure that when something breaks or fails, you feel it, hear about it, etc. There are a ton of indicators &#8211; particle effects, like a fire on a wing, that would indicate your flight isn\u2019t fully functional. Each piece will have individual health pools &#8211; so you work to damage and destroy an engine block, and that impacts the flight performance. The engine should cut off, you might be able to use backup systems or divert power, but you\u2019re going to see a dramatic decrease in flight performance.\u201d<\/p>\n<p>Abent envisions the final game weight factors as granular as projectile size and weight when determining damage and how it\u2019s displayed.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"http:\/\/www.sickgaming.net\/blog\/wp-content\/uploads\/2018\/11\/designing-characters-as-ui-in-state-of-decay-2-star-citizen-and-battletech-1.jpg\" width=\"646\" \/><\/p>\n<p>\u201cA peashooter might dent a ship over time but a rail gun can take out a chunk in one shot. As locations on the ship get weaker, it takes less force to continue damaging them. Big parts of the ship now have built in visual changes that we put in as we create the ship, so you get a shortcut to visible damage on certain sections.\u201d<\/p>\n<p>The problem is, <em>Star Citizen<\/em> isn\u2019t (just) a game about fighters. The game simulates a broad scale of craft, from small, darting interceptors to freighters or capital ships, massive ships that come with their own set of difficulties and demands.<\/p>\n<p>\u201cThe hard part is, how do we display this across <em>huge<\/em> spaces, with ships of varying shapes and sizes? We\u2019re making ships of varying shapes and sizes, from things that look and feel like a car, to others that are massive, like the size of city blocks. How do we program the game logic to incorporate different health states across different ships? Does a power coupling on\u00a0 a ship the size of a city block have the same strength as one on a small racing craft? There are a lot of questions that we need to answer to make these systems reality.\u201d<\/p>\n<p>The first step to answering these questions is creating a pipeline that allows the team at Cloud Imperium Games to break big problems down into smaller, manageable chunks. Originally, the team was doing all this chassis and system damage modeling by hand, a huge drain on resources and manpower. Now, new tools like an in-engine editor have significantly streamlined the process.<\/p>\n<p>\u201cWhen someone damages shields enough, you\u2019ll lose power. Then the crew inside has to repair the power plant to get shields back up. However, it\u2019s very time consuming to place these by hand inside the ship. We\u2019re creating tools in the editor that allow us to pick out entities, export them and place them within the ship in seconds.\u201d<\/p>\n<p><strong><tt><em><big>\"We want to make sure that when something breaks or fails, you feel it, hear about it.\"<\/big><\/em><\/tt><\/strong><\/p>\n<p>It\u2019s an iterative process that happens in multiple stages.<\/p>\n<p>\u201cThat\u2019s one of the reasons we sometimes \u2018reissue\u2019 ships that are already in the game,\u201d Abent says, \u201cto bring their tech and code up to par with the new systems we design to govern ship damage, power, heat, etc. We also create these systems piecemeal. We aren\u2019t saying \u2018tomorrow, your ship will have breakable pieces, a governing power system, overheating mechanics, or degradation,\u2019 but instead we design the system once we understand the final aiming point and go about implementing it in pieces. Eventually, all these components will be part of a more cohesive system that makes your ship maintenance something that all SC pilots and crews will have to consider in minute-to-minute gameplay.\u201d<\/p>\n<p>The goal is to make ship damage a strategic consideration, to force players to think about any combat encounter not only tactically but in terms of the bigger picture, the potential for profit\/loss.<\/p>\n<p>\u201cEven if I won, and I didn\u2019t take much damage, I may have put a ton of strain on my systems, lost a wing, I could be running out of ammo. I can\u2019t just go into battle because it\u2019s fun, we want it to be a strategic decision. Ship damage is what makes that happen.\u201d<\/p>\n<p>It\u2019s become a core mechanic around which a lot of the game\u2019s other systems have been constructed, key to everything from player progression to how battles are conducted and scaled.<\/p>\n<p>Abent frames it in easily digestible terms. \u201cThink of it this way: in The Last Jedi, an X-wing pilot disables the defenses on a Super Star Destroyer, enabling his fleet\u2019s slower bombers to creep in and destroy the ship. Those are interacting and overlapping strategic decisions, and it\u2019s how we envision <em>Star Citizen<\/em> working, but without ship damage and damage states it\u2019s almost impossible. But when you can have a fleet of fighters disable systems on a huge capital ship, launch a dropship at the disabled ship, board and take over? Bring in bombers and blow it out of the sky? Salvage some of the valuable pieces you shot off, while the other side is trying to recover them? You\u2019ve created emergent gameplay.\u201d<\/p>\n<p>The model damage in <em>Battletech<\/em> is actually a holdover from its genesis as a tabletop game. A wireframe of each mech was displayed on a record sheet with a certain number of empty circles allocated to each section (its center torso, for instance, or each leg). A\u00a0dice roll indicated which area was hit and every time the mech took damage, players would fill in circles in that area, until all the circles were full and the entire piece was destroyed.<\/p>\n<p>\u201cBeing able to dynamically reflect that visually in gameplay is an advantage we have in a video game over the tabletop game,\u201d says Steve Rynders, <em>Battletech<\/em>\u2019s principal character pipeline artist at developer Harebrained Schemes.\u00a0\u201cFortunately, Piranha Games shared their Mechwarrior Online assets with us and the models were already built in a way that supported damaging and destroying geometry. Aside from it being awesome to see an arm blown off and its pieces rain down on the terrain along with the sparks and explosion, it helps to reinforce and communicate to the player that there has been a state change.\u201d<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"\" height=\"344\" src=\"http:\/\/www.sickgaming.net\/blog\/wp-content\/uploads\/2018\/11\/designing-characters-as-ui-in-state-of-decay-2-star-citizen-and-battletech-2.jpg\" width=\"646\" \/><\/p>\n<p>To show off meaningful systems or parts damage, Rynders and the team dynamically toggle between different assets.<\/p>\n<p>\u201cOur implementation swaps between an undamaged skinned mesh group and a group of damaged geometry that is either still skinned to the animation skeleton, or a physics body (which are the pieces that fall to the ground). When a piece is destroyed, the appropriate groups are turned off and on, and the physics bodies become active and VFX like explosions, smoke, and sparks are played at the appropriate joint locations.\u201d<\/p>\n<p>Determining when a unit has taken enough damage to cripple a system or cause a limb to get blasted into molten shrapnel also goes back to the extensive foundation laid by the tabletop game.<\/p>\n<p>\u201cIn a lot of ways these kinds of questions are already answered for us by 30 years of play, feedback, expansion, and rules tweaks,\u201d says lead designer Kiva Maginn, \u201cbut we did make some moderately significant changes to the original game model. For instance, tabletop BattleTech includes a concept called &#8216;through armor critical.\u2019 A TAC is a chance that any attack might bypass a &#8216;Mech&#8217;s armor to inflict damage on internal systems, leading to weapons being destroyed, ammo exploding, and otherwise awful consequences.&#8221;<\/p>\n<p>&#8220;We eventually decided not to include it in our adaptation. The reasoning is that while it&#8217;s fun to take a TAC that blows up your whole &#8216;Mech when you&#8217;re sitting around a table with your friends, eating pretzels and rolling dice, it&#8217;s a lot less fun when a faceless, emotionless AI does the same thing to you.\u201d<\/p>\n<p><em><tt><strong><big>\"Aside from it being awesome to see an arm blown off and its pieces rain down on the terrain along with the sparks and explosion, it helps to reinforce and communicate to the player that there has been a state change\"<\/big><\/strong><\/tt><\/em><\/p>\n<p>Instead, damage in the video game is simulated through the use of ablative armor over a more fragile structural layer. After the armor is destroyed, any hits on the structure may trigger critical damage to one of the systems stashed in that part of the mech, destroying crucial elements like weapons, ammo, or heat sinks.<\/p>\n<p>\u201cOnce all the points of structure are lost on the location, the whole location is destroyed,\u201d Maginn says. \u201cIt&#8217;s an arm, we animate it popping off and falling to the ground, and if it&#8217;s a leg, your &#8216;Mech falls on its butt. When a location is destroyed, anything equipped there is also destroyed, and torso and head destruction result in the instant death of the &#8216;Mech and its pilot.\u201d<\/p>\n<p>As in the tabletop game, further damage to a destroyed section is applied to an adjacent piece closer to the center of the mech, inwards towards the center.<\/p>\n<p>\u201cIn a sense, while locations like arms and legs are functional places to mount equipment and weapons, they&#8217;re also another form of ablative defense: if your arm is being damaged, at least it&#8217;s just an arm, and not the much more vital center torso or head.\u201d<\/p>\n<p>It\u2019s one of the ways the game is designed to keep players in the fight even after taking damage and to avoid the kind of one-hit kill scenario of the tabletop game\u2019s TACs. Another is the way players are encouraged to spread weapons and systems across the entirety of their mechs, so losing an arm or a leg isn\u2019t an automatic game over.<\/p>\n<p>\u201cIf you take a lot of fire to your left arm, you&#8217;ll eventually lose that arm. That means that serious, gameplay-affecting damage is generally focused on one part, or system, or weapon. If you have a Medium Laser in your left arm, losing that arm is going to take your laser away. But all the other weapons you&#8217;ve got equipped are still perfectly functional; if your &#8216;Mech is also carrying an AC20 in its right torso, losing that left arm isn&#8217;t really much of a change to your overall effectiveness.\u201d<\/p>\n<p>Maginn points out that locational damage is also a good way to make players think tactically in three dimensions. \u201cBy maneuvering carefully, you can present different facings to the enemy, so that as one arm is damaged, you can switch over to taking damage on the other arm.\u201d<\/p>\n<p>As in <em>State of Decay 2<\/em>, damage to AI mechs is handled the same way it is for player units. The principal AI director, Kevin Maloney, says the AI is forced to deal with the same locational damage and systems destruction, and is constantly calculating how to effectively roll with whatever punches the player manages to land.<\/p>\n<p>\u201cThe AI cares a lot about getting the most damage it can dealt to hostiles. So in terms of destroyed systems it just factors that when thinking about how to hurt you the most. For example, if a Catapult (that by default is equipped with Long Range Missiles, Medium Lasers and Jumpjets) loses its LRMS and Jumpjets it will then move to the place where it can do the most damage with its lasers and not give a thought to jumping. The AI is regularly checking on not only the state of its systems but heat, its weakest armor side, stability and numerous other factors so it can make the best decision it can with the most current information.\u201d<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UI has come a long way since the 8-bit era, when bosses would flash shades of yellow or red at an accelerating tempo when they were teetering on the brink of defeat. These days, character models serve as a kind of sophisticated UI of their own, and conveying complicated systems like stamina or damaged systems [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":65503,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-65502","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/65502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/comments?post=65502"}],"version-history":[{"count":0,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/65502\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media\/65503"}],"wp:attachment":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media?parent=65502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/categories?post=65502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/tags?post=65502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}