aboutsummaryrefslogtreecommitdiff
path: root/specs/specs_book.html
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-06-18 19:36:36 +0200
committermetamuffin <metamuffin@disroot.org>2024-06-23 19:21:22 +0200
commit48934ff63ee14d4759eda36512af87361dd915dd (patch)
treef7a80115eacfee7b6871040a87f5fb0087098ea8 /specs/specs_book.html
parent6ec47d729509db83eaeb6a9d855ce2483d70f227 (diff)
downloadhurrycurry-48934ff63ee14d4759eda36512af87361dd915dd.tar
hurrycurry-48934ff63ee14d4759eda36512af87361dd915dd.tar.bz2
hurrycurry-48934ff63ee14d4759eda36512af87361dd915dd.tar.zst
remodel game.
Diffstat (limited to 'specs/specs_book.html')
-rw-r--r--specs/specs_book.html131
1 files changed, 0 insertions, 131 deletions
diff --git a/specs/specs_book.html b/specs/specs_book.html
deleted file mode 100644
index becff66e..00000000
--- a/specs/specs_book.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<h1 id="undercooked">Undercooked</h1>
-<p>A cooperative fast-paced game about running a restaurant together.</p>
-<h1 id="alt-names">Alt Names</h1>
-<ul>
-<li>Undercooked</li>
-<li>Flussigstätte</li>
-<li>Das Geölterestaurant</li>
-</ul>
-<h1 id="game-loop-summary">Game Loop Summary</h1>
-<p>A game starts, you and friends are given basic starting supplies with sufficent amount for a small first day.</p>
-<p>Then you go to selecting your opening hours for the first day. Longer opening times means more profit IF it can be met. For a first day, it is recommended you stick to a short 11:00 till 15:00 opening hours (Each in game hour is 2 minutes irl). (Keep in mind the rush hours of 13:00 &amp; 19:00, and the downtime of 15:00) Then the first day(round) starts.</p>
-<p>During the course of the day, customers will start to come in. You &amp; your friends’ job is to: 1. wait for them to decide on an order 1. take their order 1. prepare the dish 1. serve the dish in time 1. take &amp; clean dirty dishes when they finish During the day, there’ll be many orders going simultaneously; the challenge is handling them in parallel.</p>
-<p>By the end of the day, at closing time, the restaurant will close (ie no longer accept new customers), but you’ll get an extra hour post closing to finish up the last few orders.</p>
-<p>After that 1 hour grace closing period, the day(round) ends, and you’ll be meet with a summary sheet of your performance. Then you’ll be met with the upgrades screen, where you can purchase upgrades &amp; unlock new recipes for your restaurant. Then you’ll be met with the supply screen, where you’ll see how much of each raw items you have in stock, and where you can buy extra for tomorrow(next round). (Keep in mind, that any net profits will be taxed 10% by the goverment. In case of no net profit (or loss), there’ll be no tax.)</p>
-<p>Rinse &amp; repeat. But starting from day 2, before you decide when to open, there’ll be a summary screen of the previous day’s(round’s) customer’s arrival times. (expect today’s rush &amp; peak hours and number of customer to not be too drastically different from yesterday.)</p>
-<p>Goodluck Cooking!</p>
-<h1 id="sections">Sections</h1>
-<h3 id="introduction">00. Introduction</h3>
-<p>Short summary of how the game works from the player’s prespective.</p>
-<h3 id="game-loop-summary-1">01. Game Loop Summary</h3>
-<p>Short summary of how the game works from the player’s prespective.</p>
-<h3 id="sections-1">02. Sections</h3>
-<p>Short summary of the different sections of this design document. (You are here)</p>
-<h3 id="mechanics">03. Mechanics</h3>
-<p>Short summary of each of the different mechanics of the game.</p>
-<h3 id="game-setup">04. Game Setup</h3>
-<p>Intial game setup at the start of a new game.</p>
-<h3 id="game-loop-todo">05. Game Loop (!TODO)</h3>
-<p>The game loop of the game.</p>
-<h3 id="a.-pre-round-todo">05.a. Pre Round (!TODO)</h3>
-<p>Everything that happens before opening.</p>
-<h3 id="b.-round-todo">05.b. Round (!TODO)</h3>
-<p>Everything that happens during a day.</p>
-<h3 id="c.-post-round-todo">05.c. Post Round (!TODO)</h3>
-<p>Everything that happens after closing.</p>
-<h3 id="demand">06. Demand</h3>
-<p>Details of the computation of the customers’ group traffic &amp; size and demand scaling.</p>
-<h3 id="service-todo">07. Service (!TODO)</h3>
-<p>Details of how customers behave.</p>
-<h3 id="items-todo">08. Items (!TODO)</h3>
-<p>Details of all items: raw, meals, inbetweens, &amp; their pipelines with flow graphs.</p>
-<h3 id="unlocksupgrades-todo">09. Unlocks/Upgrades (!TODO)</h3>
-<p>Details of all the stuff that is locked and can be unlocked during the course of a game.</p>
-<h3 id="hud-todo">10. HUD (!TODO)</h3>
-<p>Visual elements of the screen.</p>
-<h1 id="mechanics-1">Mechanics</h1>
-<h2 id="grid">01. Grid</h2>
-<p>The restaurant(game area) is split into grid cells called tiles. A tile may be walkable if it has no furniture or appliances.</p>
-<h2 id="items">02. Items</h2>
-<p>An item is anything that can be carried by the player. Such items include plates, meals(eg burger), and raw foods(eg flour). Only one item may be carried at a time.</p>
-<h2 id="recipes">03. Recipes</h2>
-<p>Recipes are how items can be made into other items alone or by combining. Some recipes take raw foods(eg tomatoes-&gt;sliced tomatoes), but not all(eg dough-&gt;bread). Some result in servicable meals(eg bread + cooked steak -&gt; burger), but not all(eg flour-&gt;dough). Some combine instantly(eg sliced tomatoes + plate -&gt; tomato meal), but some require waiting(eg dough-&gt;bread in oven), others require active cooking(by holding down the action button for some duration)(eg flour-&gt;dough).</p>
-<h2 id="clock">04. Clock</h2>
-<p>Usual opening hours 12:00-22:00 (10 hours) last 20 irl minutes. This can be shortened or elongated (min 1 hour, max 24 hours from 00:00 to 24:00). Not all opening times are equal, some will result in more or fewer customers. But even when they’ll result in more or less customers will shift from day to day. But consecutive days will usually result in similar traffic graphs.</p>
-<h2 id="activepassive-time-sink-actions">05. Active/Passive Time Sink Actions</h2>
-<p>As stated <a href="#03-recipes">above</a>, some actions will not be instant. As an example, kneading flour into dough will require the player to hold down the action button for 5 seconds. But some are done passively, for example, baking dough into bread requires the player to put the dough into the oven, it will then start to be bake, and the player can return in 20 seconds to grab their baked bread.</p>
-<h2 id="customers">06. Customers</h2>
-<p>Customers come during opening hours, usually alone or in groups of 2. Customers will find a seat, and then will usually take 0:20 (ie 10 seconds) to decide what to order. Customers will always order 1 meal, once they decided on their order, most will only wait for their order to be fuffilled in 0:40 (ie 20 seconds). If not serviced in 0:40, they’ll get angry, leave and decrease your star rating. (also they won’t pay; also the entire group will leave) If serviced, you’ll get money from 1€ to 10€. If the entire group is serviced, you’ll also increase your star rating, and they’ll leave leaving dirty dishes behind, making room for other customers.</p>
-<h2 id="money">07. Money</h2>
-<p>Money is in €, it is gained by fuffiling orders. It can be used to buy raw supplies and unlocks.</p>
-<h2 id="raw-supply">08. Raw Supply</h2>
-<p>Can be ordered for the next day after closing and finishing off a day. Each raw item has a seperate expiry duration, some are short(eg steak must be used in 2 days), some are essentially infinite(eg water has a duration of 1000 days). When used during the day, items closer to the expiry date are used first.</p>
-<h2 id="star-rating">09. Star Rating</h2>
-<p>Goes from 0 stars to 5. Gained by fuffiling orders of an entire customer table (+0.03 stars). Lost by not doing so (-0.12 stars). Does nothing.</p>
-<h2 id="unlocksupgrades">10. Unlocks/Upgrades</h2>
-<p>Not all items, raw supplies, &amp; recipes are unlocked at the start of the game. But they can be purchased at the end of a day. When an unlock(eg bread) is purchased, all of its assoicated items(ie flour, dough, &amp; bread), raw item supplies(ie flour supply), and recipes(ie flour-&gt;dough and dough-&gt;bread, and if steak is also unlocked then eg burger will also be unlocked).</p>
-<h1 id="game-setup-1">Game Setup</h1>
-<h2 id="restaurant">Restaurant</h2>
-<p>The game intially starts with 0€, and only tomatoes unlocked. You start out with an intial supply of 10 tomatoes in the tomato bag.</p>
-<p>With the restaurant in this form</p>
-<pre><code>+--------------------+
-|ctc.ctc.ctc.ctc.ctc.|
-|.....c..............|
-|c...c...+--www---dd-+
-|tc.ctc..|##...##W..#|
-|c...c...w..........S|
-|c.......w..######..T|
-|tc......w..........F|
-|c.....ct|##ss##ooo##|
-+---dd---+-----------+</code></pre>
-<ul>
-<li><code>.</code>: nothing</li>
-<li><code>+</code>,<code>-</code>,<code>|</code> : walls</li>
-<li><code>d</code>: door</li>
-<li><code>t</code>: table</li>
-<li><code>c</code>: chair</li>
-<li><code>#</code>: counter</li>
-<li><code>w</code>: counter(window)</li>
-<li><code>s</code>: sink</li>
-<li><code>o</code>: oven</li>
-<li><code>W</code>: watercooler</li>
-<li><code>S</code>: [steak] freezer</li>
-<li><code>T</code>: tomoto bag</li>
-<li><code>F</code>: flour bag</li>
-</ul>
-<h2 id="demand-1">Demand</h2>
-<p>Check the <a href="06.Demand.md">Demand section</a> for more info on what this means.</p>
-<p>Demand scale starts at 0%. (from -50% to +50%)</p>
-<p>Demand graph starts at offset 9 hours. <br /><img style="vertical-align:middle" src="https://latex.codecogs.com/png.latex?%5Cdisplaystyle%20%5Csin%5Cleft%283%5Csin%5Cfrac%7B%5Cleft%28hour%2Boffset%5Cright%29%7D%7B2%7D%5Cright%29%2B1" alt="\sin\left(3\sin\frac{\left(hour+offset\right)}{2}\right)+1" title="\sin\left(3\sin\frac{\left(hour+offset\right)}{2}\right)+1" /><br /></p>
-<div class="sourceCode" id="cb2"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true"></a>demand = sin(<span class="dv">3</span>*sin((hour+offset)/<span class="dv">2</span>))+<span class="dv">1</span></span></code></pre></div>
-<h1 id="pre-round">Pre Round</h1>
-<p>!TODO</p>
-<h1 id="round">Round</h1>
-<p>!TODO</p>
-<h1 id="post-round">Post Round</h1>
-<p>!TODO</p>
-<h1 id="demand-2">Demand</h1>
-<p>Every tick(?TODO: specify further), a probability is sampled from <a href="#the-demand-equation">the demand equation</a>, that number is then multiplied by the <a href="#traffic-coefficent">traffic coefficent</a>, that number is then multiplied by the <a href="#the-demand-bias">demand bias</a>, that will give a probability on whether a customer will be spawned on this tick.</p>
-<h3 id="the-demand-equation">The Demand Equation</h3>
-<p><br /><img style="vertical-align:middle" src="https://latex.codecogs.com/png.latex?%5Cdisplaystyle%20%5Csin%5Cleft%283%5Csin%5Cfrac%7B%5Cleft%28hour%2Boffset%5Cright%29%7D%7B2%7D%5Cright%29%2B1" alt="\sin\left(3\sin\frac{\left(hour+offset\right)}{2}\right)+1" title="\sin\left(3\sin\frac{\left(hour+offset\right)}{2}\right)+1" /><br /></p>
-<div class="sourceCode" id="cb3"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true"></a>demand = sin(<span class="dv">3</span>*sin((hour+offset)/<span class="dv">2</span>))+<span class="dv">1</span></span></code></pre></div>
-<p>(always nonnegative below 2)</p>
-<p>every day the <code>offset</code> will be offset by <code>[-1,1]</code> multiplied by the <a href="#sway-coefficent">sway coefficent</a>.</p>
-<div class="sourceCode" id="cb4"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true"></a>offset += rand(-<span class="dv">1</span>,<span class="dv">1</span>) * sway</span></code></pre></div>
-<h3 id="the-demand-bias">The Demand Bias</h3>
-<p>Demand scale starts at 0%. (from -50% to +50%)</p>
-<p>every day the <code>bias</code> will be offset by <code>[-10,10]</code> multiplied by the <a href="#sway-coefficent">sway coefficent</a>. (clamped to -50% &amp; 50%).</p>
-<div class="sourceCode" id="cb5"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true"></a>bias += rand(-<span class="dv">10</span>,<span class="dv">10</span>) * sway</span>
-<span id="cb5-2"><a href="#cb5-2" aria-hidden="true"></a>bias = clamp(bias,-<span class="dv">50</span>,<span class="dv">50</span>)</span></code></pre></div>
-<h3 id="traffic-coefficent">Traffic Coefficent</h3>
-<p>Usually 1% can be changed by the host.</p>
-<h3 id="sway-coefficent">Sway Coefficent</h3>
-<p>Usually 50% can be changed by the host.</p>
-<h1 id="service">Service</h1>
-<p>!TODO</p>
-<h1 id="items-1">Items</h1>
-<p>!TODO</p>
-<h1 id="unlocksupgrades-1">Unlocks/Upgrades</h1>
-<p>!TODO</p>
-<h1 id="hud">HUD</h1>
-<p>!TODO</p>