{"id":16425,"date":"2018-04-02T08:57:00","date_gmt":"2018-04-02T08:57:00","guid":{"rendered":"http:\/\/www.gamasutra.com\/view\/news\/315954"},"modified":"2018-04-02T08:57:00","modified_gmt":"2018-04-02T08:57:00","slug":"making-a-civilization-scale-crafting-system-for-jason-rohrers-one-hour-one-life","status":"publish","type":"post","link":"https:\/\/sickgaming.net\/blog\/2018\/04\/02\/making-a-civilization-scale-crafting-system-for-jason-rohrers-one-hour-one-life\/","title":{"rendered":"Making a civilization-scale crafting system for Jason Rohrer&#8217;s One Hour One Life"},"content":{"rendered":"<p>There\u2019s no inventory in <a href=\"http:\/\/onehouronelife.com\/\"><em>One Hour One Life<\/em><\/a>. And yet this online survival game features grand total of 463 craftable objects.<\/p>\n<p>At least, that\u2019s how many there are on the day this is being written. Developer Jason Rohrer is aiming to add another 9,500 over the next two years.<\/p>\n<p>No inventory and a culture-spanning number of objects: these two facts seem entirely incompatible and yet they\u2019re deeply related, resulting from Rohrer attempting to reconcile the realities of being a lone developer with his ambition to create a game that features a crafting system on the scale of human civilization.\u00a0<\/p>\n<p><em>One Hour One Life<\/em> is a multiplayer survival game in which players live a lifetime over the course of one hour, if they don\u2019t starve first. They\u2019re born as helpless babies which, for the first few years (minutes) of their lives, must be fed by other players who have lived to adult age.<\/p>\n<p>Once they\u2019re old enough they can start contributing to communal life, farming carrots, tending fires, feeding babies, and steadily building up a sustainable village, if everyone manages to work together.<\/p>\n<h2><strong>Squeezing the history of human tool-making into a game<\/strong><\/h2>\n<p>\u201cThe user interface, part of it is me figuring out as a solo developer, how to make a game that\u2019s as big as all the content that\u2019s in the real world, right?\u201d Rohrer says. \u201cAll the things people made, all the doohickies you have in your house that thousands of people around the world have collaborated to make. That means the game has to have 10,000 things in it eventually. How do I have people craft those things, how can I design and implement it?\u201d<\/p>\n<blockquote>\n<h6><span>&#8220;The user interface, part of it is me figuring out as a solo developer, how to make a game that\u2019s as big as all the content that\u2019s in the real world, right?&#8221;<\/span><\/h6>\n<\/blockquote>\n<p>His answer was a carefully simplified crafting system that\u2019s based on combining one object with another to make a third object. Aiming to produce 100 objects a week, he has stripped down their creation to the bare minimum. He draws each one, creates a sound, if necessary, by recording his own voice, and plugs it into his editor in order to draw relationships between them and other objects. No programming is required.\u00a0<\/p>\n<p>Thus, when Rohrer wanted to add the ability for walls to be broken into rubble, he simply drew a pile of rubble, scanned it, recorded himself making appropriate \u2018krrbbbghhfff\u2019 sound with his mouth, and plugged it into his editor so that \u2018mining pick\u2019 plus \u2019wall\u2019 equals \u2018rubble\u2019.<\/p>\n<p>What\u2019s interesting about this system, which is extremely wide and very shallow, is the way it enables cultures to form in the game. Anxious to survive, players naturally form communities, passing on their knowledge of how their village runs to a new generation, knowing that at the end of their 60-minute life they\u2019ll respawn as a baby near an adult player somewhere else in the world, dependent on them for food.\u00a0<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2018\/04\/making-a-civilization-scale-crafting-system-for-jason-rohrers-one-hour-one-life.jpg\" \/><\/p>\n<p>While this behavior largely emerges from <em>One Hour One Life<\/em>\u2019s survival design, the way in which communities form is informed by subtler cues. One of the most important is the way the game makes crafting visible. When a player is carrying and using objects, everyone can see what they\u2019re doing. \u201dYou lay out your ingredients on the ground and combine them, and you don\u2019t have to explain it,\u201d says Rohrer. \u201cAll someone has to do is watch you and they\u2019ll learn what you\u2019re doing.\u201d He contrasts his approach with that of <em>Minecraft<\/em>, which presents its crafting menu as a grid which is invisible to other players and requires remembering precise configurations of resources.\u00a0<\/p>\n<p>\u201cIt also feels to me more aesthetically like what it feels like to make something,\u201d Rohrer continues. \u201cI lay out the ingredients on the counter or I lay out my tools when I\u2019m making a trellis for my tomato plants, and I\u2019m carrying one tool at a time. I don\u2019t have this huge armful of them. Dealing with clutter is something I really wanted in the game.\u201d<\/p>\n<p>The size of the crafting list also imposed the need to make each recipe memorable. But Rohrer argues that his system is naturally memorable because it\u2019s inherently step-by-step, with the player combining one object with another, and then another. He has put a lot of thought into making these steps logical, so to make a fire, the player starts with combining an ember leaf with tinder to make smouldering tinder, and then waits a few seconds until it turns to burning tinder before combining it with kindling to make a fire.<\/p>\n<p>\u201cI\u2019ve broken interactivity into this very coarse simulation of what it\u2019s like to use one thing on another thing,\u201d Rohrer says, explaining that it enables many ways of making similar things, such as the game\u2019s 18 different flavours of pie and the fundamental differences between what it takes to make a sealskin coat to a rabbit fur coat.\u00a0<\/p>\n<p>\u201cClubbing a seal is very different to snaring a rabbit,\u201d he says. \u201cThat deep and multifaceted interactivity is possible when you simplify crafting down. If you think about <em>Minecraft<\/em>\u2019s crafting grids they\u2019re hard to remember, and <em>Don\u2019t Starve<\/em> shows you a menu but it\u2019s kind of arbitrary. It takes three stones plus two wood to make a hatchet and I always have to check the list again, even though I\u2019ve been playing for hours. There\u2019s something about step-by-step crafting that\u2019s easy to remember.\u201d<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/www.sickgamedev.win\/wp-content\/uploads\/2018\/04\/making-a-civilization-scale-crafting-system-for-jason-rohrers-one-hour-one-life-1.jpg\" \/><\/p>\n<p>Still, Rohrer implemented an official wiki for <em>One Hour One Life<\/em>, which lists all its crafting recipes. \u201cI don\u2019t necessarily want-want-want there to be a wiki but at the same time I know it\u2019s going to happen,\u201d he says, recognising that players will need guidance on the game\u2019s peculiarities. \u201cI don\u2019t see it as antithetical to what the game is about because once you know how to do something you don\u2019t forget it, and knowledge is spreading inside the game.\u201d<\/p>\n<p>The way knowledge spreads is fascinating, partly down to the crafting system\u2019s visual nature, partly to <em>One Hour One Life<\/em>\u2019s chat system, and partly down to the challenges Rohrer has designed into the game. Players can simply watch a village\u2019s customs and copy them, but they\u2019re also able to send messages to each other. The amount a player can say depends on how old they are. Newborns can say only one letter (\u201cF\u201d is the established form for indicating hunger), while elderly characters can type out entire sentences.<\/p>\n<p>\u201cSome of the more successful villages are very organized,\u201d says Rohrer. \u201cAs soon as you\u2019re born they take you to a corner where there\u2019s a fire and all these other babies. One woman is in charge of nursing them and there\u2019s another elderly player there who\u2019s in charge of teaching the babies the rules of the village. She asks, \u2019Do you know the three tenets of life in the village?\u2019 There\u2019s this system of only eating picked carrots, never from the field because the farmer is charge of that, and you\u2019d be assigned a task when you\u2019re of age. They pass down the mantle of responsibilities.\u201d<\/p>\n<blockquote>\n<h6><span>&#8220;It\u2019s much more interesting if there\u2019s a hard failure, it\u2019s a very dramatic turning point for the community if the well &#8216;done gone dry!&#8217; That\u2019s interesting, and if there isn\u2019t a good way to recover from it players have to come together and have a culture around well usage.&#8221;<\/span><\/h6>\n<\/blockquote>\n<p>While they\u2019re enabled by text and the game\u2019s visual nature, these cultures are shaped by wrinkles Rohrer has placed in the game\u2019s design to govern its survival systems and present challenges to sustaining civilization. Early on, he figured that the game couldn\u2019t have limited food resources, since he couldn\u2019t know how many players would be coming into any given area. But he soon saw playtesters relying entirely on the infinite berry bushes he\u2019d added to prevent starvation, and never developing farming systems. Why bother when you have an easy source of food? So he limited many resources, such as milkweed plants, which die off if they\u2019re harvested outside of their fruiting season, and wells, which are exhausted when they\u2019re emptied.<\/p>\n<p>\u201cA lot of people ask to be able to repair or refill the well, but that\u2019s not interesting to me,\u201d Rohrer says. \u201cIt\u2019s one weird trick you can use to recover from catastrophe and it becomes busywork. It\u2019s much more interesting if there\u2019s a hard failure, it\u2019s a very dramatic turning point for the community if the well\u201d \u2013 he puts on a hillbilly accent \u2013 \u201cdone gone dry! That\u2019s interesting, and if there isn\u2019t a good way to recover from it players have to come together and have a culture around well usage.\u201d<\/p>\n<p>He began noticing players starting to come up with ways of managing their wells, having someone keep track of them or using rocks to record how much had been extracted. The same went for an exploit players used to grow infinite carrots, and which led to a village surviving for 22 generations, which was the then longest-surviving. So he changed it, having carrots deplete soil fertility and introducing ways of restoring it.<\/p>\n<p>\u201cI want mistakes to accumulate over time to the point where the village can\u2019t keep going. If you let a few too many carrots go to seed, which burns up fertile soil, you get too many seeds and run out of soil to seed them into and the village is on this road to ruin, eventually. I know it\u2019s possible to have a village live forever, but it\u2019s really hard and that\u2019s what makes it interesting.\u201d<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There\u2019s no inventory in One Hour One Life. And yet this online survival game features grand total of 463 craftable objects. At least, that\u2019s how many there are on the day this is being written. Developer Jason Rohrer is aiming to add another 9,500 over the next two years. No inventory and a culture-spanning number [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":16426,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"class_list":["post-16425","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\/16425","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=16425"}],"version-history":[{"count":0,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/16425\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media\/16426"}],"wp:attachment":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media?parent=16425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/categories?post=16425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/tags?post=16425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}