{"id":1257,"date":"2017-10-03T08:00:00","date_gmt":"2017-10-03T08:00:00","guid":{"rendered":"http:\/\/www.gamasutra.com\/view\/news\/306257"},"modified":"2017-10-03T08:00:00","modified_gmt":"2017-10-03T08:00:00","slug":"game-design-deep-dive-randomization-and-frustration-in-everspace","status":"publish","type":"post","link":"https:\/\/sickgaming.net\/blog\/2017\/10\/03\/game-design-deep-dive-randomization-and-frustration-in-everspace\/","title":{"rendered":"Game Design Deep Dive: Randomization and frustration in Everspace"},"content":{"rendered":"<p><em><strong>Deep Dive is an\u00a0<a href=\"http:\/\/gamasutra.com\/deepdives\">ongoing Gamasutra series<\/a>\u00a0with the goal of shedding light on specific design, art, or technical features within a video game, in order to show how seemingly simple, fundamental design decisions aren&#8217;t really that simple at all.<\/strong><\/em><\/p>\n<p><strong><em>Check out\u00a0<a href=\"http:\/\/gamasutra.com\/deepdives\">earlier installments<\/a>, including maintaining player tension levels in\u00a0<\/em><a href=\"https:\/\/www.gamasutra.com\/view\/news\/305674\/Game_Design_Deep_Dive_Maintaining_tension_in_Nex_Machina.php\">Nex Machina<\/a>,\u00a0<em>achieving seamless branching in\u00a0<\/em><a href=\"http:\/\/www.gamasutra.com\/view\/news\/294526\/Game_Design_Deep_Dive_Watch_Dogs_2s_Invasion_of_Privacy_missions.php\">Watch Dogs 2<\/a><em>\u2019s Invasion of Privacy missions<\/em>,\u00a0<em>and creating the intricate level design of\u00a0<\/em><a href=\"http:\/\/www.gamasutra.com\/view\/news\/292719\/Level_Design_Deep_Dive_Dishonored_2s_Clockwork_Mansion.php\">Dishonored 2<\/a><em>&#8216;s Clockwork Mansion.<\/em><\/strong><\/p>\n<p>My name is Hans-Christian K\u00fchl, and I am a senior game designer and programmer at <a href=\"https:\/\/rockfishgames.com\">Rockfish Games<\/a> in Hamburg, Germany. Together with about a dozen talented colleagues, I have been working on <a href=\"http:\/\/store.steampowered.com\/app\/396750\/EVERSPACE\/\"><em>Everspace<\/em><\/a> for over two and half years. It\u2019s the studio\u2019s debut title and was released on PC as Early Access and on Xbox One as a Game Preview in September 2016, followed by the full release on May 26, 2017.<\/p>\n<p>I\u2019ve been developing games for 13 years now. It all started at Fishlabs Entertainment (now Deep Silver Fishlabs) with 3D mobile games on Sony Ericsson and Nokia feature phones, where I was mainly responsible for <em>Galaxy on Fire<\/em> I and II, as well as <em>Deep 3D: Submarine Odyssey<\/em>. I then ported the <em>Galaxy on Fire<\/em> series to iOS, worked on the two add-ons, and helped with porting the games to MacOS and Windows.<\/p>\n<p>In 2014, Michael Schade and Christian Lohr, the former founders and managing partners of Fishlabs Entertainment, started Rockfish Games as a new indie studio to create high-quality PC and console games with a premium business model. Some co-workers and I took the opportunity to join them and work on a space game which has now become <em>Everspace<\/em>.<\/p>\n<p><em><strong><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/10\/game-design-deep-dive-randomization-and-frustration-in-everspace.jpg\" \/><\/strong><\/em><\/p>\n<p>Because of our love of space and sci-fi, and our previous personal track record with the <em>Galaxy on Fire<\/em> series, it soon became clear that we wanted to create another space game. We knew we couldn\u2018t afford to create the epic sandbox space opera like <em>Freelancer<\/em> that everyone dreams of (we still do), so we had to come up with something new. Something smaller and more focused.<\/p>\n<p>Because challenging, rather unforgiving games have recently enjoyed a renaissance, we came up with the idea of creating an action-focused space game where the player dies a lot, set in a randomly created environment to offer a different experience each time they start anew.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/10\/game-design-deep-dive-randomization-and-frustration-in-everspace-1.jpg\" \/><\/p>\n<p>We play a lot of games, and some of them offered inspiration for aspects of the game design, most prominently:<\/p>\n<ul>\n<li><strong><em>Freelancer<\/em>:<\/strong> Every one of us loved the easy mouse and keyboard controls and absolutely wanted <em>Everspace\u00a0<\/em>to have similar controls.<\/li>\n<li><strong><em>FTL<\/em>:<\/strong> This game\u2019s basic framework was something we wanted to have as well. \u00a0Press start, choose a ship, upgrade during the run, and reach the last sector.<\/li>\n<li><strong><em>Rogue Legacy<\/em>:<\/strong> Collect money, die, then spend the money on permanent upgrades that will make all following runs easier. This is a brilliant way to make up for the disappointment of dying during a run.<\/li>\n<\/ul>\n<p>We combined these features with fast-paced 6-DOF (6 degrees of freedom) combat mechanics and a personal sci-fi story which slowly unfolds as the player advances through the sectors. Finding and crafting new equipment and resources is done on-the-fly, so the further the player gets in a run, the more powerful they will become. \u00a0At least until they die and lose everything except found blueprints and credits. The main loop is: Select a ship \u2013 Try to reach sector 7 \u2013 Die or succeed \u2013 Upgrade and unlock new ships and perks \u2013 Start again.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/10\/game-design-deep-dive-randomization-and-frustration-in-everspace-2.jpg\" \/><\/p>\n<p>When designing <em>Everspace<\/em>, we had to be careful not to get carried away with trying to add too many features and instead focused on just a few aspects and then put more depth into them. I picked two aspects that I think are worth mentioning because we put a lot of thought into them. So this is not an overview of everything that makes up <em>Everspace<\/em>, but a couple of its key game design elements and how we implemented them.<\/p>\n<p><strong>On dampening frustration:<\/strong>\u00a0Looking at the Game Over screen is a frustrating part of playing any game, especially if the game is so hard that you die a lot. We added several things that work against that feeling of frustration so players will say \u201cBad luck, my mistake. Let\u2019s try this again!\u201d instead of \u201cThis is unfair, and I\u2019ve lost everything. I\u2019ve wasted an hour of my life for nothing!\u201d<\/p>\n<p><strong>Reward for dying:<\/strong> The moment the player dies, they see a screen listing the gains of the last run, including credits and permanent unlocks like colors, enhancements, or blueprints. \u00a0Then they can spend the collected credits on upgrades that make them stronger by improving their stats and unlocking new gameplay possibilities.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/10\/game-design-deep-dive-randomization-and-frustration-in-everspace-3.jpg\" \/><\/p>\n<p>This is the most important feature to reduce frustration, and in the best case leads immediately to the next run. During production, the title said \u201cCongratulations, you are dead!\u201d \u00a0We shortened it to \u201cKIA\u201d for release, but we really do mean the former.<\/p>\n<p><strong>Don\u2019t take your time: T<\/strong>he longer you play, the more frustrated you\u2019ll be if you die, so we wanted to keep the runs short. We initially targeted one hour for a completed run, which we overshot by 30 minutes for an average run, but it still feels pretty good (and experienced late-game players can finish a run in under ten minutes).\u00a0<\/p>\n<p>The most visible method of minimizing a run\u2019s duration is the arrival of alien forces to drive the player out of the location if they linger for too long. If the player continues to dawdle, a colossal warship will eventually arrive as the final bit of persuasion. Some players have complained because they want to explore everything, rather than being hunted. But we really have done it for their own good. Also, players can now earn in-game ways to delay or even prevent the arrival of reinforcements.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/10\/game-design-deep-dive-randomization-and-frustration-in-everspace-4.jpg\" \/><\/p>\n<p>We also wanted to ensure that players don\u2019t have to spend too much time in menus. That\u2019s why <em>Everspace\u00a0<\/em>does not have a traditional inventory. Equipment items must be placed in a slot, salvaged, or used immediately. When players find equipment, it takes only a few seconds to swap, use, or salvage it, and then continue their flight.<\/p>\n<p><strong>Play fair:<\/strong> When watching streamers playing the game, we often see that there is a certain degree of understanding when their ship gets destroyed. Sometimes they\u2019ve pressed the wrong button and turbo-boosted into an asteroid, or forgotten to repair their ship or regenerate energy before engaging in a fight, and often they\u2019ve just risked too much. So no one really complains about the game being unfair, and that\u2019s a good thing! Though there can be times when the RNG (random number generator) will give you a very hard time by spawning the hardest enemies and situations all in one location. In almost all cases, however, the problem can be overcome with skill, strategy, and patience.<\/p>\n<p><strong>On randomization:<\/strong> Like any classic rogue-like game, players will start a new run numerous times, so we had to make sure they do not get bored by presenting something fresh every time. I want to note that \u201cfresh\u201d does not necessarily mean \u201cnew,\u201d but rather \u201cdifferent.\u201d We are a small team and can only create so many new assets and features before players start to encounter the same things again. We had to come up with a plan to utilize our assets in the best way possible to achieve the best effect.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/10\/game-design-deep-dive-randomization-and-frustration-in-everspace-5.jpg\" \/><\/p>\n<p><strong>Creating the sectors:<\/strong> <em>Everspace\u00a0<\/em>enables players to progress a little further on each run because both their skill and their ship\u2019s stats improve every time they play. This correlates directly with how we designed the sectors, and with how we generate each new run. The higher the sector number, the more the difficulty increases in several ways:<\/p>\n<ul>\n<li>Locations (the actual gameplay areas) have a risk rating. \u00a0The higher the sector number, the more locations or jump points it has and the greater the chance that a location will be more difficult and yield more credits and resources. \u00a0Variations in the number and position of locations results in different intersecting paths, some potentially longer or more difficult than others.<\/li>\n<li>The player will encounter more diverse and more difficult enemies as they move forward, requiring the player to become stronger both between runs and during the run itself by finding or crafting better equipment.<\/li>\n<li>Natural hazards occur more often in later sectors, with increasingly challenging hazard types possible.<\/li>\n<li>With each new sector reached, the list of structures that can be encountered (Outlaw outposts, derelict stations, wrecks, asteroids, etc.) grows.<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/10\/game-design-deep-dive-randomization-and-frustration-in-everspace-6.jpg\" \/><\/p>\n<p><strong>Creating the locations:<\/strong> A location is an area where the actual gameplay takes place. Though it\u2019s a 3D space, it\u2019s not a perfect sphere, but rather a cylinder with a diameter of 10 kilometers and height of about 3 kilometers. \u00a0So it\u2019s basically a flat plane with some room for objects to spawn slightly above and below it. Because we do not have a mini-map, this helps tremendously in finding one\u2019s way.<\/p>\n<p>Each location has a certain number of points it can spend on the POIs (Points of Interest) it can spawn, depending on the selected difficulty level and the current sector number. A POI can be an alien patrol, a freighter wreck, an Outlaw station, a huge hollow asteroid, a mining outpost, etc. Each POI has a score that represents its difficulty and its probability of appearing in a given sector, so many location scenarios are possible: a balanced location with a little bit of everything, or maybe just a few large Outlaw outposts, or perhaps a relatively quiet mining facility with resource freighters and some surprise attacks. Combine that with the randomized appearance and placement of planets, stars, asteroids, plasma fields, black holes, mini-missions, and loot containers, and you get a fresh location each time you play.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/10\/game-design-deep-dive-randomization-and-frustration-in-everspace-7.jpg\" \/><\/p>\n<p>This all sounds like a good way to create a virtually unlimited number of exciting playgrounds, and it is, but there are also downsides:<\/p>\n<ul>\n<li>If you don\u2019t work with a lot of restrictions, strange things will happen. We had asteroids blocking doorways or stationary warships spawning inside of jump gates, making it impossible to get away. We had two of the same type of Outlaw station spawn right next to each other. We had black holes spawn right next to a mining outpost, dragging all NPCs into it immediately. We also had (and sometimes still have) missile turrets that pose no threat because they will always hit an asteroid which spawned directly in front of them.\u00a0<\/li>\n<li>If you work with a lot of restrictions, strange things won\u2019t happen. \u00a0With all the restrictions in place, we still have a lot of variance between locations, but we rarely see any real surprises. There are no locations with just two freighters in it, no locations which are full of asteroids and nothing else, and no locations with a dozen black holes or a battle between fifty NPCs.<\/li>\n<\/ul>\n<p>The price of control is uniformity here. Apply more restrictions, and you will get more reliable, but also less interesting outcomes. Custom scenarios with special rules that come up now and then would have been a nice addition, but this idea did not make it into the game.<\/p>\n<p><strong>Creating the NPCs:<\/strong> We intentionally excluded all non-player characters from any randomization except for the loot they drop and the length of freighters. So you can be sure that Outlaw Scouts will spot you at a 2.8km range, shoot at you with Gatling guns, and have more hull than shield hit points. This is important because it allows memorization of each unit\u2019s behavior. The first encounter may be surprisingly hard, but the more players observe their enemies, develop their skills, and learn how to best use their equipment, the more seasoned and capable they will become. Randomized enemies would only dilute this \u201cGit Gud\u201d experience.<\/p>\n<p><strong><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2017\/10\/game-design-deep-dive-randomization-and-frustration-in-everspace-8.jpg\" \/><\/strong><\/p>\n<p><em>Everspace\u00a0<\/em>is a game that combines old-school skill-based dogfighting with modern rogue-like (or more fittingly \u201crogue-lite\u201d) elements. Not going for the all-embracing epic space opera and being limited to a small team helped us focus on the most important features: Live-Die-Repeat game loop, easy controls, and impressive graphics (because I heard they were pretty good).<\/p>\n<p>Exploring the power of randomization has taught me a lot, and I can see its usefulness for multiple upcoming projects. Also, keeping players happy after the Game Over screen and motivating them to try again worked surprisingly well. I\u2019m curious to see how other games will handle this and which combinations of established game design aspects we will see in the future.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Deep Dive is an\u00a0ongoing Gamasutra series\u00a0with the goal of shedding light on specific design, art, or technical features within a video game, in order to show how seemingly simple, fundamental design decisions aren&#8217;t really that simple at all. Check out\u00a0earlier installments, including maintaining player tension levels in\u00a0Nex Machina,\u00a0achieving seamless branching in\u00a0Watch Dogs 2\u2019s Invasion of [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1258,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-1257","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\/1257","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=1257"}],"version-history":[{"count":0,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/1257\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media\/1258"}],"wp:attachment":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media?parent=1257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/categories?post=1257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/tags?post=1257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}