<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Game development &#8211; Tom Francis Regrets This Already</title>
	<atom:link href="https://www.pentadact.com/category/making-games/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.pentadact.com</link>
	<description>We&#039;re back on a default theme because comments broke on my custom one and I don&#039;t have the energy to figure out why</description>
	<lastBuildDate>Thu, 08 Jan 2026 17:47:32 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>
	<item>
		<title>15 Years of Indie Dev In 4 Bits of Advice</title>
		<link>https://www.pentadact.com/2026-01-08-15-years-of-indie-dev-in-4-bits-of-advice/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Thu, 08 Jan 2026 17:47:32 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<guid isPermaLink="false">https://www.pentadact.com/?p=9569</guid>

					<description><![CDATA[It&#8217;s rough in the games industry at the moment, and a lot of folks are spinning up their own thing. So I thought now might be a good time to boil down what feel like the key things I&#8217;ve learned in 15 years of running an indie games studio. If you&#8217;re just arriving, we are [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>It&#8217;s rough in the games industry at the moment, and a lot of folks are spinning up their own thing. So I thought now might be a good time to boil down what feel like the key things I&#8217;ve learned in 15 years of running an indie games studio.</p>
<p>If you&#8217;re just arriving, we are Suspicious Developments. We did:</p>
<ul>
<li><a href="https://store.steampowered.com/app/206190/Gunpoint/">Gunpoint</a> (2013) &#8211; 10k reviews, 98% positive</li>
<li><a href="https://store.steampowered.com/app/268130/Heat_Signature/">Heat Signature</a> (2017) &#8211; 6k reviews, 94% positive</li>
<li><a href="https://store.steampowered.com/app/1043810/Tactical_Breach_Wizards/">Tactical Breach Wizards</a> (2024) &#8211; 10k reviews, 98% positive</li>
</ul>
<p>I&#8217;m the game designer and writer, I do some code, and until recently I ran the company (I now have help).</p>
<p>As you might be able to tell from the list, our games are all over the place in development time and genre. But they all sold great and reviewed great, and to the extent that we controlled that at all, I credit it to prioritising <strong>sustainability</strong>. </p>
<p>That means definining success not in total sales or accolades, but in <strong>how sure you can be of making another game at a happy, comfortable pace</strong>. All our games made more than twice their money back, and we&#8217;ve never been closer than 2 years to running out of funds.</p>
<p>The biggest factor in getting to that position, of course, was sheer luck: we made our first game in our spare time, with no budget, and it came out at the perfect time: 2013. Indie games had started to make real money on Steam, but the scene wasn&#8217;t flooded yet, so a small-scope thing from first timers had much easier time selling. That kickstart from zero to game-budget-money is ultimately why we&#8217;ve never needed a publisher.</p>
<p>So I&#8217;m not the right person to ask about startup funding. But we weren&#8217;t that rare in our first success, and we are increasingly rare in our still-being-here, still-making-stuff, still-independent. So I can at least advise on how to make what you have go as far as possible. </p>
<p>Looking back, this is what feels like the highest-impact, most-copyable aspects of that. I hope it can be of help.</p>
<p><strong>Why four?</strong><br />
Look, I&#8217;ve only been at it 15 years. It&#8217;s gonna take me til 2030 to learn a fifth thing.</p>
<p><strong>Contents</strong></p>
<ol>
<li><a href="#small">Stay as small as you can</a></li>
<li><a href="#prototype">Pick something prototypable</a></li>
<li><a href="#testing">Testing is the magic bullet</a></li>
<li><a href="#price">Price is a solved problem</a></li>
<li><a href="#timeline">A timeline, to illustrate</a></li>
</ol>
<hr />
<h4 id="small">1. Stay as small as you can</h4>
<p><a href="https://www.pentadact.com/wp-content/team-size-scaled.jpg"><img fetchpriority="high" decoding="async" src="https://www.pentadact.com/wp-content/team-size-scaled.jpg" alt="" width="2560" height="969" class="alignnone size-full wp-image-9597" srcset="https://www.pentadact.com/wp-content/team-size-scaled.jpg 2560w, https://www.pentadact.com/wp-content/team-size-500x189.jpg 500w, https://www.pentadact.com/wp-content/team-size-1024x388.jpg 1024w, https://www.pentadact.com/wp-content/team-size-178x67.jpg 178w, https://www.pentadact.com/wp-content/team-size-768x291.jpg 768w, https://www.pentadact.com/wp-content/team-size-1536x581.jpg 1536w, https://www.pentadact.com/wp-content/team-size-2048x775.jpg 2048w" sizes="(max-width: 2560px) 100vw, 2560px" /></a></p>
<p>I hate to say this at a time when it would sure be nice if there were more jobs, but I say it to encourage more stable jobs. Staffing up doesn&#8217;t really create jobs if it leads to layoffs or closure, and it fucks with a lot of lives along the way. </p>
<p>I think we only get to a healthier industry for workers when more studios are sustainable, and more jobs are stable. And things get unstable very fast as you grow.</p>
<p>The maths of how team size affects your chance of success is brutal:</p>
<ul>
<li>Success is making more money than you spent</li>
<li>Doubling your team size doubles the amount of money you need to make</li>
<li>But as the numbers go up, vanishingly fewer games make that much money. So it&#8217;s not just half the chance of success, it might be a tenth</li>
</ul>
<div class="Boxout">
<a href="#" onclick="toggle_visibility('hirefaster');return false;">
<h5>But wouldn&#8217;t more people make development faster? <i class="Expander"></i></h5>
</a>
<div id="hirefaster" style="display: none;">
<p>That&#8217;s the dream! But I think it very rarely works that way.</p>
<p>If you&#8217;re hiring someone to do a job no-one&#8217;s doing, that&#8217;s generally making the game bigger or better, not quicker.</p>
<p>If you&#8217;re hiring someone to accelerate something you already do:</p>
<ul>
<li>Onboarding is costly</li>
<li>Co-ordination is costly</li>
<li>Conflict is costly</li>
<li>And most indie game dev work is not churn</li>
</ul>
<p>By churn I mean: work where <em>what</em> needs doing is completely figured out and understood, it&#8217;s just a question of churning it out. That&#8217;s the kind of work where you can reasonably hope more people will mean less time, but even then it&#8217;s only budget-neutral in a perfect vacuum where all the other factors I mentioned have zero impact.</p>
<p>In practice, most indie dev work is the figuring-out part. More voices in those conversations can lead to a better game, but they rarely bring release day closer.</p></div>
</div>
<p>For reference, Suspicious Developments&#8217; average burn rate is about 3 full time salaries. I think if we had scaled up to 8 after Gunpoint, we would have made a bad game next, then no games at all.</p>
<p>Heat Signature was a tough game to figure out, and if we&#8217;d had less than 3.5 years of runway to test and iterate, we would have just had to release it in a bad state. If we&#8217;d had <em>only</em> 3.5 years of runway, I&#8217;d have been stressed as hell and the company would have collapsed if it wasn&#8217;t a hit.</p>
<p>We haven&#8217;t been consistent because all our ideas are golden, we&#8217;ve done it by staying small enough to keep testing and working until they&#8217;re good. And that&#8217;s a more sustainable kind of success, because rolling with punches is built in.</p>
<p>A lower burn rate is a superpower. There&#8217;s nothing else that&#8217;s fully within your control that can so dramatically increase your chances of success.</p>
<hr />
<h4 id="prototype">2. Pick something prototypable</h4>
<div class="Caption"><a href="https://www.pentadact.com/wp-content/dual-knockback-gif-1.gif"><img decoding="async" src="https://www.pentadact.com/wp-content/dual-knockback-gif-1.gif" alt="" width="897" height="575" class="alignnone size-full wp-image-9598" /></a>This didn&#8217;t really work, which was useful to know 6 years before launch.</div>
<p>By &#8216;prototype&#8217; I mean a playable build that meaningfully shows what&#8217;s good about your game &#8211; a proof of concept. </p>
<p>A prototypable project is one where you can build that in an amount of time you can afford to lose. If you <em>can</em> make a prototype but it&#8217;s gonna take 3 years, it can&#8217;t serve the main purpose of a prototype: to check this game idea works while there&#8217;s still time to change tack.</p>
<p>Being able to do this quickly is crucial for two reasons:</p>
<p>1. If the prototype ends up proving your idea <strong>doesn&#8217;t work</strong>, or is beyond your means, you&#8217;re gonna want as much time as possible to do something about that.</p>
<p>2. If your prototype proves the idea <strong>can work</strong>, how much time you have left directly determines how good the game will actually be.</p>
<p>It&#8217;s also just incredibly motivating and clarifying for the whole team to be able to play the game they&#8217;re working on, and see where it&#8217;s headed.</p>
<p>So:</p>
<ul>
<li>Choose your project based heavily on which seems the easiest to prototype.</li>
<li>Pick stuff you can prototype with the people you already have.</li>
<li>Don&#8217;t obsess about anything until you have a prototype: you don&#8217;t know what&#8217;s important yet.</li>
<li>Assume everything you do before you have a prototype might need to be scrapped or redone.</li>
</ul>
<div class="Boxout">
<a href="#" onclick="toggle_visibility('noproto');return false;">
<h5>The genre or idea I&#8217;m married to is not suited to prototyping!<i class="Expander"></i></h5></a>
<div id="noproto" style="display: none;">
<p>Keep in mind a prototype doesn&#8217;t have to be testing a game mechanic, it&#8217;s just the smallest chunk of game you can build that shows what&#8217;s good about your game. A gameplay prototype might have no art but prove a mechanic feels good, a prototype for an art-driven game might be a single room built to final-quality visual standards, and a narrative prototype might be the opening chunk of story that&#8217;s supposed to spark the player&#8217;s intrigue.</p>
<p>If your idea truly can&#8217;t be prototyped, then, yes, I&#8217;m saying it&#8217;s probably not a smart pick for an indie project. It might be a great idea, but investing years of your life and all of your money into a game with no external evidence that anyone will like it is like playing Russian roulette with five bullets in the gun. </p></div>
</div>
<hr />
<h4 id="testing">3. Testing is the magic bullet</h4>
<div class="Caption"><a href="https://www.pentadact.com/wp-content/level-ratings-waves.gif"><img decoding="async" src="https://www.pentadact.com/wp-content/level-ratings-waves.gif" alt="" width="1050" height="649" class="alignnone size-full wp-image-9599" /></a>How did we make Wizards good? We asked players which bits were bad, then fixed them.</div>
<p>You are going to take an exam that costs all of your life savings to sit. If you ace this exam, you&#8217;ll win 2-10 times your life savings. The games-playing public already knows all the answers to the exam, and will tell you if you ask them.</p>
<p>It is incredible how many devs don&#8217;t ask them. Or don&#8217;t ask enough of them. Or don&#8217;t ask them early enough, or enough times.</p>
<p>Testing can be a fair bit of work and time, but nothing is as expensive as launching without it.</p>
<div class="Boxout">
<a href="#" onclick="toggle_visibility('starttesting');return false;">
<h5>When to start <i class="Expander"></i></h5></a>
<div id="starttesting" style="display: none;">
<p>Once you have an internal prototype, I think your next milestone should be getting it ready for other people to play. Asking what it needs for other people to &#8216;get it&#8217; helps focus you on the stuff that matters most, and the questions that most need answering.</p>
<p>Your first external test can be with a handful of friends, it&#8217;s just easing you into sending it out to people, and giving you early warning of any issues you might wanna fix before testing at scale.</p>
<p>Don&#8217;t take anyone&#8217;s feedback too seriously yet, small-scale testing can be very unrepresentative of the general audience.
</p></div>
</div>
<div class="Boxout">
<a href="#" onclick="toggle_visibility('scaletesting');return false;">
<h5>When to scale up <i class="Expander"></i></h5></a>
<div id="scaletesting" style="display: none;">
<p>Once you&#8217;ve got anything resembling the game &#8211; it does not need to be remotely content-complete &#8211; test at scale.</p>
<ul>
<li>Try to enlist at least 100 testers, more the merrier up to about 2,000. If you can&#8217;t get 100 people to play your game for free, then that already answers one of the questions about how your launch will go, and you should address that first.</li>
<li>As much as possible, get fresh testers each time you test. You never know how experience of a previous build might skew the feedback.</li>
<li>For gathering feedback, the bare minimum is a Google Form linked in your mailout and in-game. I recommend asking them to rate the game out of ten: it&#8217;s very satisfying to see that average go up. And it also lets you filter the feedback if you&#8217;re looking for eg the complaints of people who truly hated the game, or the perhaps more-solvable niggles of people who gave it 6/10.</li>
<li>Expect to do at least two rounds of this, separated by at least a month of dev time to react to feedback. We usually do four or five rounds.</li>
</ul>
</div>
</div>
<div class="Boxout">
<a href="#" onclick="toggle_visibility('inperson');return false;">
<h5>In-person testing vs remote<i class="Expander"></i></h5></a>
<div id="inperson" style="display: none;">
<p>Testing at scale (which pretty much has to be remote) tells you what the problems are. Watching people play will help you see how to solve them.</p>
<p>I consider the first to be essential and the second to be used as-needed. </p>
<p>With Heat Signature, we knew that a chunk of players struggled with the Newtonian physics of the ship movement, but it wasn&#8217;t until I watched them struggle in person that I saw the issue: some people can&#8217;t mentally factor in relative velocities. So we added a button that matches your speed to the ship you&#8217;re approaching, and that helped a huge amount. </p>
<p>On Wizards, though, we never really hit a sticking point that we struggled to understand like that. So we did almost zero in-person testing, and it didn&#8217;t seem to hurt &#8211; I think it&#8217;s our most polished game.
</p></div>
</div>
<div class="Boxout">
<a href="#" onclick="toggle_visibility('weirdgame');return false;">
<h5>But I wanna make a weird, nasty lil game! <i class="Expander"></i></h5></a>
<div id="weirdgame" style="display: none;">
<p>Cool, then you should definitely test a lot! Testing a game doesn&#8217;t mean &#8216;ask players what you should change about it, then helplessly do what they tell you&#8217;. </p>
<p>You&#8217;re still the designer, you make the decisions. You even decide the questions &#8211; tailor them to what you&#8217;re trying to achieve.</p>
<p>If you want it to feel weird and unpleasant, find out if it&#8217;s landing that way! Find out where the sweet spot is between feeling unsettled and losing the will to play. That&#8217;s a much smaller target than &#8216;fun&#8217;, so you&#8217;re gonna need testing even more than I do.
</p></div>
</div>
<p>This phase of development is called &#8216;making the game good&#8217;, and if you don&#8217;t have time for it, that&#8217;s as big of a problem as it sounds.</p>
<hr />
<h4 id="price">4. Price is a solved problem</h4>
<p><a href="https://www.pentadact.com/wp-content/price-graph.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/price-graph.png" alt="" width="1142" height="489" class="alignnone size-full wp-image-9602" srcset="https://www.pentadact.com/wp-content/price-graph.png 1142w, https://www.pentadact.com/wp-content/price-graph-500x214.png 500w, https://www.pentadact.com/wp-content/price-graph-1024x438.png 1024w, https://www.pentadact.com/wp-content/price-graph-178x76.png 178w, https://www.pentadact.com/wp-content/price-graph-768x329.png 768w" sizes="auto, (max-width: 1142px) 100vw, 1142px" /></a></p>
<p>On a pretty real level, your sales are a function of:</p>
<ol>
<li>How many people arrive at your Steam page</li>
<li>How much your Steam page makes them want to buy it</li>
<li>How much it costs</li>
</ol>
<p>The first one is famously hard. The second one heavily depends on making the game good, which you&#8217;re gonna spend 90% of your time on.</p>
<p>The third one is just a single number you can change in 30 seconds, and you can find out the correct value for it in one round of testing.</p>
<p>We just ask people how much they think the game should cost, and every time we&#8217;ve gone with the price most people chose, and every time they&#8217;ve sold great and reviewed great.</p>
<div class="Boxout">
<a href="#" onclick="toggle_visibility('notchairs');return false;">
<h5>But we worked long and hard on this, we can&#8217;t charge less than X! <i class="Expander"></i></h5></a>
<div id="notchairs" style="display: none;">
<p>I&#8217;ve never understood this argument. It seems to be rooted in the idea that increasing the game&#8217;s price increases the developer&#8217;s profit margin &#8211; it doesn&#8217;t. It doesn&#8217;t even increase your revenue.</p>
<p>If you spend a month making a beautiful artisanal chair, sure, you have to sell it for at least a month&#8217;s wages. But we don&#8217;t sell chairs. We don&#8217;t even sell games. We sell copies of games, which incur no per-copy cost to replicate.</p>
<p>The audience is effectively infinite, and pricing is elastic within reasonable bounds. So if players say your game&#8217;s worth $20 and you charge $10, you&#8217;ll sell about twice as many copies and make half as much per copy &#8211; same revenue. If you charge $30, you&#8217;ll sell fewer copies at more money per copy, but it might hurt your review percentage and the enthusiasm of your word of mouth. If you charge $40 that&#8217;ll happen for sure, and you might also be outside those &#8216;reasonable bounds&#8217;, where nothing is guaranteed.</p>
<p>In that system, charging more than the optimal price only loses you money. The harder you worked, the more you invested, the more you need it to succeed, the more urgent it is that you ask the <em>right</em> price.</p>
<p>And the right price is just what people are happy to pay. A million complex factors go into it, but you don&#8217;t need to know what they are. You can just ask your testers what they&#8217;d pay. Set the price to that, and you won&#8217;t be far wrong.</p></div>
</div>
<div class="Boxout">
<a href="#" onclick="toggle_visibility('racebottom');return false;">
<h5>But isn&#8217;t there a race-to-the-bottom? <i class="Expander"></i></h5></a>
<div id="racebottom" style="display: none;">
<p>If you count the 9 years I covered them as a games journalist, I&#8217;ve been paying attention to indie game prices on PC professionally for 22 years now, and I haven&#8217;t seen one. </p>
<p>In 2010 people were arguing about whether $15 was too much for an indie game. When we released Gunpoint in 2013, there was debate about whether $10 was too much for 3 hours. The grumbling&#8217;s always been there, and the numbers being thrown around back then weren&#8217;t higher.</p>
<p>What I have seen is just more everything. More successes at every price point, more failures at every price point, more developers, more competition, more noise. </p>
<p>Among the many genres and models that didn&#8217;t exist back then is the occasional janky/silly/ugly game charging $5 to encourage a kind of &#8216;fuck it, why not&#8217; good will, and blowing up if it lands right with streamers. That might bring the median price down, but it&#8217;s not a sign that people will no longer pay $20 for an indie game.</p>
<p>A race to the bottom would be if people were bitching about Silksong costing as much as Hollow Knight. But Silksong charged $5 more, 9 years later, and people <em>lost their minds</em> that it was gonna be that cheap &#8211; even before they saw how huge it is.</p>
<p>I guess I&#8217;d ask: how bad, how real, and how important a cause would this have to be for you to tank your launch for it? And are you the size of studio for which that sacrifice would have any actual impact on the problem?</p></div>
</div>
<hr />
<h4 id="timeline">A timeline, to illustrate</h4>
<p>I&#8217;m a visual thinker, so I laid all this out on a timeline. The positions are arbitrary, of course, but there&#8217;s no realistic place to put those five lines that doesn&#8217;t make doubling your headcount terrifying for your breathing room on both quality and stability.</p>
<p><a href="https://www.pentadact.com/wp-content/gamedev-timeline.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/gamedev-timeline.png" alt="" width="2382" height="854"/></a></p>
<p>Obviously most of this post is broadly aligned with conventional wisdom. But the thing I want to yell about, that people don&#8217;t seem to internalise enough, is how dramatically and reliably having more time, with a testable build, converts to your game being better and your studio being safer. </p>
<p><strong>But does making a good game guarantee a hit?</strong></p>
<p>Nope! But at the indie scale, making a bad one sure prevents it. And staying small helps again here: if you need to sell a million copies at launch, quality alone can&#8217;t ensure it &#8211; marketing and other factors all need to align. If you only need to sell 50k, you can get a lot closer to that with just good word of mouth.</p>
<p>Again, this is not a guide to selling the most copies. It&#8217;s a guide to making whatever funds, talent and good fortune you have go as far as possible, and keeping you better insulated from whatever bullshit happens next. And that comes down to giving yourself as much time as possible, and checking in with players to make sure you&#8217;re spending it well.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Project Battleaxe Dev Log 1: The Four Verbs</title>
		<link>https://www.pentadact.com/2025-06-25-project-battleaxe-dev-log-1-the-four-verbs/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Wed, 25 Jun 2025 17:28:47 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Project Battleaxe]]></category>
		<guid isPermaLink="false">https://www.pentadact.com/?p=9567</guid>

					<description><![CDATA[We&#8217;re working on something new! Can&#8217;t say for sure if it&#8217;ll work out yet, but the core combat part of it is shaping up nicely already, and I wanna show more of the process as we go than I did with Wizards. This is being made in Godot. Get on our mailing list if you [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="VideoWrapper"><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/ekDvdfxuuEI?si=e0oW9MtXJKwUFSWb" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
<p>We&#8217;re working on something new! Can&#8217;t say for sure if it&#8217;ll work out yet, but the core combat part of it is shaping up nicely already, and I wanna show more of the process as we go than I did with Wizards. </p>
<p>This is being made in Godot. Get on our <a href="https://www.suspiciousdevelopments.com/mail/">mailing list</a> if you wanna test when it&#8217;s ready. </p>
<p>And I&#8217;ll prob be posting more clips on Bluesky: <a href="https://bsky.app/profile/pentadact.com">https://bsky.app/profile/pentadact.com</a></p>
<p>Here&#8217;s that earlier clip: <a href="https://youtu.be/Hla3gWrV4TA">https://youtu.be/Hla3gWrV4TA</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>A Snowy Ramble On What Makes Games &#8216;Different Every Time&#8217;</title>
		<link>https://www.pentadact.com/2024-01-19-a-snowy-ramble-on-what-makes-games-different-every-time/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Fri, 19 Jan 2024 21:12:15 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<guid isPermaLink="false">https://www.pentadact.com/?p=9514</guid>

					<description><![CDATA[It&#8217;s snowing, and I have a mic that make me audible outdoors! So I got mildly snowed on while I rambled about board games as roguelikes, what matters when making games &#8216;different every time&#8217;, and how Dune Imperium pulls it off so well.]]></description>
										<content:encoded><![CDATA[<p>It&#8217;s snowing, and I have a mic that make me audible outdoors! </p>
<div class="VideoWrapper"><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/fnvfjGQGOhE?si=diGG0aM5oAO5ioOo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div>
<p>So I got mildly snowed on while I rambled about board games as roguelikes, what matters when making games &#8216;different every time&#8217;, and how Dune Imperium pulls it off so well.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Blundering Into Dead King&#8217;s Bluff</title>
		<link>https://www.pentadact.com/2023-11-13-blundering-into-dead-kings-bluff/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Mon, 13 Nov 2023 19:05:11 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<guid isPermaLink="false">https://www.pentadact.com/?p=9510</guid>

					<description><![CDATA[Blundered into a board game design lately, and it&#8217;s coming together. Here I am talking about it on a cold, sunny, noisy (sorry) day! Will show it in action once some little rules things solidify.]]></description>
										<content:encoded><![CDATA[<p>Blundered into a board game design lately, and it&#8217;s coming together. Here I am talking about it on a cold, sunny, noisy (sorry) day! Will show it in action once some little rules things solidify.</p>
<div class="VideoWrapper"><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/5HeydwQA0Go?si=Fj1J2UI2Ro8V2nbP" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Bone Queen And The Frost Bishop: Playtesting Scavenger Chess In Plasticine</title>
		<link>https://www.pentadact.com/2023-05-28-the-bone-queen-and-the-frost-bishop-playtesting-scavenger-chess-in-plasticine/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Sun, 28 May 2023 01:01:44 +0000</pubDate>
				<category><![CDATA[Feature]]></category>
		<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<guid isPermaLink="false">https://www.pentadact.com/?p=9439</guid>

					<description><![CDATA[My chess variant stalled a while, cos I rarely felt like coding when my work day was done. So I bought a chess set and some plasticine to try some ideas lo-fi style. What follows is how my first game of this iteration of Scavenger Chess played out. The board: littered with precious items and [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>My chess variant stalled a while, cos I rarely felt like coding when my work day was done. So I bought a chess set and some plasticine to try some ideas lo-fi style. What follows is how my first game of this iteration of Scavenger Chess played out.</p>
<p><span id="more-9439"></span></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="950" height="637" class="wp-image-9442" src="https://www.pentadact.com/wp-content/image-2.png" alt="" srcset="https://www.pentadact.com/wp-content/image-2.png 950w, https://www.pentadact.com/wp-content/image-2-500x335.png 500w, https://www.pentadact.com/wp-content/image-2-178x119.png 178w, https://www.pentadact.com/wp-content/image-2-768x515.png 768w" sizes="auto, (max-width: 950px) 100vw, 950px" /></figure>
<!-- /wp:post-content -->

<!-- wp:paragraph -->
<p>The board: littered with precious items and horsies. Units start with limited range, grab a horse to boost it to max.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><em>Rules sidenote: The limited range is to ease the mental load of having to consider every piece on the board when deciding where to move, which I find tedious in Chess (see: <a href="https://www.pentadact.com/2022-11-10-five-problems-with-chess/">being exhaustive</a>). So each piece has an attack range of 2, and can also move 1 in any direction if there&#8217;s no unit there. So a Rook&#8217;s attack/move options look like this:</em></p>
<p><em><!-- /wp:paragraph -->

<!-- wp:image {"align":"center","id":9451,"sizeSlug":"full","linkDestination":"none"} --></em></p>
<figure class="wp-block-image aligncenter size-full"><em><img loading="lazy" decoding="async" width="513" height="358" class="wp-image-9451" src="https://www.pentadact.com/wp-content/image-11.png" alt="" srcset="https://www.pentadact.com/wp-content/image-11.png 513w, https://www.pentadact.com/wp-content/image-11-500x349.png 500w, https://www.pentadact.com/wp-content/image-11-178x124.png 178w" sizes="auto, (max-width: 513px) 100vw, 513px" /></em></figure>
<p><em><!-- /wp:image -->

<!-- wp:paragraph --></em></p>
<p><em>The move rule makes Bishops less rigid, and makes it much less awkward to grab items. Although it adds move options, I find it doesn&#8217;t add much cognitive load because a) it doesn&#8217;t change threats, and b) it&#8217;s universal, same for every piece type.</em></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The Dark Horse also lets you trample (move options may be used as attacks), the Pale Horse is more nimble (move to any unoccupied space in range 2).</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Board setup is random with some attempt at balance, plus a balancing rule:</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>One player chooses which corner to start in, then the other player takes the first turn. So each gets a different advantage.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":9440,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="702" class="wp-image-9440" src="https://www.pentadact.com/wp-content/image-1024x702.png" alt="" srcset="https://www.pentadact.com/wp-content/image-1024x702.png 1024w, https://www.pentadact.com/wp-content/image-500x343.png 500w, https://www.pentadact.com/wp-content/image-178x122.png 178w, https://www.pentadact.com/wp-content/image-768x526.png 768w, https://www.pentadact.com/wp-content/image-1536x1053.png 1536w, https://www.pentadact.com/wp-content/image.png 1548w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Each player starts with a Queen, a Bishop, a Rook and a Pawn. I may do some kind of army budget idea eventually, but I tried that with a previous iteration and it made it hard to judge item balance, since army misbalance colours the results.</p>
<p><em>Rules sidenote: Pawns act like a King, but die when they take a piece (because <a href="https://www.pentadact.com/2022-11-10-five-problems-with-chess/">the pawn is a shitshow</a>).</em></p>
<p>Black chose the corner with Skull and the Pale Horse, white chose the one with the Crown (gain a King) and Frost (freeze enemies for 1 turn).</p>
<p>White grabbed Frost with their Bishop, Black&#8217;s own Bishop skipped the Skull to grab the Pale Horse early, then White spent a turn to level their Frost Bishop up to 2.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><em>Lvl 1: freeze the enemy that kills you</em></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><em>Lvl 2: freeze adjacent enemies when you kill</em></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><em>Lvl 3: freeze adjacent enemies after every move</em></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:image {"id":9443,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="647" class="wp-image-9443" src="https://www.pentadact.com/wp-content/image-3-1024x647.png" alt="" srcset="https://www.pentadact.com/wp-content/image-3-1024x647.png 1024w, https://www.pentadact.com/wp-content/image-3-500x316.png 500w, https://www.pentadact.com/wp-content/image-3-178x112.png 178w, https://www.pentadact.com/wp-content/image-3-768x485.png 768w, https://www.pentadact.com/wp-content/image-3.png 1444w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Black&#8217;s queen grabs the Skull:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><em>Lvl 1: Create a skeleton (functionally, a pawn) on death</em></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><em>Lvl 2: Create a skeleton on kill</em></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><em>Lvl 3: Create a skeleton with each move</em></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>And their mounted Bishop grabs the Flame: like Frost, but ignites tiles: units on burning tiles must move or die at the end of their turn.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph /-->

<!-- wp:image {"id":9444,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="677" class="wp-image-9444" src="https://www.pentadact.com/wp-content/image-4-1024x677.png" alt="" srcset="https://www.pentadact.com/wp-content/image-4-1024x677.png 1024w, https://www.pentadact.com/wp-content/image-4-500x331.png 500w, https://www.pentadact.com/wp-content/image-4-178x118.png 178w, https://www.pentadact.com/wp-content/image-4-768x508.png 768w, https://www.pentadact.com/wp-content/image-4.png 1217w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>White swoops in with their Level 3 Frost Bishop, freezing the Bone Queen for a turn, with the hope of safely grabbing the Bugle of Command next turn.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":9445,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="769" class="wp-image-9445" src="https://www.pentadact.com/wp-content/image-5-1024x769.png" alt="" srcset="https://www.pentadact.com/wp-content/image-5-1024x769.png 1024w, https://www.pentadact.com/wp-content/image-5-500x376.png 500w, https://www.pentadact.com/wp-content/image-5-178x134.png 178w, https://www.pentadact.com/wp-content/image-5-768x577.png 768w, https://www.pentadact.com/wp-content/image-5.png 1307w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>He gets it: white can now move 2 pieces per turn as long as this Frost Bishop lives to toot the bugle. But it gives black time to grab the Dark Horse with their now Level 2 Bone Queen, leaving black with the only long range units for the rest of the game!</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":9446,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="757" class="wp-image-9446" src="https://www.pentadact.com/wp-content/image-6-1024x757.png" alt="" srcset="https://www.pentadact.com/wp-content/image-6-1024x757.png 1024w, https://www.pentadact.com/wp-content/image-6-500x370.png 500w, https://www.pentadact.com/wp-content/image-6-178x132.png 178w, https://www.pentadact.com/wp-content/image-6-768x568.png 768w, https://www.pentadact.com/wp-content/image-6.png 1145w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>The Bugle is strong, though. White has grabbed the Crown, for a free King, and the extra Bugle move opens up a pincer move: threatening the Bone Queen from one side while freezing her in place with the Frost Bishop.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Parping disrespectfully in her frozen bony face! Rude!!</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":9447,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="661" class="wp-image-9447" src="https://www.pentadact.com/wp-content/image-7-1024x661.png" alt="" srcset="https://www.pentadact.com/wp-content/image-7-1024x661.png 1024w, https://www.pentadact.com/wp-content/image-7-500x323.png 500w, https://www.pentadact.com/wp-content/image-7-178x115.png 178w, https://www.pentadact.com/wp-content/image-7-768x496.png 768w, https://www.pentadact.com/wp-content/image-7.png 1511w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>The Bone Queen spawns a skeleton as she dies, to take on white&#8217;s King, while their Fire Bishop retreats out of the killzone.</p>
<p>But fatal mistake! Their rook and Fire Bishop are now adjacent, and white&#8217;s maxed out Frost Bishop can freeze them both with one move!</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":9448,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="755" class="wp-image-9448" src="https://www.pentadact.com/wp-content/image-8-1024x755.png" alt="" srcset="https://www.pentadact.com/wp-content/image-8-1024x755.png 1024w, https://www.pentadact.com/wp-content/image-8-500x369.png 500w, https://www.pentadact.com/wp-content/image-8-178x131.png 178w, https://www.pentadact.com/wp-content/image-8-768x566.png 768w, https://www.pentadact.com/wp-content/image-8.png 1317w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>In fact, he has them stun locked. Since he also has the Bugle, he can keep freezing them while their Rook grabs the Stone element and levels up to 3, creating rocky fortifications as it stomps towards the helpless Bishop.</p>
<p><em>Rules sidenote: Enemies can move onto (but not through) empty fortified tiles to clear them, but they can&#8217;t enter occupied fortified tiles. Friends can move freely through them. (Maybe they should be sentient vines, to make sense of this?)</em></p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":9449,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="642" class="wp-image-9449" src="https://www.pentadact.com/wp-content/image-9-1024x642.png" alt="" srcset="https://www.pentadact.com/wp-content/image-9-1024x642.png 1024w, https://www.pentadact.com/wp-content/image-9-500x314.png 500w, https://www.pentadact.com/wp-content/image-9-178x112.png 178w, https://www.pentadact.com/wp-content/image-9-768x482.png 768w, https://www.pentadact.com/wp-content/image-9.png 1421w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>Black&#8217;s last ditch effort is to sneak a pawn out and grab the Poison element, so at least whatever takes it will die. But by then, white&#8217;s Stone Rook has killed the Frost Bishop and black&#8217;s Rook is boxed in. White cleans up, sacrificing the Stone Rook to take the Poison Pawn. It&#8217;s over, white wins.</p>
<!-- /wp:paragraph -->

<!-- wp:image {"id":9450,"sizeSlug":"large","linkDestination":"none"} -->
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="569" class="wp-image-9450" src="https://www.pentadact.com/wp-content/image-10-1024x569.png" alt="" srcset="https://www.pentadact.com/wp-content/image-10-1024x569.png 1024w, https://www.pentadact.com/wp-content/image-10-500x278.png 500w, https://www.pentadact.com/wp-content/image-10-178x99.png 178w, https://www.pentadact.com/wp-content/image-10-768x427.png 768w, https://www.pentadact.com/wp-content/image-10.png 1056w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
<!-- /wp:image -->

<!-- wp:paragraph -->
<p>This felt really juicy and fun to play, and I love the goofy maximalist language of it: &#8220;Your Bugle Frost Bishop is no match for my level 3 Bone Queen!&#8221; Could not say which way it was going until the pincer movement, which was prob a blunder by black. Having both the Horsies vs Bugle might be winnable for either side?</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>A playtest of the previous version of Scavenger Chess also saw each side secure powerful but very different items, I&#8217;d love it if that became a signature of this game. I think the random board layout has the potential to stop those matchups being foregone conclusions where certain items are always best &#8211; ideally, it should depend on what else you have access to and what units you can grab it with.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>A few issues, though &#8211; here&#8217;s what I&#8217;ll focus on for the next iteration:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Frost stunlock is boring, need to rethink what Frost does. Maybe it freezes the tile, and a unit on an Ice tile can move but not attack, and can be killed by other units&#8217; &#8216;moves&#8217; (all units can move 1 in any dir in Scavenger Chess if no unit is there)</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>You tend to move the same piece a lot, leaving others on the bench &#8211; might let you move 2 per turn by default, 3 with Bugle.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Skipping a move to level up is dull, I&#8217;ll add creeps to kill instead.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>And boy is all of that gonna be easier to change in my brain and plasticine than reworking code. Some of this stuff won&#8217;t be easy to add to my digital prototype (which doesn&#8217;t even have items), but the more stuff I rule out and rethink in a physical prototype, the more coding time I&#8217;ve saved.</p>
<!-- /wp:paragraph -->]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Five Problems With Chess</title>
		<link>https://www.pentadact.com/2022-11-10-five-problems-with-chess/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Thu, 10 Nov 2022 03:50:12 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<guid isPermaLink="false">https://www.pentadact.com/?p=9389</guid>

					<description><![CDATA[Firstly, of course: many folks I like and respect love chess, and I&#8217;m happy for them and have no interest in persuading chess fans to like it less or want something different. But it&#8217;s not for everyone, and I&#8217;m one of the people for whom it&#8217;s not. So what I&#8217;m interested in is: what needs [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Firstly, of course: many folks I like and respect love chess, and I&#8217;m happy for them and have no interest in persuading chess fans to like it less or want something different. But it&#8217;s not for everyone, and I&#8217;m one of the people for whom it&#8217;s not. So what I&#8217;m interested in is: what needs fixing to make it a game I enjoy? And if you did that, who else might enjoy it?</p>



<p>I am gonna call these problems problems, though, because it gets exhausting to say &#8220;possible areas where there&#8217;s scope to broaden or mutate its appeal to a different set of people, without wishing to detract from or disparage the great enjoyment many already draw from the game as it stands.&#8221; And because some of them, from my perspective, for players like me, with all the caveats above, seem incredibly fucking stupid.<span id="more-9389"></span></p>



<h4>1. Being exhaustive is exhausting</h4>



<p>This is my main one. To be competent at chess &#8211; not even good &#8211; you need to at <em>minimum</em> check over every piece on the board, all the squares it could move to, what it could potentially capture, and what could capture it in response if it did so. There are 32 pieces on a chess board, and 64 squares. I just don&#8217;t have the kind of brain that can do that diligiently and hold all the results in its RAM, turn after turn, and so I endlessly slip up and leave an important piece vulnerable.</p>



<p>If you&#8217;re doing that regularly, you just don&#8217;t get to play actual chess. There&#8217;s no room in the brain to read your opponent&#8217;s strategy or formulate your own, you just have to spend every brain cell running a brute force search on &#8220;What can take what?&#8221; &#8211; and still missing shit.</p>



<p>I also just don&#8217;t <em>enjoy</em> that kind of mental work. It&#8217;s not juicy or exciting to me. And it&#8217;s so central to success: seeing two or three moves ahead is really just <em>even more</em> of that work &#8211; exponentially more. Whoever can do that better has such a huge advantage that any other strategic merits either player might have waft into irrelevance. The parts of the game&#8217;s strategy that sound interesting only really kick in if both players are at roughly the same move-crunching ability tier.</p>



<h4>2. The early game is slow and boring</h4>



<p>All your good pieces are trapped behind a wall of bad pieces, so you both have to spend a bunch of turns moving the bad pieces out of the way so the good pieces can fight. Having a ramp-up can be good, but because the initial board setup is the same for every game, there&#8217;s now just a known list of viable openings. Expert players do one of those, while beginners like me just have no idea how the specifics of all that awkward early un-jamming affects the very long sequence of moves that will eventually put important pieces in dominance or danger.</p>



<h4>3. The pawn is a shitshow of clumsy balance changes</h4>



<p>Oh my God. OK, so as far as I can tell, the pawn has always been fiddly all the way back to chaturanga, the game chess comes from. Unlike every other piece, it can move to some tiles only if they&#8217;re empty, and to others only if they&#8217;re occupied, and only if by an enemy. And unlike every other piece, one of their moves is directionally locked &#8211; every other piece&#8217;s move options are rotationally symmetric. It wasn&#8217;t until I tried to program this in my own chess game that I realised this is already <em>three </em>special cases, for the least exciting unit in the game. That would already have me going back to the drawing board of a game concept to see if there&#8217;s a more elegant way of hitting the design goals.</p>



<p>But then the history of the pawn reads like the patch notes of an incompetent game dev scrambling to appease a community without any conviction or guiding principles of its own.</p>



<ul>
<li>The pawn can move 1 square forwards if the space is empty, or capture 1 square diagonally forwards if the destination is occupied by an enemy. Weird and bad, but seemingly there from the start, so fine.</li>
<li>In 15th-century Europe, it was decided the early game was too slow (agreed!), so the pawn should be able to move 1 <em>or</em> 2 spaces on its first turn. This is <em>two</em> more special cases: no other piece has range other than infinity or 1, and no other piece has different movement rules depending on their history.

</li>
<li>But there was consternation that now a pawn could skip past a position that would have threatened it under the previous rules. I can&#8217;t speak to how important this is, but the fix is the absolute nadir of fussy, awkward, unsatisfying game design: if <em>and only if</em> a pawn just moved 2 spaces on its last turn, and an enemy pawn (and <em>only a pawn!</em>) could have taken it on the intervening square, this turn <em>and only this turn</em>, that pawn may move to the square the original pawn <em>would have been on</em>, and capture it <em>as if it was there</em>.</li>
</ul>



<p>FUCKING LISTEN TO YOURSELF! What the fuck are you doing?! That is blithering, dithering, baffling bullshit. It reads like a bad faith thought experiment you&#8217;d use to shoot down someone&#8217;s suggestion: &#8220;Oh, what do you want us to do, [that horror show of rule salad]?!&#8221; And I say bad faith because apart from the other 20 problems with this, there&#8217;s a much simpler solution that better addresses the stated problem:</p>
<ul>
<li>If the square in front of a pawn is threatened, it cannot move 2 spaces.</li>
</ul>
<p>It&#8217;s still a special case, but it only takes one sentence to explain, chess already has other rules where threats prevent movement, and it doesn&#8217;t involve pieces capturing <em>the imaginary history-ghost</em> of a piece that <em>could have been there</em> in a previous version of the game&#8217;s rules for fuck&#8217;s cocking sake.</p>
<p><em>*deep breath*</em></p>



<p>I&#8217;m so angry about en passant.</p>





<h4>4. Draws are common and draws are bad</h4>
<div class="wDYxhc" data-md="61">
<p align="center"><em>In chess games played at the top level, a draw is the most common outcome of a game: of around 22,000 games published in The Week in Chess played between 1999 and 2002 by players with a FIDE Elo rating of 2500 or above, 55 percent were draws.</em> <a href="https://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=&amp;cad=rja&amp;uact=8&amp;ved=2ahUKEwiL74HYsaL7AhXuGDQIHajbBUAQFnoECBsQAw&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDraw_(chess)&amp;usg=AOvVaw0r5n4jEv0rMtY7F43Lpzdd">Wikipedia</a></p>
</div>
<p>That&#8217;s not great. It&#8217;s not as common at lower skill levels, but it still happens way more than it should. A draw is almost always a failure of game design: a 1v1 game implicitly promises a victor, when it ends in a draw the design could not deliver what it promised. Because chess can only be won by forcing an opponent into checkmate, or hoping they resign, it&#8217;s very easy for both players to end up with too few powerful pieces left to ever trap each other so decisively.</p>
<p>In fact, chess&#8217;s other string of embarrassing patch notes include an increasing list of rules about when you can <em>force</em> a draw to avoid the game just going on forever. The miserable outcome of a draw is actually one better than the infinite tedium many chess matches would otherwise end in. And it&#8217;s <em>pawn movement</em> you chose to patch?</p>



<h4>5. Stalemate is a wildly stupid concept</h4>
<p>All that draw stuff, above, is what I thought &#8216;stalemate&#8217; meant &#8211; you determine no-one can win and it&#8217;s a draw. That&#8217;s not it! A stalemate is when one player, let&#8217;s say white, is left in a position where every move they can make would let their king be taken. Ooh, tough game design problem! Who can say who should win that game? Maybe a draw, maybe white wins, maybe it&#8217;s illegal to put someone in that position?</p>
<p>NO, idiots! BLACK FUCKING WON! Read it back to yourself! White is in a position where EVERY MOVE THEY COULD MAKE would lead their KING, THE PIECE YOU MUST NOT LOSE, to be LOST. That is check fuckin mate, mate, in everything but name. The concept of stalemate was <em>absolutely</em> introduced by a sore loser with a lot of clout when they found themselves utterly outplayed. &#8220;Waaaa, every move I could make would lose me my king!&#8221; THEN FACE YOUR DEATH, COWARD.</p>
<p>It comes, of course, from another bit of weird but normally harmless bullshit chess talked itself into: instead of ending when someone loses their king, it ends one turn earlier, when that&#8217;s the only possible outcome. Seems weak to skip the climactic kill of this whole charade, but I guess it&#8217;s the punch Ali never threw &#8211; fine. But somehow that got mutated into &#8220;It&#8217;s <em>illegal</em> to move your king into danger&#8221;. Why?! What&#8217;s the point of that rule? If you wanna lose, go ahead. You lose! You can already surrender a game, so it&#8217;s not like we&#8217;re preventing suicide.</p>
<p>The only material effect of this rule is that it allows rules lawyers who&#8217;ve forgotten the point of the game to talk themselves in circles until they declare something provably insane like &#8220;If you put me in a position where I&#8217;ll definitely lose my king, YOU lose the game.&#8221; That was actually the rule in 18th century England. In fact, all the examples I gave of laughably bad ways to handle this situation were real: </p>
<p><a href="https://en.wikipedia.org/wiki/Stalemate"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-9400" src="https://www.pentadact.com/wp-content/stalemates-500x207.png" alt="" width="500" height="207" srcset="https://www.pentadact.com/wp-content/stalemates-500x207.png 500w, https://www.pentadact.com/wp-content/stalemates-1024x424.png 1024w, https://www.pentadact.com/wp-content/stalemates-178x74.png 178w, https://www.pentadact.com/wp-content/stalemates-768x318.png 768w, https://www.pentadact.com/wp-content/stalemates.png 1494w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a></p>
<p>Today, a stalemate is a draw. Baffling. Your game already has a chronic abundance of draws, you cannot afford to be lawyering legit victories into more of the worst outcome possible.</p>
<p>If it was up to me, a stalemate would count for <em>more</em> than checkmate. 1.5 wins. It&#8217;s the secret unlockable ending where you actually get to take their king. Maybe throw it at them.</p>
<h4>Why are you telling me this?</h4>
<p>Oh, I&#8217;m making a chess game in my spare time. It&#8217;s been in the back of my mind as a fun design exercise to try ever since Bennett Foddy <a href="https://www.gamedeveloper.com/design/the-very-good-reasons-for-bennett-foddy-s-mad-i-speed-chess-i-">suggested it in a GDC talk</a>, and tinkering with it has been super fun so far. Design-wise, I wanted to thrash out what it is I&#8217;m trying to fix, at minimum, before I get into what kind of flavour and twists I want to add. </p>
<p>What I have so far, a week in, does a pretty good job of alleviating 1 and 2. 3 is interesting, because obviously I&#8217;m ditching pawns in their current form, and removing them clarifies what their role is. The hole they leave is not specifically pawn-shaped, but what I fill it with will probably be recognisably equivalent. 4 is not hard if you&#8217;re not trying to please die-hards, and 5 is self-evident.</p>
<p>There&#8217;s also a 6, but it&#8217;s such a stretch to call it a problem with chess that I ended up deleting it from this post: I want it to be single-player.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>We&#8217;re Looking For Someone To Make A Tactical Breach Wizards Trailer</title>
		<link>https://www.pentadact.com/2022-04-08-were-looking-for-someone-to-make-a-tactical-breach-wizards-trailer/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Fri, 08 Apr 2022 19:37:05 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Tactical Breach Wizards]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=9360</guid>

					<description><![CDATA[Update: the position&#8217;s been filled, thanks everyone! We&#8217;re looking for someone to make a roughly 2 minute trailer of Tactical Breach Wizards, preferably by the 9th of May. We have a new chapter of the game to show off, but we don&#8217;t want to do our usual in-depth talkthroughs because it would start to get [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Update:</strong> the position&#8217;s been filled, thanks everyone!</p>
<p><del datetime="2022-04-12T17:08:40+00:00">We&#8217;re looking for someone to make a roughly 2 minute trailer of <a href="https://store.steampowered.com/app/1043810/Tactical_Breach_Wizards/">Tactical Breach Wizards</a>, preferably by the 9th of May.</del></p>
<p><del datetime="2022-04-12T17:08:40+00:00">We have a new chapter of the game to show off, but we don&#8217;t want to do our usual in-depth talkthroughs because it would start to get spoilery.</del></p>
<p><del datetime="2022-04-12T17:08:40+00:00">The game has pause, slowmo, level select and camera controls built in, and we&#8217;ll also provide you with the Unity project if you&#8217;re able to make use of that.</del></p>
<p><del datetime="2022-04-12T17:08:40+00:00">We have a composer and some tracks already in, you&#8217;d work with them directly to figure out the music needs.</del></p>
<p><del datetime="2022-04-12T17:08:40+00:00">Our game is a fairly straight-faced parody of a modern military action thriller, borrowing superficial tropes and critiquing or inverting some of the deeper ones. You can get a sense of it from our last talkthrough vid:</del></p>
<p align="center"><iframe loading="lazy" title="YouTube video player" src="https://www.youtube.com/embed/L3DbP04LFPU" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>And you can get a sense of our sense of humour from the Gunpoint and Heat Signature trailers:</p>
<p align="center"><iframe loading="lazy" title="YouTube video player" src="https://www.youtube.com/embed/q9d5ht7mQUU" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p align="center"><iframe loading="lazy" title="YouTube video player" src="https://www.youtube.com/embed/ifgjEMIqRO4" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Void Bastards Vs Heat Signature: A Completely Objective Analysis</title>
		<link>https://www.pentadact.com/2021-07-30-void-bastards-vs-heat-signature-a-completely-objective-analysis/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Fri, 30 Jul 2021 00:26:58 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=9224</guid>

					<description><![CDATA[Note: this was written around the time Void Bastards was released, but languished in my Drafts for years because I&#8217;d planned to make it longer. What&#8217;s there all still makes sense to me though, so I&#8217;m just gonna make it about the 3 things I did cover and throw it out there: Void Bastards is [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Note:</strong> this was written around the time Void Bastards was released, but languished in my Drafts for years because I&#8217;d planned to make it longer. What&#8217;s there all still makes sense to me though, so I&#8217;m just gonna make it about the 3 things I did cover and throw it out there:</p>
<p>Void Bastards is a roguelike first-person shooter about boarding randomly generated spaceships. I designed a top-down roguelike about boarding randomly generated spaceships, so it&#8217;s interesting to see how the two games tackled the same issues differently, and how well their solutions worked out! I picked three:<span id="more-9224"></span></p>
<p><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/ss_7dc4cbb8e42d5150100c02c176576b3870203e31.1920x1080.jpg" alt="" width="1920" height="1080" class="aligncenter size-full wp-image-9345" srcset="https://www.pentadact.com/wp-content/ss_7dc4cbb8e42d5150100c02c176576b3870203e31.1920x1080.jpg 1920w, https://www.pentadact.com/wp-content/ss_7dc4cbb8e42d5150100c02c176576b3870203e31.1920x1080-178x100.jpg 178w, https://www.pentadact.com/wp-content/ss_7dc4cbb8e42d5150100c02c176576b3870203e31.1920x1080-500x281.jpg 500w, https://www.pentadact.com/wp-content/ss_7dc4cbb8e42d5150100c02c176576b3870203e31.1920x1080-768x432.jpg 768w, https://www.pentadact.com/wp-content/ss_7dc4cbb8e42d5150100c02c176576b3870203e31.1920x1080-1024x576.jpg 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></p>
<h4>Progression</h4>
<p>Starting with this because I think VB absolutely aced it and HS did not. In a roguelike context, I&#8217;m using &#8216;progression&#8217; to mean anything persistent you unlock or earn &#8211; how the outcome of one life can potentially affect those that come after.</p>
<p>In Heat Sig, doing missions gradually lets you &#8216;liberate&#8217; space stations, and liberating stations permanently unlocks new items in the shops. I&#8217;m very happy with the items themselves, and how they support new playstyles, but you can find any and all of them from the start, as random loot. So the shop-unlock reward was never as strong an incentive as I&#8217;d like.</p>
<p>I considered the alternative, of course: holding these items back entirely until they&#8217;re unlocked. But the cost was too high:</p>
<ul>
<li>Having a limited pool of loot for hours.</li>
<li>Having no <a href="https://www.youtube.com/watch?v=oM68QvyvJLQ">Choice Glimpses</a> to know if an item is worth working towards.</li>
<li>And potentially missing the game&#8217;s best gadgets if we fail to describe/present them to you in a way that fully conveys their value &#8211; which we would.</li>
</ul>
<p>Progression in Void Bastards is one big screen of unlocks and upgrades, which you earn by acquiring particular crafting ingredients then choosing which to spend them on. Unlike Heat Sig, weapons you haven&#8217;t unlocked yet are completely unavailable to you, but it avoids most of the problems I feared in a few ways:</p>
<ul>
<li>You never actually find weapons or gadgets on the ships you board, only crafting materials. This gets around the &#8216;limited loot pool&#8217; problem in the early game, because materials are inherently valuable and what they might ultimately get you is unknown and unlimited. That makes it feel good to find them even before you have enough to unlock anything at all. They&#8217;re also persistent between lives, so you&#8217;re always &#8216;spending&#8217; temporary resources &#8211; ammo and your life &#8211; to gain permanent ones &#8211; another good feeling.</li>
<li>While you&#8217;re mostly finding &#8216;materials&#8217;, in their hundreds, each ship also has a single special &#8216;part&#8217;. Every upgrade is built from just 2 or 3 specific parts, and materials are only useful in that you can spend hundreds of them to craft a part you need to unlock something. Finding the part itself is much, much faster. But because they&#8217;re only used in specific unlocks, the random selection of parts you come across gives you a big headstart for a random selection of upgrades. This partly solves the &#8220;Didn&#8217;t unlock it because it didn&#8217;t sound good&#8221; problem &#8211; you might not think the Nebulator sounds cool, but if you come across one of its components and can afford to craft the other one, now that unlock is temptingly close while the Armour upgrade you&#8217;re really interested in is a long way off. And if you find both parts, unlocking the Nebulator doesn&#8217;t even cost you anything you could spend on the Armour upgrade anyway.</li>
<li>Many of the upgrades are just massive boosts to your effectiveness, which gives them a powerful desirability that isn&#8217;t susceptible to the &#8220;doesn&#8217;t sound good&#8221; problem. Most weapon upgrades double or triple its damage output. An armour upgrade can nearly double your health. That&#8217;s an easy sell. We didn&#8217;t do this in Heat Sig because a) we don&#8217;t have damage or health, as concepts, b) in a game where gadgets and weapons are the drops, there&#8217;s danger in letting the player persistently get more powerful &#8211; finding that stuff becomes less special, c) I would have been scared to mess with the difficulty system, which was hard to get right, and d) I didn&#8217;t think of it.</li>
</ul>
<p><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/ss_2029d2369d0f8db4ee0cca64f5dfd3da40e3509e.1920x1080-1.jpg" alt="" width="1920" height="1080" class="aligncenter size-full wp-image-9343" srcset="https://www.pentadact.com/wp-content/ss_2029d2369d0f8db4ee0cca64f5dfd3da40e3509e.1920x1080-1.jpg 1920w, https://www.pentadact.com/wp-content/ss_2029d2369d0f8db4ee0cca64f5dfd3da40e3509e.1920x1080-1-178x100.jpg 178w, https://www.pentadact.com/wp-content/ss_2029d2369d0f8db4ee0cca64f5dfd3da40e3509e.1920x1080-1-500x281.jpg 500w, https://www.pentadact.com/wp-content/ss_2029d2369d0f8db4ee0cca64f5dfd3da40e3509e.1920x1080-1-768x432.jpg 768w, https://www.pentadact.com/wp-content/ss_2029d2369d0f8db4ee0cca64f5dfd3da40e3509e.1920x1080-1-1024x576.jpg 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></p>
<h4>Main Quest</h4>
<p>I don&#8217;t think this was a big focus for either game. In Heat Sig, you&#8217;re ultimately trying to liberate 10 stations from each faction and then their strongholds. There is no special &#8216;content&#8217; to this campaign until you finish it, then there&#8217;s a short scripted scene.</p>
<p>Void Bastards goes a bit further: you&#8217;re tasked with crafting an item, and when you do, there&#8217;s a short comic-book cut-scene explaining why this didn&#8217;t solve your predicament and why you need the next item. That cycle repeats 4 or 5 times, then the game ends.</p>
<p>Void Bastards&#8217; presentation is slicker and these scenes give them a place for some jokes, but I actually prefer Heat Sig&#8217;s system because of one key difference: in Void Bastards, progress towards completing the game must be made <em>instead</em> of progress towards unlocks. You gather materials and parts for these plot items instead of gathering them for unlocks you want. In Heat Sig, you do both at once &#8211; the stations you&#8217;re liberating to work towards your overall goal are also unlocking new gadgets as you do so.</p>
<p>This meant VB&#8217;s extremely compelling unlock system actually worked against its main quest, for me. I was <em>so</em> excited to get new weapons and make my favourite ones more powerful, that the prospect of diverting my efforts towards mere completion was really unappealing. For all the same reasons it felt especially good to earn unlocks, it felt especially bad to spend those same resources and earn nothing.</p>
<p><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/ss_b156dba5bb92c63727b5be8bad2ea06b42f4d13a.1920x1080.jpg" alt="" width="1920" height="1080" class="aligncenter size-full wp-image-9344" srcset="https://www.pentadact.com/wp-content/ss_b156dba5bb92c63727b5be8bad2ea06b42f4d13a.1920x1080.jpg 1920w, https://www.pentadact.com/wp-content/ss_b156dba5bb92c63727b5be8bad2ea06b42f4d13a.1920x1080-178x100.jpg 178w, https://www.pentadact.com/wp-content/ss_b156dba5bb92c63727b5be8bad2ea06b42f4d13a.1920x1080-500x281.jpg 500w, https://www.pentadact.com/wp-content/ss_b156dba5bb92c63727b5be8bad2ea06b42f4d13a.1920x1080-768x432.jpg 768w, https://www.pentadact.com/wp-content/ss_b156dba5bb92c63727b5be8bad2ea06b42f4d13a.1920x1080-1024x576.jpg 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></p>
<h4>Ship Systems</h4>
<p>This is an area where Void Bastards reminds me more of my early plans for Heat Sig than Heat Sig does. Every part of the ship was going to be a different subsystem of the ship&#8217;s functionality, and you&#8217;d be tinkering with them all to manipulate it. We moved away from that stuff because:</p>
<ul>
<li>We had to de-emphasise the space game, partly just to focus, and partly because some players struggled enough with the controls that adding any extra challenge there would leave them unable to play the game.</li>
<li>To give the player intentionality about what systems to visit/mess with, we&#8217;d need to give them free run of the ship in a non-linear way, and that tightly constrains how we can design levels to make the critical path substantial/interesting without the ship size getting unwieldy framerate-wise.</li>
<li>I worried that whatever universal rules we came up with for what these systems did, it would devolve into the player doing the same thing every time.</li>
</ul>
<p>So in Heat Sig only one ship system is consistently present and relevant enough that you&#8217;ll usually visit it: the cockpit. Many others are present and messable-with but rarely end up relevant.</p>
<p>In Void Bastards, every area of the ship has a purpose and most are gameplay relevant. Early on, my pattern was to always visit the Helm for a map, then use this to scour the ship of loot, stopping by Atmo when I was low on air. Later, some ships don&#8217;t have a Helm: on these I&#8217;d come up with some logical order to search the rooms, to make it easier to keep track of where I&#8217;d been and not. Some ships are powered down, in which case you have to visit Gen first to power them up, before applying the normal strat.</p>
<p>This is a significantly better level of player engagement with ship systems than Heat Sig has. But it&#8217;s still a little rote: everything comes down to &#8220;If X, then Y&#8221;. I think an interesting direction to expand in would be: what ship systems would we need to get the player to feel like they&#8217;re making a judgement call each time?</p>
<p>Maybe a system that can clear the tricky but not impossible environmental hazards, like fire and electrical leaks? One that adds a new type of enemy, plus some loot? What if the question we ask you is not just &#8220;What order do you visit these rooms in?&#8221; but &#8220;Which 3 of these systems do you most want to use on this ship?&#8221; If  each system you mess with took the ship closer to lockdown, there could be a limit that would push you to make bigger decisions than order of operations.</p>
<p>Here&#8217;s <a href="https://store.steampowered.com/app/857980/Void_Bastards/">Void Bastards on Steam</a>, and here&#8217;s <a href="https://store.steampowered.com/app/268130/Heat_Signature/">Heat Signature</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Gridcannon: A Single Player Game With Regular Playing Cards</title>
		<link>https://www.pentadact.com/2019-08-20-gridcannon-a-single-player-game-with-regular-playing-cards/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Tue, 20 Aug 2019 20:00:49 +0000</pubDate>
				<category><![CDATA[Feature]]></category>
		<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=9263</guid>

					<description><![CDATA[I thought it would be an interesting game design challenge to come up with a single player game you can play with a regular deck of playing cards. My first try, about a month ago, didn&#8217;t work. But on Sunday I had a new idea, and with one tweak from me and another from my [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I thought it would be an interesting game design challenge to come up with a single player game you can play with a regular deck of playing cards. My first try, about a month ago, didn&#8217;t work. But on Sunday I had a new idea, and with one tweak from me and another from my friend <a href="https://twitter.com/CThursten">Chris Thursten</a>, it&#8217;s playing pretty well now! In the video I both explain it and play a full game. I&#8217;ll write the rules here, but they&#8217;ll make more sense when you see it played:<span id="more-9263"></span></p>
<div class="VideoWrapper"><iframe loading="lazy" src="https://www.youtube.com/embed/gqmUpQjFHrA" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
<p>If you&#8217;re following closely, you might notice I slip up and fail to kill the king of clubs when he should have died, but I re-kill him with the next play so it&#8217;s fine. I was tired.</p>
<p><strong>Update:</strong> Since making the video I&#8217;ve tweaked the rules a bit, so I&#8217;ll lay out the rules for the revised version here. If you&#8217;re curious about the evolution, I&#8217;ll also include the old post and its update below that.</p>
<h4>Version 2</h4>
<h5>Setup</h5>
<ol>
<li>Start with a shuffled deck, including jokers.</li>
<li>With the deck face-down, draw cards from the top and lay them out face-up in a 3&#215;3 grid. If you draw any royals, aces or jokers during this, put them on a separate pile and keep drawing til you&#8217;ve made the grid of just number cards.</li>
<li>If you did draw some royals, you now place them the same way we will when playing: put it <em>outside</em> the grid, adjacent to the grid card it&#8217;s most similar to. &#8216;Most similar&#8217; means:
<ol>
<li>Highest value card of the same suit</li>
<li>If none, highest value card of the same colour</li>
<li>If none, highest value card</li>
<li>If there&#8217;s a tie, or most similar card is on a corner, you can choose between the equally valid positions</li>
</ol>
</li><li>Any aces and jokers you drew during set up, keep them face-up to one side. These are Ploys you can play whenever you like, rules below.</li>
<li>Once you have a 3&#215;3 grid of number cards, you may choose one to replace if you like: put it on the bottom of the draw pile and draw a new card to replace it.</li>

<h5>The Goal</h5>
<p>Find and kill all the royals. </p>
<h5>Play</h5>
<p>Draw the top card from the deck.</p>
<ul>
<li><strong>If it&#8217;s a royal:</strong> use placement rule above.</li>
<li><strong>If it has value 2-10:</strong> you must place it on the grid. It can go on any card with the same or lower value, regardless of suit.</li>
<li><strong>If it&#8217;s an ace or joker:</strong> keep it to one side, see <strong>Ploys</strong>.</li>
</ul>
<p><strong>Killing royals:</strong> if you&#8217;re able to place a card on the grid opposite a royal &#8211; so there are two cards between &#8211; those two cards <strong>Attack</strong> the royal. The sum of their values must be at least as much as health of the royal to kill them: if it&#8217;s not, you can still place the card, but the royal is unaffected. The value of the card you just placed is not part of the Attack, only the two between.</p>
<ul>
<li><strong>Jacks:</strong> 11 health. The cards Attacking can be any suit.</li>
<li><strong>Queens:</strong> 12 health. The cards Attacking must match the colour of the queen to count.</li>
<li><strong>Kings:</strong> 13 health. The cards Attacking must match the suit of the king to count.</li>
</ul>
<p>If you killed the royal, turn it face down but don&#8217;t remove it &#8211; new royals you draw still can&#8217;t be placed in that spot. Once every spot around the grid has a dead royal in it (12 total) you&#8217;ve won.</p>
<p><strong>Ploys</strong>:</p>
<ul>
<li><strong>Aces are Extractions:</strong> at any time you can use up one of the aces you&#8217;ve drawn to pick up one stack of cards from the grid and put them face-down at the bottom of your draw pile. You can do this even after drawing a card and before placing it. Turn the ace face-down to remember you&#8217;ve used it.</li>
<li><strong>Jokers are Reassignments:</strong> at any time you can use up one you&#8217;ve drawn to move the top card of one stack on the grid to another position. The place you move it to must be a valid spot to play the card, and placing it can trigger an Attack the same way a normal play can. Turn the joker face-down to remember you&#8217;ve used it.</li>
</ul>
<p><strong>If you cannot place a card:</strong> and you have no Ploys to use, you must add the card as <strong>Armour</strong> to the royal it&#8217;s most similar to (lowest value royal of same suit, failing that lowest of same colour, etc). It increases their health by the value of the card. So a King with a 3 as armour now has 13 + 3 = 16 health. You can add armour to a royal that already has armour &#8211; it stacks. If a royal ends up with 20+ health (or 19+ for a King), that&#8217;s a natural loss as there&#8217;s no longer any way to kill them. (Credit to Chris Thursten for the armour idea!)</p>
<p><strong>If there are no living royals on the table:</strong> if every spot around the grid has a dead royal on it &#8211; all 12 &#8211; you&#8217;ve won! If not, just keep drawing cards until you find a royal, placing the cards in a face-up pile as you go. Once you find a royal, place it, then add the cards you cycled through to the bottom of your deck.</p>
<p><strong>If the draw pile runs out:</strong> and you haven&#8217;t killed all the royals, use any ploys you have left to fix the situation if you can. If you&#8217;re out of both cards and ploys and not all royals are dead, you&#8217;ve lost.</p>
<h5>Scoring</h5>
<p>If you&#8217;ve killed all the royals without running out of cards, your score is how many Ploys you have left unspent. So the maximum score is 6.</p>
<p>If you play it, let me know how it goes in the replies to <a href="https://twitter.com/Pentadact/status/1163905286375170048">this tweet</a>!</p>
<p align="center">&#8211;</p>
<h5>If you&#8217;d like to make/release/sell a game based on this</h5>
<p>Please do! I&#8217;d suggest saying &#8220;Based on Gridcannon by Tom Francis&#8221; somewhere in the credits &#8211; a link to this post would be cool if possible.</p>
<p>I&#8217;d also suggest not calling it just &#8216;Gridcannon&#8217;, but it&#8217;s fine to use that word in the title.</p>
<p>If you&#8217;re going to charge for it, maybe think about if there&#8217;s something you&#8217;d like to add to the game. Could just be theme/art/flash, or perhaps a mechanics change? Do you have a better idea for scoring it? Should Jokers do something different? This is just a quick prototype, it has lots room for improvement. And digital versions let you do things I couldn&#8217;t with cards &#8211; prevent bad deals, know which stacks have resets, start with a more specific grid setup, reward achievements&#8230;</p>
<p><strong>Update:</strong> there&#8217;s now <a href="https://jonasschill.github.io/GridCannonSvelte/">a browser version of Gridcannon</a>, by Jonas Schill!</p>
<p align="center">&#8211;</p>
<p><a href="#" onclick="toggle_visibility('old');return false;">Show the old version</a></p>
<div id="old" style="display: none; margin-left:30px;">
<h4>Gridcannon v1 (old)</h4>
<h5>Setup</h5>
<ol>
<li>Start with a shuffled deck, including jokers.</li>
<li>With the deck face-down, draw cards and lay out a 3&#215;3 grid, skipping the center position. If you draw any royals during this, put them on a separate pile instead and keep drawing til you&#8217;ve made the grid without royals</li>
<li>If you did draw some royals, you now place them the same way we will when playing: put it <em>outside</em> the grid, adjacent to the grid card it&#8217;s most similar to. That means highest value card of the same suit. If none match suit, highest of same colour. If none match colour, highest value. If still tied, you can choose. If the card most like the royal is on a corner, you can choose which side to put it.</li>
</ol>
<p><b>Goal: Find and kill all royals</b></p>
<h5>Play</h5>
<p>Draw a card from the deck.</p>
<ul>
<li><strong>If it&#8217;s a royal:</strong> use placement rule above.</li>
<li><strong>If it has value 2-10:</strong> you must place it on the grid. It can go on any card with the same or lower value. Empty spots and jokers have value zero, aces have value 1.</li>
<li><strong>If it&#8217;s an ace or joker:</strong> these can be played on top of anything, and doing so &#8216;Resets&#8217; that stack: pick up the stack and add it to the bottom of the deck. Now place your ace or joker where it was.</li>
</ul>
<p><strong>Killing royals:</strong> if you&#8217;re able to place a card on the grid opposite a royal &#8211; so there are two cards between &#8211; those two cards become a &#8216;payload&#8217; that you are firing at the royal. The sum of their values is the power of the shot. The power of the shot must be as much or greater than the health of the royal to kill it &#8211; if it&#8217;s not, it does nothing.</p>
<ul>
<li><strong>Jacks:</strong> 11 health. The cards in the payload can be any suit.</li>
<li><strong>Queens:</strong> 12 health. The cards in the payload must match the colour of the queen to count.</li>
<li><strong>Kings:</strong> 13 health. The cards in the payload must match the suit of the king to count.</li>
</ul>
<p><strong>If you cannot place a card:</strong> you have two options:</p>
<ul>
<li><strong>Hard Reset:</strong> put the card in your &#8216;shame pile&#8217;, and Reset any stack of your choice (pick it up, the space becomes blank). Your shame pile is a negative score &#8211; your goal is to keep it as small as possible.</li>
<li><strong>Add Armour:</strong> the card you can&#8217;t play is added to the royal it&#8217;s most similar to (lowest value royal of same suit) and increases their health by that much. So a King with a 3 as armour now has 13 + 3 = 16 health.</li>
</ul>
<p>In both cases, the card you can&#8217;t play never returns to the deck or the grid.</p>
<p><strong>If you run out of cards in your deck:</strong> choose a stack. Put its top card on your Shame Pile, and take the rest as your new deck.</p>
<p><strong>If there are no living royals in play:</strong> if all 12 are dead, you&#8217;ve won. If not, draw cards until you find a royal, placing these in a face-up pile as you go. Once you find a royal, place it, then add the cards you cycled through to the bottom of your deck.</p>
<p align="center">&#8211;</p>
<p>The &#8216;Add Armour&#8217; option was Chris&#8217;s idea, and if you&#8217;re curious, leaving the middle space blank is the one I added after the initial design &#8211; without that, you can get really screwed by unlucky deals.</p>
<p>Personally, I&#8217;m still tinkering with some of the rules for a possible next version, and my friend Mike Cook (different Mike) had a great idea for a possible different theme.</p>
<p><a name="Update"></a></p>
<h5>Revisions To Old Version</h5>
<p>I&#8217;m testing out a new version of the rules to fix a few problems. Give it a try and tell me what you think!</p>
<p><strong>Problem 1: Remembering resets.</strong> If you remember where you put your resets, you can get them back with your next reset and the deck lasts forever. If you can&#8217;t, it runs out, to great cost. This is fiddly and puts too much emphasis on memory &#8211; I don&#8217;t enjoy that kind of challenge and I don&#8217;t want the game to be inaccessible to those who can&#8217;t remember that stuff.</p>
<p><strong>Problem 2: The Shame Pile.</strong> A lot of people have trouble understanding this concept or just don&#8217;t like it. A negative score system is unusual, and it also doesn&#8217;t feel great &#8211; &#8216;winning&#8217; with shame is a bit of a mixed feeling.</p>
<p><strong>Problem 3: Too easy.</strong> Some are finding it too easy to finish with no shame.</p>
<p>So the changes I&#8217;m leaning towards are:</p>
<p><strong>Storing Aces:</strong> When you draw an ace, put it face-up to one side. At any time, you can spend any of your aces from this Stash to pick up any stack &#8211; including after you draw a card but before you place it. When you use an ace, just turn it face down to remember it&#8217;s used &#8211; it doesn&#8217;t go in your deck.</p>
<p><strong>Jokers:</strong> When you draw a joker, also add it to your Stash. At any time, you can spend it to move a card that&#8217;s already on the grid. You can only move it to a valid place to play it. You only move the top card, not the whole stack. As with aces, you just turn the joker over, it stays in your stash.</p>
<p><strong>Scoring:</strong> If you win, your unspent Jokers and Aces are your score. So a perfect game is 6, if you won without using any.</p>
<p><strong>Failure:</strong> When the deck runs out, if you haven&#8217;t won and you don&#8217;t have any unspent aces to get more cards with, the game is over. If you draw a card you can&#8217;t play, and you can&#8217;t add it as armour without making a royal invincible, and you don&#8217;t have an ace or joker to get out of it, that&#8217;s also game over. I&#8217;ve never had that scenario yet.</p>
<p><strong>Setup:</strong> You now lay out a full 3&#215;3 grid, don&#8217;t skip the middle space, but after placing royals, you can take any 1 grid card, add it to the bottom of your deck, and draw a new card to replace it.</p>
<p>In my playtests this version feels like it gives you a lot more to think about, and more control over your success, which is why I&#8217;m ok with allowing a hard failure state. I&#8217;m not sure about overall difficulty yet &#8211; so far I&#8217;ve never come close to a perfect game, usually scraping through with 2, 1, or 0 special cards unspent. For me it&#8217;s been rare to fail, and always felt like my fault.</p>
<p>That setup change is a bit of a tangent, I just found it aesthetically messy that you start with this blank spot and I had to explain to people that it was a valid spot and what you could play there, etc. I think the new way still gives you decent bad-deal mitigation, and it gives you 2 more chances to draw an ace, joker, or royal early, all of which are advantageous in this version, but probably makes the game harder than the blank-spot system.</p>
<p>If you play, please let me know how you find it! Did you ever have a failure that didn&#8217;t feel like you could have avoided it? Are you getting perfect games too easily? Reply to <a href="https://twitter.com/Pentadact/status/1173287612985032711">this tweet</a> or e-mail <a href="mailto:tom@pentadact.com">tom@pentadact.com</a>.</p>
</div>
</ol>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Making A Better Card Feel Worse With UX</title>
		<link>https://www.pentadact.com/2019-08-12-making-a-better-card-feel-worse-with-ux/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Mon, 12 Aug 2019 09:33:52 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=9246</guid>

					<description><![CDATA[Nowhere Prophet has a power where each turn you can choose 1 card from your hand to discard, and draw another to replace it. Slay the Spire has a power where you draw 1 extra card per turn, then must discard 1 of your choice right after. Slay&#8217;s power is straight up better: you get [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Nowhere Prophet has a power where each turn you can choose 1 card from your hand to discard, and draw another to replace it.</p>
<p>Slay the Spire has a power where you draw 1 extra card per turn, then must discard 1 of your choice right after.</p>
<p>Slay&#8217;s power is straight up better: you get to see what the new card is before deciding what to discard, which both lets you factor it into synergy considerations, <em>and</em> allows you to discard the new card itself, if it&#8217;s worse than what you have.</p>
<p>But experientially, Nowhere Prophet&#8217;s <em>feels</em> more positive. You&#8217;re presented with a hand you can keep, or <em>if you like</em> you can get a do-over on the card you like least. Doing nothing is fine, but if you see a bad card you can chuck it for good odds of a better one. Yay!<span id="more-9246"></span></p>
<p>Slay&#8217;s power deals you a hand of 6 cards instead of 5, then forces you to choose one to lose. You&#8217;ll still end up with 5, so this shouldn&#8217;t be a hardship, but it feels like one. You&#8217;re being shown a nice big hand you can&#8217;t have, and being <em>forced</em> to make a tough decision to cut it down to a worse hand you can keep.</p>
<p>Inaction is not an option, which adds pressure and friction to play, and your only action is a negative one &#8211; to lose something it looks like you have.</p>
<p>Slay&#8217;s power comes from a card called Tools of the Trade, and I never take it anymore. Every time I did, I&#8217;d have moments where I&#8217;m dealt those 6 cards, the game says &#8220;Choose one to discard&#8221;, and my instinctive reaction was a nonsensical whine of: &#8220;But I don&#8217;t want to!&#8221;</p>
<p>I feel like I&#8217;m having a worse time with it, even though it&#8217;s purely a benefit once it&#8217;s in play. The <em>feel</em> of an ability is not just cosmetic, in this case it&#8217;s actually driving my gameplay decisions.</p>
<h5>The Fix</h5>
<p>I think you could make Slay&#8217;s power dramatically better purely with UX changes:</p>
<p>&#8211; You&#8217;re dealt your normal 5 cards<br />
&#8211; The extra card is shown in the center of the screen<br />
&#8211; &#8220;Choose a card to replace with this, or pass&#8221;</p>
<p>+ The benefit you&#8217;re getting is now visible and specific<br />
+ There&#8217;s now an easy &#8216;default&#8217; you can resort to if you don&#8217;t care &#8211; less pressure and friction<br />
+ Player action is now positive &#8211; &#8216;replace&#8217; rather than &#8216;lose&#8217;</p>
<p>Highlighting the &#8216;extra&#8217; card also means that when it&#8217;s an especially good one, you&#8217;ll think &#8220;Oh shit, this power saved me.&#8221; With the existing UX that can never happen, since there&#8217;s no concept of which card is the &#8216;extra&#8217; one. Mechanics and balance-wise, of course, it&#8217;s irrelevant which one is the &#8216;extra&#8217; &#8211; your options are exactly the same. But just that cosmetic change can completely change your emotional response to the situation, and how you feel about your decision to invest in this power.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Steam Quirks For Developers</title>
		<link>https://www.pentadact.com/2019-04-10-steam-quirks-for-developers/</link>
					<comments>https://www.pentadact.com/2019-04-10-steam-quirks-for-developers/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Wed, 10 Apr 2019 17:03:18 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=9205</guid>

					<description><![CDATA[Talking to people at GDC and Rezzed, especially people just starting in game dev, made me realise I&#8217;ve accumulated a load of non-obvious knowledge about how Steam works and how best to use it. Info like this tends to get passed around between established devs, at events and in closed circles, but newer devs and [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Talking to people at GDC and Rezzed, especially people just starting in game dev, made me realise I&#8217;ve accumulated a load of non-obvious knowledge about how Steam works and how best to use it. Info like this tends to get passed around between established devs, at events and in closed circles, but newer devs and those excluded from these groups don&#8217;t get access to it. </p>
<p>Everything marked &#8216;info&#8217; was either learned by me first hand, or told to me by Valve at events with the express purpose of getting this kind of info out to developers, without request of confidentiality. I say this because I do also get told things confidentially &#8211; none of that is in here. <span id="more-9205"></span></p><h5><strong>Info:</strong> wishlists matter a lot</h5>
<p>Getting people to wishlist your game on Steam before launch is the most effective way I know of making your game sell better when it comes out. When Heat Signature launched, 33,000 people had wishlisted it. One month after launch, the number of wishlisters who&#8217;d bought the game was 30,000. Some of those may have wishlisted it during that month, of course, but it&#8217;s still a good ratio.</p>
<p>People who&#8217;ve wishlisted your game get an e-mail from Steam when it&#8217;s released, and each time it goes on sale, until they buy it or take it off. This is even better than them signing up to your mailing list, because a) mails from small, new or less established mailing lists generally go straight to spam, and b) it&#8217;s free. At this point it costs me $220 to e-mail the Suspicious Developments mailing list. (I still do that too)</p>
<p>Wishlists <a href="https://steamcommunity.com/groups/steamworks#announcements/detail/1697191267955776539">also factor in to how your game shows up in search results on the store</a>.</p>
<p><strong>Advice: get a store page up as early as possible</strong></p>
<p>Heat Signature had a store page for 1.5 years before launch, and my best guess is this was the biggest (marketing) factor in its success. The fact that the game took longer than expected &#8211; which happens to most of us &#8211; ended up giving it longer to build interest in a way that meaningfully converted to sales. That was only true because its store page was up so early.</p>
<p>It&#8217;s only too early for a store page if:</p>
<ul>
<li>You can&#8217;t show appealing screenshots. (It used to be mandatory to have a trailer too, but now you don&#8217;t need that until you launch)</li>
<li>Your basic pitch for the game may fundamentally change.</li>
</ul>
<p>With Wizards, six months ago I was still undecided on things like &#8216;do units act simultaneously&#8217;, and I think building excitement then could have led to disappointment if that changed. Once that was figured out, we focused on making a few interactions feel good and have interesting results, made a trailer and put up <a href="http://wizards.cool">a store page</a>. From now on, any effort I put into showing off the game feels like it&#8217;s reducing the chance it will fail, and raising the ceiling on how well it could do.</p><h5><strong>Info:</strong> as the developer, you have magic tagging powers</h5>
<p>What tags people add to your game affect when it shows up in various places, most notably on other games&#8217; pages, in the &#8216;more like this&#8217; box. How many people applied each tag matters, and as the game&#8217;s developer, you have a secret super power to boost this. If you&#8217;re logged into Steam with the account you use for Steamworks, when you go to your own game&#8217;s store page and add a tag, it counts extra &#8211; the official docs don&#8217;t give a figure, but I think I heard you count as 50 people.  </p>
<p>I don&#8217;t think it&#8217;s worth trying to game this system, but check the Steamworks docs page on tags for more details &#8211; there&#8217;s very specific stuff on which tags count and how they&#8217;re weighted, which may influence which ones you want to boost. I&#8217;ve heard wildly varying results from this from devs, some say it gave them a huge boost to store traffic. I think I recall it helping for Gunpoint but less so for Heat Signature. It&#8217;ll vary a lot per game, because it depends on how popular games similar to yours are, how similar yours is to theirs, and how many others are more similar.</p><h5>Info: giving testers a beta key takes the game off their wishlist</h5>
<p>This is bad. Steam is generally great for beta testing, since everyone has it and it auto-patches. But even if you set up a separate beta package, and generate keys just for that package, when testers redeem the key, the game is removed from their wishlist. When the beta&#8217;s over, you can remove the app from the package or revoke the keys, but neither method puts the game back on their wishlist. We lost a huge chunk of our wishlisters for Heat Sig this way.</p>
<p><strong>Advice: set up a separate app</strong></p>
<p>To avoid this, I now create a separate app for beta testing. If you don&#8217;t have a complimentary app credit, you use the Contact Steamworks Support option in Steamworks to ask for one &#8211; at their roundtables with devs, Valve often stress that this really does go to a human who will try to help.</p><h5><strong>Info:</strong> your user review rating doesn&#8217;t affect visibility, unless it&#8217;s &#8216;mostly negative&#8217; or worse</h5>
<p>This is straight from Valve, confirmed twice. User review % has no effect on when or where the Steam store promotes your game, unless it&#8217;s &#8216;mostly negative&#8217; or worse. That&#8217;s not to say it won&#8217;t affect sales, of course: if I see something&#8217;s &#8216;mixed&#8217; I at least scroll down to find out why. Steam also surfaces your user review rating in many places other than your store page, so while it won&#8217;t affect when it gets shown, it might affect how many people click through.</p>
<p>Still, not worth stressing over dropping from &#8216;overwhelmingly positive&#8217; to &#8216;very&#8217;.</p><h5>Info: the release date you set in Steamworks is important, even if you hide it</h5>
<p>You can hide your game&#8217;s release date or replace it with a phrase like &#8216;When it&#8217;s done&#8217;, but you do have to set one. And it matters. It will determine when your game shows in the Coming Soon section of the store, and on the date you set, a load of third party services will announce your game has been released &#8211; eg Twitter accounts that tweet every new game.</p>
<p>I was alarmed to learn Heat Sig had come out, months before we&#8217;d finished it. Luckily it hadn&#8217;t actually released, we&#8217;d just hit the arbitrary date I&#8217;d typed in when we didn&#8217;t have a date. But it led to a bunch of people being pissed off and disappointed after our fake surprise launch.</p>
<p><strong>Advice: tell Steam your game is coming out in 3019</strong></p><h5><strong>Info:</strong> Steam&#8217;s visibility algorithms are trying to amplify external interest</h5>
<p>That means: if the Steam store notices a lot of traffic coming in to a game&#8217;s store page, it will start to feature that game more prominently on Steam itself too.</p>
<p><strong>Advice: maximise external interest in your Steam page on launch day</strong></p>
<p>Obviously you&#8217;re probably trying to maximise this anyway, but for me this means I specifically promote our Steam page above all else. Getting a few % more of the revenue on another storefront is small fry compared to getting more prominently featured on Steam, where 95% of our sales are going to come from either way. It also means it&#8217;s worth asking press and streamers to hold their coverage til launch day, so it hits all at once.</p>
<p><strong>Advice: don&#8217;t do pre-orders</strong></p>
<p>Pre-orders spread out your launch sales out over some preceding period, leading to a smaller spike on launch day and less favour from the algorithms.</p>
<p>I didn&#8217;t do pre-orders for Heat Signature, and we hit #1 in the charts on launch day, but I noticed only 3% of our store traffic came from people clicking it in the top sellers list. Nice enough, but not a game changer. So I asked Valve if maybe it wasn&#8217;t that important to have a big spike of sales on your launch day specifically? They said it still is, because it will determine how much the store promotes you. Having the same number of sales spread out over a week of pre-orders beforehand will lead to being featured less. Intensity matters.</p>
<p><strong>Advice: think carefully about Early Access</strong></p>
<p>Not saying don&#8217;t do it, but this is a reason to think twice. If it effectively gives you two smaller launches, you&#8217;d fare worse with the algorithms. I still see two situations where Early Access is probably worth it:</p>
<ul>
<li>You&#8217;re nearly out of money and the game is unfinished. Much better to call it that than pretend it is</li>
<li>You&#8217;re sure you can &#8211; and want to &#8211; do regular updates until launch</li>
</ul>
<p>The latter is the route that Dead Cells, Subnautica and Slay the Spire all took, to a level of success way beyond any of my games. I saw talks by the devs of all three at GDC, and all three said the extremely frequent and consistent updates were the key to making this work. Some also said it made the game take dramatically longer than it would have otherwise. For my part, I think having a publicly committed deadline every week or fortnight would break me.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2019-04-10-steam-quirks-for-developers/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Charity</title>
		<link>https://www.pentadact.com/2019-02-08-charity/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Fri, 08 Feb 2019 18:25:47 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=9182</guid>

					<description><![CDATA[When Gunpoint did well, in 2013, I thought: &#8220;I should give some money to charity. But this might have to last me the rest of my life. So I should wait til I have a second game out, and see how that does.&#8221; When Heat Signature did well in, 2017, I thought: &#8220;It&#8217;s doing great [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>When Gunpoint did well, in 2013, I thought: &#8220;I should give some money to charity. But this might have to last me the rest of my life. So I should wait til I have a second game out, and see how that does.&#8221;</p>
<p>When Heat Signature did well in, 2017, I thought: &#8220;It&#8217;s doing great so far! But how fast will it trail off? This has to cover the budget of the next game. What if Steam&#8217;s algorithm changes and all our revenue stops? Maybe after the third game I&#8217;ll know more about-&#8221;</p>
<p>I see what my brain is doing. There&#8217;ll always be enough uncertainty in my life that I can delay a donation in the name of caution. But I don&#8217;t think that loop ends on iteration 3 or 4, so I&#8217;m cutting it short now. I&#8217;m giving $25,000 to the <a href="https://www.againstmalaria.com/">Against Malaria Foundation</a> and another $25,000 to <a href="https://givedirectly.org">GiveDirectly</a>.<span id="more-9182"></span></p>
<p>Malaria prevention is a cause that is not at all close to my heart. To my knowledge it hasn&#8217;t affected anyone I know. But only giving to causes close to you contributes to a global injustice with charity. The people with the most money to give are geographically and culturally distant from the people who most desperately need it. Of the $410 billion donated by Americans in 2017, <a href="https://www.charitynavigator.org/index.cfm?bay=content.view&amp;cpid=42">only 6%</a> went to international charities.</p>
<p>Everything else I do with my money is about me, my family, or people I individually care about. For charity, I just want to know &#8220;Where is this most needed?&#8221;</p>
<p><a href="https://www.theatlantic.com/business/archive/2015/06/what-is-the-greatest-good/395768/">From the Atlantic</a>, quoting the Against Malaria Foundation:</p>
<p style="margin-left: 15px;"><em>Every day, more than 500 people die from malaria in the Democratic Republic of Congo, and the majority of these deaths are children under the age of five. AMF offers a shattering metaphor: Imagine a fully booked 747 airplane and infants strapped into seats A through K of every row of the economy section; their feet cannot reach the floor. Every day, this plane disappears into the Congo River, killing every soul on board. That is malaria — in one country.</em></p>
<p>There are known, proven ways to help prevent infection, they&#8217;re incredibly cheap. Long-lasting insecticide-treated nets have been proven effective in over 20 randomized controlled trials, and they cost less than $5 each &#8211; and yet their distribution is still constrained by funding. In other words, malaria prevention charities really do need money, and they can make incredibly impactful use of everything they get.</p>
<p><a href="https://givedirectly.org">GiveDirectly</a> are a charity that just gives your money directly to the extreme poor in Kenya, Uganda and Rwanda, no strings attached, so they can spend it on whatever they need.</p>
<p>There&#8217;s sometimes scepticism about what this kind of donation ends up being spent on, but it&#8217;s not supported by the evidence. <a href="https://blog.givewell.org/2012/12/26/the-case-for-cash-2/">Charity assessor GiveWell say:</a></p>
<p style="margin-left: 15px;"><em>Cash transfers also happen to be the most extensively studied non-health intervention we know of. In a large number of high-quality studies, researchers have looked to see whether cash transfers have indeed increased consumption, what sorts of consumption they’ve increased, and whether common concerns about them are supported by evidence. The consistent picture that emerges from these studies is that cash transfers generally do increase consumption, particularly on food, and that evidence to support common concerns has not emerged despite being looked for.<br />
&#8230;<br />
There is a smaller set of studies implying that people get significant return on investment from cash transfers, even over the long run; the case for longer-term impacts of cash transfers is broadly comparable to the case for longer-term life improvement impacts of our other top charities’ health interventions, and the cost-effectiveness according to our best estimates is in the same ballpark as well.</em></p>
<p>An example that surprised GiveWell was that the money is often spent on buying a metal roof. Mud and thatch rooves leak and have an ongoing cost in repair and maintenance &#8211; a metal one doesn&#8217;t. But GiveWell don&#8217;t know of any charity that provides people with metal rooves. Sometimes the most pressing problems in people&#8217;s lives can&#8217;t be foreseen and solved at scale by external bodies.</p>
<p>Giving directly also partly avoids the paternalism of dictating to poor people what&#8217;s best for them, when we have only the most abstract notion of what their lives and problems are like.</p>
<h5>Given those causes, why these specific charities?</h5>
<p>I mentioned GiveWell &#8211; they&#8217;re an independent charity that takes a scientific approach to evaluating the effectiveness of other charities. Against Malaria Foundation and GiveDirectly are both consistently in their top picks for the most demonstrably effective charities in the world. That doesn&#8217;t necessarily mean they&#8217;re the best or that the others are bad &#8211; when GiveWell can&#8217;t recommend a charity they&#8217;re not saying it&#8217;s not effective, they&#8217;re just saying the information they&#8217;d need to say it&#8217;s effective is not available. There are many types of charities whose effectiveness is hard to measure because it&#8217;s hard to measure, not because it isn&#8217;t there &#8211; research is especially hard to predict and rate.</p>
<p>But I still think it&#8217;s really valuable to have that little island of knowledge in a sea of uncertainty. To say, &#8220;we don&#8217;t know if another charity might be more effective, but we do know for sure that these ones have an extraordinary positive effect on people who desperately need it.&#8221;</p>
<h5>Aren&#8217;t you doing that paternalism thing with the malaria thing?</h5>
<p>Yeah, a bit. But there are some good arguments why the distribution of insecticide-treated mosquito nets <em>is</em> a problem that needs to be fought at scale. For one, there are multiplicative benefits if everyone in a community is protected. And the main recipients are children under 5, where the &#8216;decide for themselves&#8217; argument doesn&#8217;t really apply. There&#8217;s a very fair-minded <a href="https://blog.givewell.org/2012/05/30/giving-cash-versus-giving-bednets/">comparison of these two kinds of charity</a> on GiveWell&#8217;s blog, that concedes the virtues and downsides of both approaches.</p>
<h5>Why don&#8217;t you give your time instead of your money?</h5>
<p>I only have a normal amount of time to give, but a larger-than-normal amount of money. I could give both, of course, but I&#8217;m not that good a person. I would also stop making money if I did that, so the cause would lose out on a future donation like this and only get the services of a nervous game designer in exchange &#8211; not a great trade.</p>
<h5>That&#8217;s a convenient rationalisation for what you would do anyway.</h5>
<p>It is! Thanks.</p>
<h5>It&#8217;s not really altruistic if you tell people you&#8217;re doing it.</h5>
<p>True, I could potentially benefit from posting about this! But I don&#8217;t care whether this is altruism or not. I&#8217;m more interested in potentially helping to normalise it, and keeping it secret to be more virtuous doesn&#8217;t help with that. If you have two hits on Steam, it should be normal to give something significnat to some kind of charity. It should be normal to give more, but I haven&#8217;t entirely overcome my cautious instincts.</p>
<h5>Shouldn&#8217;t you show us a giant cheque or a receipt or something?</h5>
<p>I have the smaller of those things!</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-9191" src="https://www.pentadact.com/wp-content/GiveWell-donation-receipt-Tom-Francis-_-Suspicious-Developments-791x1024.png" alt="" width="791" height="1024" srcset="https://www.pentadact.com/wp-content/GiveWell-donation-receipt-Tom-Francis-_-Suspicious-Developments-791x1024.png 791w, https://www.pentadact.com/wp-content/GiveWell-donation-receipt-Tom-Francis-_-Suspicious-Developments-178x230.png 178w, https://www.pentadact.com/wp-content/GiveWell-donation-receipt-Tom-Francis-_-Suspicious-Developments-500x647.png 500w, https://www.pentadact.com/wp-content/GiveWell-donation-receipt-Tom-Francis-_-Suspicious-Developments-768x994.png 768w" sizes="auto, (max-width: 791px) 100vw, 791px" /></p>
<p>Some technical details:</p>
<ul>
<li>Ironically I couldn&#8217;t give this amount to GiveDirectly directly, because their UK arm only take credit card transfers, that&#8217;s why it&#8217;s through GiveWell.</li>
<li>Suspicious Developments is my company. I sometimes use that name to refer to the whole teams behind Gunpoint and Heat Signature, because a company name correctly implies it&#8217;s a group effort, but as a legal entity it&#8217;s just me.</li>
<li>Tax-wise, this will count like a business expense. So if SD was gonna make more than $50k profit this year, it&#8217;s now gonna make $50k less and you pay less tax if you make less profit.</li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>My Week</title>
		<link>https://www.pentadact.com/2019-01-22-my-week/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Tue, 22 Jan 2019 11:02:12 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Happiness]]></category>
		<category><![CDATA[Personal]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=9165</guid>

					<description><![CDATA[This year I&#8217;ve started tracking the hours I spend programming, because generally once I start tracking something I naturally start to optimise it. I&#8217;m not a workaholic &#8211; I&#8217;m at greater risk of not putting in the hours than of putting in too many, and I&#8217;d like to make sure I&#8217;m putting in enough. Programming [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This year I&#8217;ve started tracking the hours I spend programming, because generally once I start tracking something I naturally start to optimise it. I&#8217;m not a workaholic &#8211; I&#8217;m at greater risk of not putting in the hours than of putting in too many, and I&#8217;d like to make sure I&#8217;m putting in enough.</p>
<p>Programming is about 40% of my job. Another 40% is design, and the other 20% is every other job on a game that isn&#8217;t art or music. The design part is hard to track though: I find most productive design thinking comes from a big engine in the back while you&#8217;re doing other things, as it randomly matches disparate ideas and sprinkles them with what you&#8217;re currently experiencing and asks: &#8220;Is that anything?&#8221;</p>
<p>Programming, though, I can measure: I start a timer and then focus on work for anywhere from 8 minutes to 80. If I get the urge to check Twitter, I can but I have to stop the timer to do it, and only log the work time. I only get to log the time if it really was focused work &#8211; all breaks and interruptions and meals and everything else is excluded. Back when I notionally worked an 8 hour-a-day job, I had an hour for lunch, lots of Twitter breaks and interruptions. I&#8217;d be surprised if I averaged as many as 6 productive hours a day.</p>
<p>Anyway, here&#8217;s my first full week&#8217;s programming time tracked:<span id="more-9165"></span></p>
<p><a href="https://www.pentadact.com/wp-content/work-hours-graph.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-9166" src="https://www.pentadact.com/wp-content/work-hours-graph.png" alt="" width="1013" height="772" srcset="https://www.pentadact.com/wp-content/work-hours-graph.png 1013w, https://www.pentadact.com/wp-content/work-hours-graph-178x136.png 178w, https://www.pentadact.com/wp-content/work-hours-graph-500x381.png 500w, https://www.pentadact.com/wp-content/work-hours-graph-768x585.png 768w" sizes="auto, (max-width: 1013px) 100vw, 1013px" /></a></p>
<p>The faint numbers below the days are individual work sessions, that&#8217;s where I log them. I know there are apps to automate this but my actual focus doesn&#8217;t always correlate to which app I&#8217;m switched to, I prefer to do it manually so the data is meaningful. It&#8217;s also a satisfying moment to type the number in and see the bar go up.</p>
<p>This comes to about 30 hours, which struck me as alarmingly low at first. It felt like a very full week! But I was forgetting a few factors:</p>
<ul>
<li>I do other work on Mondays, which I didn&#8217;t track at all &#8211; more on that below.</li>
<li>Programming is only 40% of my job. Design&#8217;s 40% mostly overlaps with other stuff, so I&#8217;d expect programming to be more than 40% of my work time, but less than 80%.</li>
<li>This is productive time only, which is very different to &#8216;office time&#8217; &#8211; per above, I estimate worked less than 30 productive hours at a 40 office-hour job.</li>
</ul>
<p>So, actually, pretty good! The graph we&#8217;ll never see is how much more I started working because I knew it was being tracked &#8211; that&#8217;s one of the reasons I started. Since I&#8217;m hovering around 4-5 hours on a normal work day, I&#8217;ll aim to get that to a solid 5.</p>
<p>I did not log the time I spent tweaking the layout and colours of this graph.</p>
<p>Some features of my week:</p>
<h5>Business Mondays</h5>
<p>I set aside Mondays for dealing with all the company, tax, phonecalls, organisational bullshit I hate, and e-mails which I don&#8217;t hate but did not respond to at the time. When this piles up during the week, unless it&#8217;s urgent, this system lets me shelve it guilt-free, knowing exactly when I&#8217;ll get to it. I also do a lot better with tasks I dislike when I know they&#8217;re coming &#8211; I kinda dread Mondays (I picked Monday so I&#8217;d dread the same day as folks with office jobs), but that makes dealing with them easier. I wake up knowing the day will be all bullshit, no hope of doing any interesting work. And if I can plow through the bullshit quickly, I get the rest of the day off. I also relax any diet/booze restrictions on Business Mondays, a policy offices should adopt also.</p>
<p>I&#8217;ve been doing Business Mondays for about 5 years now and it&#8217;s one of the most successful habits I&#8217;ve made for myself since going independent &#8211; it stops the bullshit getting you down or derailing the productive stuff. As you can see I actually did end up doing a couple of hours of real work last Monday &#8211; this was on a side-project, as a reward for getting all my boring stuff done.</p>
<h5>Side-Project Saturdays</h5>
<p>This is new, not sure if I&#8217;ll stick to it, but I was remembering Google&#8217;s 20% time and wondering if that could work for my back-burner projects. My main project is Tactical Breach Wizards, and it&#8217;s progressing in ways I&#8217;m optimistic about, but it hasn&#8217;t been fast. I sometimes get anxious about it because our artist John Roberts made it look so good so fast, and people reacted so well to it, that it basically has to be made. That&#8217;s two massive lucky things I&#8217;m grateful for, but I&#8217;m used to having literally a year to fuck around with ugly prototypes of random shit I make up before having to decide which one is my real project. Feeling &#8216;locked-in&#8217; so early makes me anxious, and having side-projects relieves some of that.</p>
<p>So, I thought, maybe Saturdays are for side-projects? No hour quota, work as much or as little as I fancy. And you will see from the hour count that I fancied quite a lot. The two games I play most these days are Slay the Spire and Race for the Galaxy, and my fascination with digital, single-player card games has got to the point that I wanted to try making one. I&#8217;m also interested in trying something mechanics-heavy but completely non-violent, which means it&#8217;ll probably end up being about destroying suns. I&#8217;m making it in Unity to make sure I&#8217;m learning new things about the tools that&#8217;ll help the main project.</p>
<h5>Evening Chillwork</h5>
<p>Towards the end of Heat Signature, when I really needed to put in the hours, I&#8217;d sometimes give up on a bug at 6pm, have dinner, then watch TV with my laptop open and just tinker absently with it as I&#8217;m watching. It was amazing how often this solved it. When focus fails, taking the pressure off and putting your brain in the <a href="https://www.youtube.com/watch?v=Pb5oIIPO62g">open mode</a> is really effective. I&#8217;d also sometimes do it if the next day&#8217;s work was a big, daunting new task &#8211; just scope it out while relaxing, no pressure to get anywhere with it, and I often made surprising progress.</p>
<p>So now I do this occasionally, if I&#8217;m stuck on something or just didn&#8217;t find the hours in the daytime. I log this as half-time for the graph &#8211; an hour of chillwork is 30 minutes of productive time. No idea how accurate that is.</p>
<h5>Actually Take Sunday Off</h5>
<p>Well, the graph don&#8217;t lie, I didn&#8217;t do this. But that was evening chillwork, while watching movies. It was work I was excited to do, and sitting there forcing myself to fritter the time away instead wasn&#8217;t appealing. I won&#8217;t do this kind of thing when the side-project hits a tough part or just needs grunt work, that&#8217;s when it gets draining.</p>
<p>When I was making Gunpoint, towards the end, I was doing 5 days at PC Gamer and 2 days on Gunpoint. The idea here is just: don&#8217;t do that.</p>
<h5>Daily Routine</h5>
<p>I work from home in the morning, work out, have lunch, then go to a cafe for the afternoon&#8217;s work. I settled on this order of things because:</p>
<ul>
<li>Lazy mornings are the primary perk of working for yourself.</li>
<li>I used to work out in the morning but if I was having a low-energy day, I&#8217;d procrastinate and it&#8217;d derail everything.</li>
<li>Being around people for part of my day levels me out.</li>
</ul>
<p>Working entirely from home is more efficient, but if I do it for too long my mood starts to suffer. I lose perspective, small problems seem maddening or utterly insurmountable. In a cafe, when a problem is driving me nuts, I feel the initial frustration but then catch myself and get perspective.</p>
<p>Obviously I&#8217;m amazingly lucky to have this kind of freedom over my working life. That much freedom can be dangerous: if you don&#8217;t consciously get on top of it, create systems and measure the results, you can end up throwing away a huge gift and being miserable despite it.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Heat Signature&#8217;s Space Birthday Update Is Live!</title>
		<link>https://www.pentadact.com/2018-09-27-heat-signatures-space-birthday-update-is-live/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Thu, 27 Sep 2018 17:36:33 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=9122</guid>

					<description><![CDATA[Heat Signature is one Space Year old today! To celebrate, we&#8217;ve released a big free update we&#8217;ve been working on for five months, with over 20 features &#8211; including our own twist on a Daily Challenge. Click through for details on each: Character Traits 7 New Hazards Glory Missions &#38; Clients Upgraded AI &#38; Reworked [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Heat Signature is one Space Year old today! To celebrate, we&#8217;ve released a big free update we&#8217;ve been working on for five months, with over 20 features &#8211; including our own twist on a Daily Challenge.</p>
<p>Click through for details on each:</p>
<ul>
<li><a href="https://steamcommunity.com/games/268130/announcements/detail/1708443926949563973">Character Traits</a></li>
<li><a href="https://steamcommunity.com/games/268130/announcements/detail/1708443926954410768">7 New Hazards</a></li>
<li><a href="https://steamcommunity.com/games/268130/announcements/detail/1708443926959692477">Glory Missions &amp; Clients</a></li>
<li><a href="https://steamcommunity.com/games/268130/announcements/detail/1708443926961362135">Upgraded AI &amp; Reworked Alarms</a></li>
<li><a href="https://steamcommunity.com/games/268130/announcements/detail/1708443926960046083">Player Story Trading Cards</a></li>
<li><a href="https://steamcommunity.com/games/268130/announcements/detail/1708443926959917590">Contractors: 4 Unique Enemy Types</a></li>
<li><a href="https://steamcommunity.com/games/268130/announcements/detail/1708443926966998398">The Daily Challenge</a></li>
<li><a href="https://steamcommunity.com/games/268130/announcements/detail/1708443926961702811">10 Quality of Life Features</a></li>
</ul>
<p><span id="more-9122"></span></p>
<p>This update is a one-off, we don&#8217;t plan to do updates like this on a regular basis. You should only buy the game if you want it in its current state &#8211; we don&#8217;t make promises about future content.</p>
<p><strong>This update was made by</strong><br />
Tom Francis: design/code<br />
John Winder: code<br />
John Roberts: art</p>
<p><strong>Dedicated to John Francis</strong><br />
We started this update in April this year, and my dad passed away in May. He was an electrical engineer, a software engineer and an inventor. He got me into computers at an early age, inspired me to be ambitious with his infinite faith in me, and protected me from the fear of failure by making me feel I could never disappoint him. I hope everyone reading this knows they deserve that kind of boost in life, whether you&#8217;ve been lucky enough to receive it or not.</p>
<p>Dad was extremely excited when my games took off, making his own graphs and projections from the sales figures I sent him. All of you who bought Heat Signature or Gunpoint made him so happy and proud. I hope this update can say thank you for that.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What Works And Why: Emergence</title>
		<link>https://www.pentadact.com/2018-07-30-what-works-and-why-emergence/</link>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Mon, 30 Jul 2018 15:34:41 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=9052</guid>

					<description><![CDATA[I love Deus Ex, System Shock 2, and Dishonored 2, and the name for these games is dumb: they&#8217;re &#8216;immersive sims&#8217;. If you asked me what I liked about them, my answer would be a phrase almost as dumb: &#8217;emergent gameplay!&#8217; I always used to think of these as virtually the same thing, but of [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://assets.rockpapershotgun.com/images//2018/01/Dishonored-view.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-506737" src="https://assets.rockpapershotgun.com/images//2018/01/Dishonored-view-620x320.png" alt="Dishonored 2: Death of the Outsider" width="620" height="320" /></a></p>
<p>I love Deus Ex, System Shock 2, and Dishonored 2, and the name for these games is dumb: they&#8217;re &#8216;immersive sims&#8217;. If you asked me what I liked about them, my answer would be a phrase almost as dumb: &#8217;emergent gameplay!&#8217;<span id="more-9052"></span></p>
<p>I always used to think of these as virtually the same thing, but of course they&#8217;re not. Immersive sims usually have a whole list of traits, things like:<!--more--></p>
<ul>
<li><strong>Multiple solutions:</strong> you can overcome most problems in more than one way &#8211; the minimum is usually defeating enemies or finding a way around them. The best alternate name for the genre I&#8217;ve heard is Vent Crawlers.</li>
<li><strong>Emergent gameplay:</strong> (faint cheering from the back of the room) problems and solutions can &#8217;emerge&#8217; from the interaction of the game&#8217;s rules in ways that were not scripted and maybe not even foreseen by the developers. I&#8217;ll get more into this later.</li>
<li><strong>A wide toolset:</strong> you have more tools than just a gun or a sword, and the tools have more interestingly different effects than various amounts of damage.</li>
<li><strong>Ability progression:</strong> your suite of abilities is usually something you expand and upgrade as the game goes along, often choosing what to specialise in.</li>
<li><strong>Story-driven, goal-driven:</strong> immersive sims are generally not sandboxes, you know who you are in this world, what the story is, what you&#8217;re trying to do and why.</li>
<li><strong>A detailed and extensively interactive world:</strong> Deus Ex might not seem this way now, but it was at the time. Ability to interact with bathroom apparatus is considered especially important.</li>
<li><strong>Non-linear levels:</strong> it&#8217;s less of an immersive sim if each level is a path from start to destination.</li>
<li><strong>Exploring a story:</strong> not only is it possible to explore the world of an immersive sim more than necessary, it&#8217;s usually rewarded with snippets of story &#8211; both through environmental storytelling and written or voiced notes.</li>
</ul>
<p>I enjoy all these elements, but a lot of them have nothing to do with each other. You could make two games inspired by immersive sims with almost no overlap between them. In fact, I think that&#8217;s pretty much what my team and Fullbright have spent the last few years doing. Fullbright are the former BioShock 2 devs behind Gone Home and Tacoma, and my studio Suspicious Developments made Gunpoint and Heat Signature. I basically make games inspired by the first three items on that list, and I&#8217;d say Fullbright double down on the last three. </p>
<p>So if you want to make an emergent game, but don&#8217;t especially need it to be an immersive sim, how do you do it?</p>
<p><a href="https://assets.rockpapershotgun.com/images//2018/01/Deus-Ex-Tap.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-506739" src="https://assets.rockpapershotgun.com/images//2018/01/Deus-Ex-Tap-620x358.png" alt="If you want a picture of the immersive sim, imagine a cyborg, turning on a tap, forever." width="620" height="358" /></a></p>
<p>I call a problem or solution emergent if it happened as a result of the game&#8217;s general rules, not because a developer specifically intended it to happen. If you put a sufficiently big crate in front of a turret in Deus Ex (any Deus Ex), the turret won&#8217;t shoot you. That&#8217;s emergent because the rules involved are:</p>
<ul>
<li>You can move crates.</li>
<li>Crates block vision.</li>
<li>Turrets only attack targets they can see.</li>
</ul>
<p>It wasn&#8217;t necessary for the developer to write a line of code that says &#8216;if the player moves this crate to location x, don&#8217;t let the turret fire&#8217;. If it was, putting some other object in that spot might not work when logically it should. In a good emergent game, the developer doesn&#8217;t need to predict your strategy to make it work, they just write the rules, make sure you know them, and let you play.</p>
<p>So that&#8217;s <strong>rule 1 for emergence:</strong> the game must be mainly governed by consistent rules that are clear to the player.</p>
<p><a href="https://assets.rockpapershotgun.com/images//2018/01/Spelunky-tribesman.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-506735" src="https://assets.rockpapershotgun.com/images//2018/01/Spelunky-tribesman-620x196.png" alt="Spelunky tribesman" width="620" height="196" /></a></p>
<p>That one&#8217;s an emergent solution, but problems can be emergent too. <a href="https://www.pentadact.com/2012-07-13-shopstorm-a-spelunky-story/">Once in Spelunky</a>, I watched an enemy tribesman wander into a shop. He&#8217;d already thrown and lost his boomerang. The shop had a boomerang for sale. Tribesmen pick up boomerangs automatically. Shopkeepers go ballistic if anyone takes something out of their shop without paying. And so I ran, in absolute terror, from the sight of a man walking into a shop.</p>
<p>I knew the tribesman would take the boomerang. I knew he&#8217;d walk out with it. And I knew the shopkeeper would flip out. The place absolutely exploded with shotgun fire a moment later.</p>
<p>So <strong>rule 2:</strong> things get more interesting when non-player elements can interact with each other.</p>
<p>You could call this the emergence equivalent of <a href="https://en.wikipedia.org/wiki/Bechdel_test">the Bechdel test</a>: an emergent game needs to include:<br />
<strong>a)</strong> at least two non-player elements, that<br />
<strong>b)</strong> interact with each other, in a way that is<br />
<strong>c)</strong> not just murder.<br />
The shopkeeper absolutely did murder the tribesman, and another shopkeeper, and a dog, and ultimately himself &#8211; but it was the boomerang that made things interesting.</p>
<p>[gfycat data_id=&#8221;DeepWelltodoAtlanticblackgoby&#8221; data_expand=true data_controls=false data_title=false data_autoplay=true]</p>
<p>Can I tell you one from Heat Signature? It&#8217;s not my story so I hope it gets a pass. <a href="https://twitter.com/SomeAristocrat/status/912637614884315137">Dan&#8217;s</a> objective was in a locked room. He didn&#8217;t have the keycard. A nearby guard did, but they were in a room full of other guards.</p>
<p>Dan had two different teleporters: a Sidewinder and a Swapper. A Sidewinder can take you anywhere you have a clear path to &#8211; around a corner, but not through a locked door. A Swapper lets you switch places with someone, but there&#8217;s no-one inside the objective room. Do you see a solution?</p>
<p>Dan stands right next to the locked door, touching it. He uses the Swapper on the keycard guard. Now the guard&#8217;s next to the door, so it opens &#8211; but Dan is in a room full of guards and about to die. But now he <em>does</em> have a clear route to the objective, because for this one second the door is open. So he just clicks a button on his Sidewinder and he&#8217;s in the room with his objective.</p>
<p><strong>Rule 3:</strong> you get more interesting emergent solutions if you can do things to enemies other than kill them.</p>
<p><a href="https://assets.rockpapershotgun.com/images//2018/01/ftl-vs-engi.png"><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-506741" src="https://assets.rockpapershotgun.com/images//2018/01/ftl-vs-engi-620x253.png" alt="ftl vs engi" width="620" height="253" /></a></p>
<p><a href="http://www.pcgamer.com/ftl-preview-2/">Then there was that fight in FTL</a>. I&#8217;m up against an Engi ship, and they&#8217;re wrecking me with heavy lasers and an EMP cannon. One more hit and I&#8217;m dead. My shields are up, but when their EMP weapon fires next it&#8217;ll disable them, leaving me exposed to the heavy laser shots I cannot take. So&#8230; I turn off my shields.</p>
<p>An EMP shot disables your shield generator if it hits your shield. If your shields are down, it goes straight through and disables whatever system they&#8217;ve targeted. They might have targeted the shield generator, in which case I&#8217;m boned either way. But if there&#8217;s any chance they didn&#8217;t, if they&#8217;re aiming for <em>anything</em> else, I want them to hit. Because then I can just turn my shields back on and block the laser hit.</p>
<p>I turn my shields off. The EMP shot comes. And hits&#8230; life support. Perfect! We only need that if we&#8217;re gonna live more than a minute. Shields up, laser hits blocked, rip them to shreds with my finally-charged halberd beam.</p>
<p><strong>Rule 4:</strong> players find more interesting solutions when they&#8217;re desperate.</p>
<p>That one wasn&#8217;t even a good idea. There was every chance it would achieve nothing. I only tried it because <em>every other option</em> was certain death. And when I did, something wonderful happened. Keeping the player on the brink of failure without frustrating them is <a href="https://www.pentadact.com/2015-09-13-things-about-metal-gear-solid-v-spoiler-free/">a whole other article</a>, of course.</p>
<p>Obviously these are not the only rules for emergence, they&#8217;re just some of the ones I&#8217;ve learned so far. My hope for this column is to bridge the gap between the kind of surface-scratching analysis I used to squeeze into a review, and the deeper but more technical and jargon-heavy analysis aimed at developers. I love delving into why good games work, and I hope I can share my theories in a way that isn&#8217;t impenetrable.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pitch: Tactical Breach Wizards</title>
		<link>https://www.pentadact.com/2018-02-02-pitch-tactical-breach-wizards/</link>
					<comments>https://www.pentadact.com/2018-02-02-pitch-tactical-breach-wizards/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Fri, 02 Feb 2018 15:33:23 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Tactical Breach Wizards]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=9042</guid>

					<description><![CDATA[I&#8217;ve been tweeting GIFs of a game I&#8217;m prototyping in Unity for a while now, codenamed Tiny Ex-Cons, and recently did a video blog about the core elements I&#8217;m hoping to combine if I go ahead with it. It&#8217;s too early to know if this is my next big project or not &#8211; my prototype [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I&#8217;ve been <a href="https://twitter.com/Pentadact/status/936343589851942912">tweeting GIFs</a> of a game I&#8217;m prototyping in Unity for a while now, codenamed Tiny Ex-Cons, and recently did <a href="https://www.youtube.com/embed/EGvy1CJJirc?rel=0">a video blog</a> about the core elements I&#8217;m hoping to combine if I go ahead with it.</p>
<p>It&#8217;s too early to know if this is my next big project or not &#8211; my prototype doesn&#8217;t have enough to prove the concept yet &#8211; but I do want to start showing more of it. And I&#8217;ve been holding back part of the concept, and indeed the name. It&#8217;s not hard to describe, but it&#8217;ll only really work with the right art, so I didn&#8217;t want to talk about it until I was sure that side of things would work.</p>
<p>And hey, you know who&#8217;s good at art? Gunpoint and Heat Signature artist John Roberts! So he&#8217;s joined me again and sketched out some ideas for this new concept. Which is&#8230;<span id="more-9042"></span></p>
<h4>TACTICAL BREACH WIZARDS</h4>
<p><a href="https://www.pentadact.com/wp-content/collage-shuffled-1.png"><img loading="lazy" decoding="async" src="https://i.imgur.com/mKGMuB7.png" alt="" width="1680" height="1254" class="aligncenter size-full wp-image-9077" /></a></p>
<p>It&#8217;s a present-day turn-based strategy game about coordinating a small team to breach into rooms full of gangsters and other hostiles, but your team are all wizards. In tactical gear.</p>
<p>It&#8217;s partly based on a thing we used to joke about at PC Gamer sometimes, the idea of a super serious Call of Duty type military game, but the team are just wizards for some reason. We were probably all picturing different takes on this, but in my head it was kevlar over robes, staves with scopes, wands with silencers, grenades full of basilisk tears.</p>
<p>January last year, I was playing XCOM 2 and thinking &#8220;This is so good, and yet has so many clarity problems &#8211; I wish there were more indie XCOMs.&#8221; I started making notes for my own take on that, and about 400 words into the document, the wizards joke popped into my head, I hit caps lock and wrote:</p>
<p>TACTICAL BREACH WIZARDS!!!!!</p>
<p>I sent a mail round to check everyone I used to laugh about this with was OK with it, and they were. So, I&#8217;m taking that gag and mixing it with all my XCOM inspirations and hangups.</p>
<p>Here&#8217;s John&#8217;s sketch of what a scene might look like:</p>
<p><a href="https://www.pentadact.com/wp-content/Env-Sketch.png"><img loading="lazy" decoding="async" src="https://i.imgur.com/7mLFQ4M.png" alt="" width="1680" height="1046" class="aligncenter size-full wp-image-9047" /></a></p>
<p>I&#8217;m picturing you working your way through a building room-by-room like that, only having to worry about enemies in the current room.</p>
<p>Each of your units would be a named character with a unique class, and there&#8217;d be conversations with them between missions. Here are some of the character ideas we&#8217;ve been throwing around:</p>
<p><a href="https://www.pentadact.com/wp-content/Class_CQBW-notes.png"><img loading="lazy" decoding="async" src="https://i.imgur.com/FAGioe6.png" alt="" width="1622" height="1280" class="aligncenter size-full wp-image-9063" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Class_T1-notes-1.png"><img loading="lazy" decoding="async" src="https://i.imgur.com/sGFqEW9.png" alt="" width="1622" height="1280" class="aligncenter size-full wp-image-9068" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Class_RP-notes.png"><img loading="lazy" decoding="async" src="https://i.imgur.com/zc4LKQD.png" alt="" width="1900" height="1280" class="aligncenter size-full wp-image-9065" /></a></p>
<p>And because John is a beast, he&#8217;s already modeled one in 3D:</p>
<p><a href="https://www.pentadact.com/wp-content/Class_HWW-notes.png"><img loading="lazy" decoding="async" src="https://i.imgur.com/aVzMqWu.png" alt="" width="1622" height="1280" class="aligncenter size-full wp-image-9064" /></a></p>
<p>The sharpshooter would have different staves, which you&#8217;d probably see on the UI for weapon switching, so here are some concepts for those:</p>
<p><a href="https://www.pentadact.com/wp-content/Sniper_Staffs.png"><img loading="lazy" decoding="async" src="https://i.imgur.com/upepKUc.png" alt="" width="1024" height="808" class="aligncenter size-full wp-image-9048" /></a></p>
<p>Our current rule is that the functional part of an item is always magical, but it&#8217;s housed, framed, and accessorised like a modern tactical weapon.</p>
<p>Mechanics-wise, the concept is that you tell one wizard where to move and shoot, they do it, then you rewind and give the next one orders &#8211; they&#8217;ll execute at the same time.</p>
<p><a href="https://www.pentadact.com/wp-content/dual-knockback-gif.gif"><img loading="lazy" decoding="async" src="https://i.imgur.com/doCSBqT.gif" alt="" width="897" height="575" class="aligncenter size-full wp-image-9071" /></a></p>
<p>Another principle I&#8217;m trying is that you can play out a turn as many times as you like before you commit &#8211; you can keep rewinding and changing your orders until you&#8217;re happy with the result. Like Frozen Synapse, but without even the uncertainty about the enemy&#8217;s actions &#8211; all of the surprise will happen on their turn.</p>
<p>My prototype is too early to say if either of those systems will stick, I&#8217;ll happily scrap or change them if not. I might end up making a totally different tactics game with this same theme, or as I say, the whole thing might completely fail to coalesce and I scotch the lot.</p>
<p>If you want to know when we have a build ready for testing, <a href="http://eepurl.com/xKpTD">get on the Suspicious Developments mailing list</a> if you&#8217;re not already. It&#8217;ll be a while yet, though.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2018-02-02-pitch-tactical-breach-wizards/feed/</wfw:commentRss>
			<slash:comments>52</slash:comments>
		
		
			</item>
		<item>
		<title>Heat Signature&#8217;s Fair Points Update: Reacting To Good Reviews</title>
		<link>https://www.pentadact.com/2017-11-22-heat-signatures-fair-points-update-reacting-to-good-reviews/</link>
					<comments>https://www.pentadact.com/2017-11-22-heat-signatures-fair-points-update-reacting-to-good-reviews/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Wed, 22 Nov 2017 20:34:43 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=9024</guid>

					<description><![CDATA[I was too nervous to read Heat Signature reviews for two weeks after launch. I was relieved to see the scores were great, and after 3.5 years of work, that was all I wanted to hear: I didn&#8217;t want to know what their caveats were. Once I calmed down and read them, though, I was [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I was too nervous to read Heat Signature reviews for two weeks after launch. I was relieved to see the scores were great, and after 3.5 years of work, that was all I wanted to hear: I didn&#8217;t want to know what their caveats were.</p>
<p>Once I calmed down and read them, though, I was delighted: they were not only very positive, but they told entertaining stories and made intelligent points. And almost every critique I read I thought was a fair point. Hence this:<span id="more-9024"></span></p>
<h5>The Fair Points Update</h5>
<p>5 new features and 3 new items, in direct response to review critiques, designed to round the game out and make it more fun for more people.</p>
<p>We also added a gun that fires acid money to melt the flesh from your enemies and leave only chemically bleached bone. No-one asked us for that, we just kind of did it, and now here we are.</p>
<p>This post goes into all the design logic, critiques and features &#8211; if you&#8217;re only interested in what&#8217;s been added, the Steam Announcement covers only that.<!--more--></p>
<h5>Fair Point 1: if you can&#8217;t manage Hard missions, progression is too slow.</h5>
<p>That&#8217;s true, and intentional! I made two assumptions here, both wrong:</p>
<p>1. If you do enough Easy and Medium missions, you have good enough kit that Hard ones become doable for players of any skill level.<br />
2. Easy and Medium missions are boring, and you should eventually be forced to do harder ones.</p>
<p>As it turns out, some players struggle to ever do Hard missions even after acquiring a lot of gear, and are dying often enough on the Medium ones that they&#8217;re usually playing with a new, under-equipped character.</p>
<p>Separately, I was surprised to hear that these players <em>really like</em> Easy and Medium missions. They&#8217;re having fun!</p>
<p>But the fix isn&#8217;t as simple as increasing the rate of liberation progress for easy missions. Most players do have a better time when pushed to take harder missions, so harder missions need to reward you more. And the rate of progress should not be faster across the board, or the game becomes too short for those players. What we really want to do is check: are you making progress too slowly? And if so, can we help you out with that in an interesting way?</p>
<p><a href="https://www.pentadact.com/wp-content/liberators.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/liberators.png" alt="" width="854" height="333" class="aligncenter size-full wp-image-9036" srcset="https://www.pentadact.com/wp-content/liberators.png 854w, https://www.pentadact.com/wp-content/liberators-178x69.png 178w, https://www.pentadact.com/wp-content/liberators-500x195.png 500w, https://www.pentadact.com/wp-content/liberators-768x299.png 768w" sizes="auto, (max-width: 854px) 100vw, 854px" /></a></p>
<h5>Feature 1: Liberators</h5>
<p>If you haven&#8217;t liberated a station in a while, one of your choices on character select will be a Liberator: a randomly generated character with high-level gear, and a personal mission to liberate a particular station. They already have the intel and the kit to go out there and do this, so you can just pick them and head straight out.</p>
<p>If you don&#8217;t usually last long enough to find high-level gear, this&#8217;ll be a nice chance to try some out &#8211; and to keep it after you&#8217;re done. Because these characters only appear after you&#8217;ve gone a while without liberating a station, they don&#8217;t make the game any easier or faster for players who aren&#8217;t struggling. They should just ensure that progress is never too slow, whatever your skill level, and that you&#8217;re unlocking new things and having new experiences along the way regardless.</p>
<h5>Fair Point 2: Stronghold liberations are too hard for some players</h5>
<p>Heat Signature&#8217;s philosophy is to always give you a huge range of difficulty options for every mission, to cater to all skill levels, all character levels, and player tastes. We didn&#8217;t really do that for Strongholds, the 4 climactic missions you have to do to complete the game &#8211; they&#8217;re just outright hard. Perfect for some players, nigh impossible for others. It wouldn&#8217;t quite work to let you choose the difficulty of these &#8211; there&#8217;d be an incentive to play it safe and make them easier than your real ability level. So instead:</p>
<h5>Feature 2: Stronghold Liberators</h5>
<p>If and only if you fail a Stronghold mission, you&#8217;ll find a Stronghold Liberator in the bar. These are like the other liberators but even better equipped, so they should make Stronghold missions easier. Still not easy, but you can also afford to take more risks and lose them, since it&#8217;s not hours and hours of progress on the line. And each time you&#8217;re offered one, their kit will be different &#8211; so may be better or worse-suited to the job.</p>
<h5>Fair Point 3: Permadeath encourages you to choose missions below your skill level, because so much is at stake</h5>
<p>Huh! This one completely surprised me because it makes perfect sense and yet I&#8217;ve never experienced it. I play Heat Sig with a cavalier attitude, taking on missions I&#8217;m not at all sure I can do, assuming I&#8217;ll figure it out or at least be able to abort in spectacular style if things go south. But if you&#8217;re more risk-averse about your characters and kit, it&#8217;s true, the threat of permanently losing them is a factor pushing you to take easier missions, not harder. And for the reasons above, that&#8217;s the opposite of what we want to do!</p>
<h5>Feature 3: Glitchback Guarantee</h5>
<p>Sometimes, one of the harder missions on offer will come with a Glitchback Guarantee. This means your client will teleport you out the moment you get hit, avoiding any permanent damage. So there&#8217;s absolutely no risk in taking these missions, you can&#8217;t lose anything no matter how badly it goes. It doesn&#8217;t make the mission easier, though &#8211; if you have to be glitched out, the mission is canceled. So this also serves as a modifier to make some missions trickier: you only get one shot.</p>
<p>Even though we added this feature to cater to players who think the opposite way to me, I&#8217;ve ended up really enjoying it myself. I&#8217;ll just dive into an Audacious mission with a brand new character and no real hope, and just see how the chaos plays out.</p>
<h5>Fair Point 4: I just don&#8217;t do missions with shielded or armoured guards</h5>
<p>Aha. These two types of kit are special, in that they are nearly impossible to deal with without specialised tools. That&#8217;s intentional, for two reasons: </p>
<p>1. It makes those tools especially desirable, creating a progression path and meaningful differences between what different loadouts are good for.<br />
2. Sometimes, having to deal with an enemy you cannot take out gets really interesting, and brings out possibilities you don&#8217;t otherwise discover.</p>
<p>Where we screwed up, a little, is that you don&#8217;t know how many of these you&#8217;ll encounter. So even if you have a 5-use Crashbeam, you might not take a mission with shielded guards because there could be 15 of them. So you play it safe and don&#8217;t take it. </p>
<h5>Feature 4A: Guard counts</h5>
<p>You&#8217;re now told how many of each type of guard you&#8217;ll encounter on a mission, so you can plan accordingly. You&#8217;ll be able to tell: yes, I have enough tools to deal with this many shielded guards. But I&#8217;m also hoping you&#8217;ll sometimes think &#8220;I <em>nearly</em> have enough tools to deal with that many, I bet I can avoid the rest&#8230;.&#8221; A 5-use Crashbeam vs 8 shielded guards is a much more interesting proposition than an unknown number.</p>
<p>We&#8217;ve also made the number of bosses on a mission something that can vary separately, to increase variety: so you&#8217;ll now see missions that take place on a large ship but with only a handful of armoured bosses, and others where there&#8217;s more than one boss per cluster. There are more missions with 3-6 bosses, which is very doable if you have just one tool that deals with their protection type.</p>
<p><a href="https://www.pentadact.com/wp-content/crash-trap-2.gif"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/crash-trap-2.gif" alt="" width="366" height="214" class="aligncenter size-full wp-image-9031" /></a></p>
<h5>Feature 4B: Acid and Crash Traps</h5>
<p>We&#8217;re also adding two new item types to help you better deal with armour and shields. Acid Traps can be placed to strip the armour of any guard who walks on them, and Crash Traps will crash all of their electronic kit, shields included. You&#8217;ll have to use some guile to set them up and lure the target into them, but they both come with a powerful advantage: they&#8217;re always self-charging. That means even the common ones are endlessly re-usable, so there&#8217;s no upper limit on how many armoured or shielded guards you can deal with &#8211; if you can lure them in.</p>
<h5>Fair Point 5: I sometimes have trouble making things out</h5>
<p>We did a lot of work on clarity before launch, and saw great improvements in feedback &#8211; I think we got it to a point where it&#8217;s clear enough for the vast majority of people and also looks really nice. So I was gonna say &#8220;screw it, we did our best&#8221;. But then my friend Zack said two interesting things on the subject:<br />
1. He has the same kind of colour blindness as at least one other person who had this trouble.<br />
2. He wishes there was a mode he could turn on that made everything ultra-clear, regardless of the visual quality cost.</p>
<p>We haven&#8217;t heard about a specific colour-based distinction that&#8217;s causing trouble (we avoided knowingly relying on colour alone for this reason), but that angle helped me realise this is an accessibility issue. It doesn&#8217;t really matter whether the cause is an eye thing or a brain thing, if a percentage of people can&#8217;t see what&#8217;s going on, we should fix that.</p>
<p>His second point made it easier to see how we could: clarity is only hard if you&#8217;re trying to also optimise for visual richness and variety. We successfully did that for most people. For those we left behind, clarity is waaaay more important than prettiness. So if we have a way of making it clearer but less fancy, let&#8217;s make that an option!</p>
<p><a href="https://www.pentadact.com/wp-content/simple-art-mode.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/simple-art-mode.png" alt="" width="500" height="255" class="aligncenter size-full wp-image-9032" srcset="https://www.pentadact.com/wp-content/simple-art-mode.png 500w, https://www.pentadact.com/wp-content/simple-art-mode-178x91.png 178w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a></p>
<h5>Feature 5A: Simple Art mode</h5>
<p>Under Accessibility Options, there&#8217;s now a Simple Art Mode you can enable. It makes all ships use a simpler version of the Foundry ship look, which is already our clearest and plainest. We&#8217;ve clarified and plainified it a bit further in this mode: the traversible space is almost entirely blank, and the solid stuff is tweaked to all look identical. Hope this helps!</p>
<h5>Feature 5B: Explosive guard annotations</h5>
<p>We now annotate explosive guards when they first appear on screen, since some people had trouble spotting those. You can turn this off in the options if you don&#8217;t like it.</p>
<h5>Fair Point 6: I just hate permadeath</h5>
<p>OK, no reviewer said this. But one or two players did, and my mental response was &#8220;Well, this game is not for you.&#8221; I&#8217;m not gonna completely remove permadeath, it would be a totally different game, and one that generates less interesting stories overall.</p>
<p>But maybe that&#8217;s not the right question. It&#8217;s not: would the game be better without permadeath? It&#8217;s: can we help the players who hate it? Is there something we can do for them? And that&#8217;s actually an easy answer: sure! We could let them turn it off.</p>
<p>This is a bit mad, so I&#8217;m interested to see how it works out. I&#8217;m very intentionally moving away from &#8216;auteur protecting his precious artistic vision&#8217; and towards &#8216;let&#8217;s welcome everyone we can&#8217; &#8211; as long as we can do it without affecting players who are alrady having fun.</p>
<h5>Feature 6: A Cheat Option to turn off permadeath</h5>
<p>We&#8217;ve added this under Cheat Options to be clear that it&#8217;s not how the game is meant to be played &#8211; I don&#8217;t want other players to feel like they&#8217;re being asked to design how the game should work. This is a cheat. Play without it unless you need it. We warn you about the ways it can make the game less interesting. It&#8217;s only there for people who cannot enjoy the game as it stands.</p>
<p>When permadeath is off, anything that would normally permanently kill your character instead resets you to when you were last at a station.</p>
<h5>Fair Point 7: As it stands, there&#8217;s no way to strip the flesh from my enemies with a corrosive form of currency?</h5>
<p>Yes, sorry, that was an oversight.</p>
<p><a href="https://www.pentadact.com/wp-content/acid-gun-33.gif"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/acid-gun-33.gif" alt="" width="460" height="174" class="aligncenter size-full wp-image-9033" /></a></p>
<h5>Feature 7: The Fleshstripper</h5>
<p>The Fleshstripper is a new unique weapon that fires the same acid used as currency in the Drift &#8211; extracted from those colourful nebulae you&#8217;ve been flying through. It belts out a heavy rain of the stuff in an arc, melting through armour and flesh alike, leaving only skeletons behind. Its ammo is your savings: it costs 1 acid to fire.</p>
<p>From the 22nd of Space November to the 6th of Space December, there&#8217;s a shipment passing through the drift carrying the Fleshstripper &#8211; that&#8217;s your sure-fire way to obtain it. Regardless of whether you steal the shipment, it&#8217;s also available to all players as a very rare random drop.</p>
<h5>A note on Updates</h5>
<p><strong>Us:</strong> Here&#8217;s a significant free update!<br />
<strong>You:</strong> Great! I can&#8217;t believe we get these regularly for free forever!<br />
<strong>Us:</strong> Oh, geez. This is awkward.</p>
<p>This update is a one-off, we don&#8217;t plan to do updates like this on a regular basis. We might add items from time to time, but only buy the game if you want the game as it stands &#8211; we don&#8217;t make promises about future content.</p>
<p><a href="http://store.steampowered.com/app/268130/Heat_Signature/"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/faqbg.jpg" alt="" width="1895" height="657" class="aligncenter size-full wp-image-9034" srcset="https://www.pentadact.com/wp-content/faqbg.jpg 1895w, https://www.pentadact.com/wp-content/faqbg-178x62.jpg 178w, https://www.pentadact.com/wp-content/faqbg-500x173.jpg 500w, https://www.pentadact.com/wp-content/faqbg-768x266.jpg 768w, https://www.pentadact.com/wp-content/faqbg-1024x355.jpg 1024w" sizes="auto, (max-width: 1895px) 100vw, 1895px" /></a></p>
<h5>Nominate us in the Steam Awards!</h5>
<p>Heat Signature is all about player choice, so we would never try to influence how or when you choose to vote for us in the Steam Awards, in the &#8216;Choices Matter&#8217; category for player choice, before the 28th of November, by <a href="http://store.steampowered.com/app/268130/Heat_Signature/">clicking here</a>. That would have to be your choice.</p>
<p>Either way, if you&#8217;ve played enough Heat Signature to know if you recommend it, we&#8217;d love for you to <a href="http://store.steampowered.com/recommended/recommendgame/268130">leave a quick review!</a> As you can tell from this update, we like reviews.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2017-11-22-heat-signatures-fair-points-update-reacting-to-good-reviews/feed/</wfw:commentRss>
			<slash:comments>24</slash:comments>
		
		
			</item>
		<item>
		<title>Death is Canceled for Space Halloween</title>
		<link>https://www.pentadact.com/2017-10-27-death-is-canceled-for-space-halloween/</link>
					<comments>https://www.pentadact.com/2017-10-27-death-is-canceled-for-space-halloween/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Fri, 27 Oct 2017 16:11:11 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=9009</guid>

					<description><![CDATA[For the duration of Space Halloween (27th of Space October to the 1st of Space November), life and death in the Drift will be a little different: Removed: Death Due to science, you cannot die during Space Halloween. Bleeding out, suffocating, or being incinerated in an exploding pod will permanently turn you into a living [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>For the duration of Space Halloween (27th of Space October to the 1st of Space November), life and death in the Drift will be a little different:<span id="more-9009"></span></p>
<h5>Removed: Death</h5>
<p>Due to science, you cannot die during Space Halloween. Bleeding out, suffocating, or being incinerated in an exploding pod will permanently turn you into a living skeleton. Once Halloween is over, you&#8217;ll remain a skeleton but any lethal damage will finish you off. On the plus side, skeletons are undetectable by guard&#8217;s heat sensors, and can spacewalk indefinitely since they no longer need to breathe.</p>
<p><a href="https://www.pentadact.com/wp-content/skeleton-at-the-bar.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/skeleton-at-the-bar.png" alt="" width="782" height="195" class="aligncenter size-full wp-image-9014" srcset="https://www.pentadact.com/wp-content/skeleton-at-the-bar.png 782w, https://www.pentadact.com/wp-content/skeleton-at-the-bar-178x44.png 178w, https://www.pentadact.com/wp-content/skeleton-at-the-bar-500x125.png 500w, https://www.pentadact.com/wp-content/skeleton-at-the-bar-768x192.png 768w" sizes="auto, (max-width: 782px) 100vw, 782px" /></a></p>
<h5>Actual Ghost Missions</h5>
<p>When taking a mission with the Ghost Clause, you are now an actual ghost. As with real-life ghosts, you can still be seen but all attacks pass through you. You&#8217;ll return to normal once the mission is over.</p>
<p><a href="https://www.pentadact.com/wp-content/ghost-500.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/ghost-500.png" alt="" width="500" height="234" class="aligncenter size-full wp-image-9017" srcset="https://www.pentadact.com/wp-content/ghost-500.png 500w, https://www.pentadact.com/wp-content/ghost-500-178x83.png 178w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a></p>
<h5>Actual Skeleton Crew</h5>
<p>Ships running a Skeleton Crew are now literally running a crew of skeletons. The skeletons are functionally the same as normal guards except that they can no longer feel hope.</p>
<p><a href="https://www.pentadact.com/wp-content/skeleton-450000.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/skeleton-450000.png" alt="" width="500" height="207" class="aligncenter size-full wp-image-9016" srcset="https://www.pentadact.com/wp-content/skeleton-450000.png 500w, https://www.pentadact.com/wp-content/skeleton-450000-178x74.png 178w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a></p>
<h5>Does That Mean I Could Potentially Become A Skeleton Ghost?</h5>
<p>That&#8217;s a ridiculous question. Of course you can become a skeleton ghost.</p>
<p><a href="http://steamcommunity.com/games/268130/announcements/">A few other patch notes here</a>. If you don&#8217;t have Heat Signature, well, <a href="http://store.steampowered.com/app/268130/Heat_Signature/">getting it</a> would be step one.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2017-10-27-death-is-canceled-for-space-halloween/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>Heat Signature&#8217;s Launch, And First Player Legend</title>
		<link>https://www.pentadact.com/2017-09-27-heat-signatures-launch-and-first-player-legend/</link>
					<comments>https://www.pentadact.com/2017-09-27-heat-signatures-launch-and-first-player-legend/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Wed, 27 Sep 2017 14:25:57 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8925</guid>

					<description><![CDATA[I reshuffled this post a bit so I can link this part more easily: Update On The Everything Gun It&#8217;s been great to see how much people are loving this very silly weapon, and how excited people are to send us shots of them finding it. One thing I didn&#8217;t forsee was that for a [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I reshuffled this post a bit so I can link this part more easily:</p>
<h5><a name="Everything">Update On The Everything Gun</a></h5>
<p>It&#8217;s been great to see how much people are loving <a href="https://www.youtube.com/watch?v=zGRddCgdKPQ">this very silly weapon</a>, and how excited people are to send us shots of them finding it. One thing I didn&#8217;t forsee was that for a small number of people, it could cause anxiety: the fear of missing out, or even when they have it, the fear of somehow losing it. So we&#8217;re going to simplify it:<span id="more-8925"></span></p>
<h4>If you play any time between now and Oct 5th, you&#8217;ll unlock the Everything Gun as a random drop.</h4>
<h4>Within six months, we&#8217;ll unlock it as a random drop for everyone.</h4>
<p>I hope that allows it to still be a special thing for everyone who was part of our launch, without causing anyone worry. A few more details if you need them:</p>
<ul>
<li>If you&#8217;ve already stolen it from the shipment (even if you died right after), you&#8217;ve already unlocked it even if you don&#8217;t play again before Oct 5.</li>
<li>You can still steal it from the shipment if you haven&#8217;t already, that&#8217;s just a reliable way of obtaining it the first time.</li>
<li>Its unlocked status is stored both in your saves and backed up on Steam Cloud (unless you&#8217;re playing off Steam or have disabled Steam Cloud).</li>
<li>It&#8217;s a file called Progress.dat if you want to back it up manually.</li>
<li>Once it&#8217;s unlocked for everyone it&#8217;ll just be in the game, no save file involved, so there isn&#8217;t and never will be any way to permanently lose it.</li>
</ul>
<p>Three things to know about finding it as a random drop:</p>
<ul>
<li>It&#8217;s a Unique Item, the rarest tier, so it doesn&#8217;t come up frequently.</li>
<li>It&#8217;s a Unique Item, so there&#8217;s only one per galaxy. If one of your active characters has it, you won&#8217;t be finding it in crates in this galaxy, because look, there it is, that person&#8217;s got it.</li>
<li>Any time it&#8217;s not owned by one of your active characters, you can find it. Doesn&#8217;t matter how/why/when it was lost. Doesn&#8217;t matter if a character retired with it and didn&#8217;t pass it on. Doesn&#8217;t matter if you blew it up or flung it into space. Honestly it sounds like you&#8217;re <em>trying</em> to lose it, but tough, you can&#8217;t.</li>
</ul>
<h5>How The Launch Went</h5>
<p>Heat Signature has been out for six days, and my God. It has been a storm. The good kind. It took three and a half years and I spent about £200,000 on it, making it probably the biggest risk of my life. And by the time it was done, the chance for any given indie game to succeed had dropped enough that the term for this trend ends in &#8216;pocalypse&#8217;.</p>
<p>I knew I wouldn&#8217;t have another Gunpoint-size success &#8211; that came out in the sweet spot for indie, when demand was high and supply was low. So my best-case-scenario was to do half as well as Gunpoint did in the same timeframe.<!--more--></p>
<p>It&#8217;s done <em>better</em> than Gunpoint. Not by much, and it&#8217;s too soon to know if it&#8217;ll have the same long-tail Gunpoint did, but so far it really is a Gunpoint-size success. We hit #1 on Steam on launch day, and stayed in the top 10 for most of the week. Thank you so much to everyone who bought it and spread the word, and to everyone who&#8217;s left such lovely reviews. This was a huge gamble and I&#8217;m so relieved and grateful and frankly surprised it paid off.</p>
<p>If you haven&#8217;t got it yet but plan to, <a href="http://store.steampowered.com/app/268130/Heat_Signature/">the 10% discount ends tomorrow</a>.</p>
<h5>Reception</h5>
<p>The other shock is how people are reacting to it. I knew I&#8217;d designed a weird thing &#8211; it&#8217;s like a roguelike but in a persistent world, it&#8217;s like Hotline Miami but it&#8217;s not about skill, it has a goal but it&#8217;s not the point. Whatever you think it is before you play, it&#8217;s probably not quite that, and I&#8217;ve seen that not-as-expected thing lead to a bad reception for games I love.</p>
<p><a href="http://store.steampowered.com/app/268130/Heat_Signature/"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/heat-sig-overwhelming-500x272.png" alt="" width="500" height="272" class="aligncenter size-medium wp-image-8942" srcset="https://www.pentadact.com/wp-content/heat-sig-overwhelming-500x272.png 500w, https://www.pentadact.com/wp-content/heat-sig-overwhelming-178x97.png 178w, https://www.pentadact.com/wp-content/heat-sig-overwhelming-768x418.png 768w, https://www.pentadact.com/wp-content/heat-sig-overwhelming.png 984w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a></p>
<p>That does not seem to have stopped it. Overwhelmingly people get it, and I can use that word now because at time of writing our user reviews are &#8216;Overwhelmingly Positive (95%)&#8217; on Steam. But more than that, so many people are having the perfect response to it: they&#8217;re telling stories. For me a Story Generator is one of the highest goals in game design, it&#8217;s the common thread between my love for Deus Ex, Spelunky and Invisible Inc. So it&#8217;s wonderful to see Heat Sig is not just generating ones that players enjoy, but ones they&#8217;re excited to share. This didn&#8217;t happen with Gunpoint &#8211; people liked it, but at best they&#8217;d share jokes I wrote, not unique experiences they&#8217;d had.</p>
<p>If you browse <a href="https://twitter.com/search?f=tweets&amp;vertical=default&amp;q=%40heatsig&amp;src=typd">a Twitter search for @HeatSig</a> you&#8217;ll see them still pouring out. <a href="https://www.patreon.com/posts/14577892">This one</a> by my friend roBurky is a favourite. Today someone sent us fan art they&#8217;d done of their <em>own</em> characters, their own story. That feels like a sign we got something important right.</p>
<div align="center">
<blockquote class="twitter-tweet" data-lang="en">
<p lang="en" dir="ltr"><a href="https://twitter.com/Pentadact">@Pentadact</a> My favorite story from the game so far; a brother breaking his idiot brother out of captivity. I had to make an art of them after <a href="https://t.co/iPr3AbmAT9">pic.twitter.com/iPr3AbmAT9</a></p>
<p>&mdash; Shane Stapley (@ShaSta_SC) <a href="https://twitter.com/ShaSta_SC/status/912983968797954048">September 27, 2017</a></p></blockquote>
<p><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
</p></div>
<p>Which brings us to:</p>
<h5>Our First Player Legend Trading Card</h5>
<p>We want real player stories to be the legends of Heat Signature&#8217;s world, so we&#8217;ve been asking you to send us clips of your hijinks and turning the best ones into our Steam Trading Cards. We&#8217;re still accepting these on Twitter and haven&#8217;t nearly finished selection, but one came in that was such an easy Yes that we made the card right away. I&#8217;m posting it now to give you an idea of the glory that awaits you, and what a good entry looks like. To be clear, you just send us the clip (below &#8211; put @HeatSig at the end not the start) and say roughly what happened &#8211; John does your glamour shot, I give you a nickname and write your story. (I&#8217;m a recovering games journalist, let me have this.)</p>
<div align="center">
<blockquote class="twitter-tweet" data-lang="en">
<p dir="ltr" lang="en">Window Swapper Takedown, Pre gif format <a href="https://twitter.com/HeatSig">@HeatSig</a> <a href="https://t.co/1uJqiwzZcI">pic.twitter.com/1uJqiwzZcI</a></p>
<p>— Somguie Anon Ymus (@Underscore_lord) <a href="https://twitter.com/Underscore_lord/status/912205677644333056">September 25, 2017</a></p></blockquote>
<p><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
</p></div>
<h4>Ferris &#8216;Swapshot&#8217; Harris</h4>
<p><a href="https://www.pentadact.com/wp-content/Swapshot-Harris.png"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8926" src="https://www.pentadact.com/wp-content/Swapshot-Harris.png" alt="" width="234" height="269" srcset="https://www.pentadact.com/wp-content/Swapshot-Harris.png 234w, https://www.pentadact.com/wp-content/Swapshot-Harris-178x205.png 178w" sizes="auto, (max-width: 234px) 100vw, 234px" /></a></p>
<p><em>As a ship&#8217;s security guard, especially as an armoured elite, you have to be ready for anything. This one saw Ferris Harris coming. He saw an Offworld Angel coming at his ship&#8217;s broken window full burn, and even though he knew it couldn&#8217;t dock, he was ready for whatever other nonsense they were about to try.</em></p>
<p>At the moment of impact, Harris hit eject. He threw himself from his pod, through the pressure-retention field, and skidded to a halt directly in front of the guard. The guard didn&#8217;t flinch. He fired. And Harris swapped with him.</p>
<p>The guard was not ready for this. He suddenly found himself staring at the blue glow of the forcefield Harris just came through. He couldn&#8217;t process the situation fast enough to realise what would happen next: his own bullet hit him in the back of the head. His heavy armour saved him from the lethal impact, but the force was just enough to nudge him one step forwards &#8211; into the pressure field.</p>
<p>What we don&#8217;t know is if, in the 15 seconds between being flung into the icy void and asphyxiating, he had time to figure out what the hell just happened.</p>
<h5>Now</h5>
<p>Now I&#8217;m in a state of simultaneously needing a) a break, b) to catch up on a backlog of urgent things I let slide during development, and c) to tweak the game in response to feedback. But I&#8217;m happy to be doing all that in the aftermath of a success, rather than eg. the shadow of a massive financial disaster. So thank you for that!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2017-09-27-heat-signatures-launch-and-first-player-legend/feed/</wfw:commentRss>
			<slash:comments>25</slash:comments>
		
		
			</item>
		<item>
		<title>Heat Signature Is Out!</title>
		<link>https://www.pentadact.com/2017-09-22-heat-signature-is-out/</link>
					<comments>https://www.pentadact.com/2017-09-22-heat-signature-is-out/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Fri, 22 Sep 2017 17:23:03 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8912</guid>

					<description><![CDATA[Or you can buy it from the Humble Store. Supporter&#8217;s Edition There&#8217;s also a Supporter&#8217;s Edition, which comes with a bunch of fun extras: Play through Heat Signature&#8217;s development with 8 early prototypes from its 3.5 year development. Watch 9 developer commentary videos showing and explaining its evolution: from drilling through hulls to liberating empires. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p align="center"><iframe loading="lazy" src="https://store.steampowered.com/widget/268130/35481/" width="646" height="190" frameborder="0"></iframe></p>
<p align="center">Or you can <a href="https://www.humblebundle.com/store/heat-signature">buy it from the Humble Store</a>.</p>
<div class="VideoWrapper"><iframe loading="lazy" src="https://www.youtube.com/embed/ifgjEMIqRO4" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
<h4>Supporter&#8217;s Edition</h4>
<p>There&#8217;s also a Supporter&#8217;s Edition, which comes with a bunch of fun extras:<span id="more-8912"></span></p>
<ul>
<li>Play through Heat Signature&#8217;s development with 8 early prototypes from its 3.5 year development.</li>
<li>Watch 9 developer commentary videos showing and explaining its evolution: from drilling through hulls to liberating empires. (Total: 70 minutes)</li>
<li>Own the full soundtrack in 320kbps MP3 format. (19 tracks, 83 minutes)</li>
</ul>
<p align="center"><iframe loading="lazy" src="https://store.steampowered.com/widget/268130/205473/" width="646" height="190" frameborder="0"></iframe></p>
<p align="center"><a href="https://www.humblebundle.com/store/heat-signature-supporters-edition">And on the Humble Store</a>.</p>
<div class="VideoWrapper"><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/7P6S8YKUPIA" frameborder="0" allowfullscreen></iframe></div>
<h4>Technical Issues</h4>
<p>If you&#8217;re having any technical issues, we&#8217;re posting any known solutions <a href="http://steamcommunity.com/app/268130/discussions/0/1496741765123664804/">here</a>, and you can report bugs to us <a href="https://docs.google.com/forms/d/e/1FAIpQLScOK4-CDLfd4wEmykZQpe2XyRUKdtoiOh4TP1D1Rl73iRyTiw/viewform">here</a>.</p>
<h4>Thaaaaaaaanks!</h4>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2017-09-22-heat-signature-is-out/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Heat Signature Release Date And Launch Celebrations</title>
		<link>https://www.pentadact.com/2017-09-11-heat-signature-release-date-and-launch-celebrations/</link>
					<comments>https://www.pentadact.com/2017-09-11-heat-signature-release-date-and-launch-celebrations/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Mon, 11 Sep 2017 17:51:12 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8854</guid>

					<description><![CDATA[Heat Signature will be out on Steam 21st of September 2017! At time of writing, that&#8217;s Thursday of next week. It&#8217;s for Windows PCs, other platforms will depend on how this one goes. We don&#8217;t do pre-order bonuses because I don&#8217;t want to pressure you to buy before reviews are out. But I am super [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Heat Signature will be out on Steam <strong>21st of September 2017</strong>! At time of writing, that&#8217;s Thursday of next week. It&#8217;s for Windows PCs, other platforms will depend on how this one goes.</p>
<p>We don&#8217;t do pre-order bonuses because I don&#8217;t want to pressure you to buy before reviews are out. But I am super grateful to those who buy at launch, because our whole future depends on how we do that first week. So we&#8217;re doing a few special things to celebrate it and thank those of you who are joining us:<span id="more-8854"></span></p>
<div class="VideoWrapper"><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/3yUPIElOdfA?rel=0" frameborder="0" allowfullscreen></iframe></div>
<div style="float:left; padding-left:15px;padding-right:10px;"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/PU_Weapon_R11-1.png" alt="" width="30" height="30" class="alignleft size-full wp-image-8874" style="border-width: 0px;"/></div>
<h5>Unique Shipment: The Everything Gun</h5>
<p>For the first two weeks, there&#8217;s a ship carrying a unique weapon passing through the galaxy. It&#8217;s called the Everything Gun, and if you steal it, you&#8217;ll also unlock it as a random drop in this and all your future games. <a href="#Shipments">More info below</a>.</p>
<p align="center">&#8211;</p>
<div style="float:left; padding-left:15px;padding-right:10px;"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/trading30.png" alt="" width="26" height="30" class="alignleft size-full wp-image-8867" /></div>
<h5>Be One Of Our Trading Cards</h5>
<p>Heat Signature is all about the stories that emerge from what you get up to in game, not our pre-written lore. So for Steam Trading Cards, we want them to be about your stories. We want to see GIFs or short videos of crazy situations you&#8217;ve got into or clever tricks you&#8217;ve discovered, and we&#8217;ll turn the best into trading cards with your name on! You&#8217;ll have the strange sensation of being traded, sold, and perhaps broken down to make a badge. <a href="#Trading">More info below</a>.</p>
<p align="center">&#8211;</p>
<h5 id="Shipments">Unique Shipment FAQ</h5>
<p><strong>How do I find the shipment?</strong><br />
You&#8217;ll come across it randomly (about every 30 secs) as you fly around, quite frequently, and you&#8217;ll know it by a big golden light flashing on it, like in the video.</p>
<p><strong>Does this mean I have to be online to play?</strong><br />
Haha, God no. It&#8217;s a single player game and we&#8217;re not assholes. This is just a bit of fun.</p>
<p><strong>What happens if I board the ship but fail?</strong><br />
That&#8217;s fine! The ship will still be flying around until the date it&#8217;s due to leave, so you&#8217;ve got as many chances as you like, with whatever characters you like.</p>
<p><strong>What if I buy the game after the date the shipment leaves?</strong><br />
Same, you won&#8217;t get the Everything Gun, and it won&#8217;t drop randomly for you.</p>
<p><strong>If miss out, will it ever return?</strong><br />
Yes, though we haven&#8217;t planned when exactly.</p>
<p><strong>Is the ship hard?</strong><br />
Nope! See the video.</p>
<p align="center">&#8211;</p>
<h5 id = "Trading">Be On A Trading Card FAQ</h5>
<p><strong>What kind of clips are you looking for?</strong></p>
<p>&#8211; Clever or ridiculous: my favourite are &#8216;I was in this impossible situation and here&#8217;s the mad thing I tried to solve it&#8217;<br />
&#8211; Less than 1 minute in length, preferably less than 30 secs.<br />
&#8211; GIF, GFY or very short YouTube clip. You can also link to a particular timestamp in a longer YouTube or Twitch vid if you like<br />
&#8211; Cut, or link, straight to the good bit, or at most a few seconds before. No lead-in &#8211; if it needs that it&#8217;s probably not what we&#8217;re after.<br />
&#8211; Tell us in the Tweet what is happening, as best you can in the character limit.</p>
<p><strong>How do I submit one?</strong></p>
<p>On Twitter! But!</p>
<p>&#8211; Do it as a normal tweet, not a reply to us &#8211; we&#8217;d like people who don&#8217;t already follow us to see it. That means don&#8217;t start your tweet with @HeatSig.<br />
&#8211; Instead, mention @HeatSig at the end! You can say something like &#8220;I just did X in @HeatSig [link]&#8221; &#8211; that way we&#8217;ll see it.<br />
&#8211; Upload or link your clip, obviously. GIFs uploaded direct to Twitter are the coolest, but I know they&#8217;re more hassle to make and if they&#8217;re more than a few seconds they won&#8217;t fit in Twitter&#8217;s 7Mb, so links are fine.</p>
<p>Example:<br />
I just used a Glitchtrap to teleport a body into space and then Swapped with it to escape the ship in @HeatSig https://youtu.be/zGRddCgdKPQ </p>
<p><strong>What&#8217;s the deadline?</strong><br />
We&#8217;ll start looking at entries September 28th, but we&#8217;ll keep accepting them until we have enough that we love!</p>
<p><strong>How will I know if I&#8217;m picked?</strong><br />
We&#8217;ll reply to you on Twitter.</p>
<p><strong>How will I be credited on the Trading Card?</strong></p>
<p>We&#8217;d like to make the title of the card your name, but!<br />
&#8211; If you prefer an alias we can do that (caveat below).<br />
&#8211; If you&#8217;d rather we used the name of the character you were playing at the time we&#8217;re very happy do that (we can still credit your real name in the description or not, your choice).<br />
&#8211; If we&#8217;re using your name or an alias it&#8217;ll be subject to our approval: we don&#8217;t want anything that is or sounds like a joke name or something that&#8217;ll clash with the fiction.<br />
&#8211; We can discuss this if you&#8217;re picked.</p>
<p>The description on the card will probably be our summary of your cool moment.</p>
<p><strong>How do I capture videos or GIFs?</strong></p>
<p>If your PC has an nVidia card I like nVidia ShadowPlay. It&#8217;s included in the <a href="https://www.geforce.co.uk/geforce-experience/download">GeForce Experience</a> (unfortunately you have to make an nVidia account) and you can set it up to always be recording, then hit a key to have it save the last 5 minutes. Amazingly it seems to have almost no performance impact. That&#8217;s what I do. </p>
<p>Otherwise, <a href="https://obsproject.com">OBS</a> is your best bet. You&#8217;ll want to go to Settings > Broadcast Settings > Mode > File Output Only to make it save to disk instead of streaming live. I think it can do a similar always-recording thing but I haven&#8217;t used it for that myself.</p>
<p>For editing, I like <a href="http://avidemux.sourceforge.net/">Avidemux</a>.</p>
<p>For sharing, I suggest YouTube. In theory it&#8217;s possible to upload videos straight to Twitter but it&#8217;s never worked for gameplay videos for me.</p>
<p>To make GIFs, first make a video as above, then I recommend <a href="http://blog.bahraniapps.com/gifcam/">GIFCam</a> for capturing the bit you want. </p>
<p>You just watch your video back and put GIFcam on top of it and hit Record. I&#8217;d say 16 fps is good enough for this, and you&#8217;ll need the file size to be under 7MB to upload it on Twitter, which is the best way. </p>
<p>Failing that, you can upload small videos to <a href="https://gfycat.com/">GFYCat</a> and it&#8217;ll both GIF them and GFY them &#8211; GFYs are better quality equivalent of GIFs, but they don&#8217;t embed natively in Twitter.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2017-09-11-heat-signature-release-date-and-launch-celebrations/feed/</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
			</item>
		<item>
		<title>What Works And Why: Prey&#8217;s Intro</title>
		<link>https://www.pentadact.com/2017-05-29-what-works-and-why-preys-intro/</link>
					<comments>https://www.pentadact.com/2017-05-29-what-works-and-why-preys-intro/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Mon, 29 May 2017 14:11:21 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Game Design Ideas]]></category>
		<category><![CDATA[What Works And Why]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8835</guid>

					<description><![CDATA[The start of Prey is one of very few narrative-based game intros that really worked for me. And it comes not that long after one in the same genre that especially didn&#8217;t: Mankind Divided. So I thought it might be interesting to replay both and compare what works and what doesn&#8217;t. Not to pick on [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>The start of Prey is one of very few narrative-based game intros that really worked for me. And it comes not that long after one in the same genre that especially didn&#8217;t: Mankind Divided. So I thought it might be interesting to replay both and compare what works and what doesn&#8217;t. Not to pick on Mankind Divided &#8211; I loved the game after the stumbling start &#8211; but just because you can be more specific with praise if you have something to contrast it against.</p>
<p>I talked through my thoughts on both intros as I replayed them in the videos here, and I&#8217;ll summarise and add some conclusions through the magic of text. Obviously both parts of this post spoil the intros to these games.<span id="more-8835"></span></p>
<div class="VideoWrapper"><iframe loading="lazy" src="https://www.youtube.com/embed/yU8v4HqT-nI?rel=0" width="1280" height="720" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
<h5>Prey</h5>
<ul>
<li>No intro cut-scene, you&#8217;re in control right away.</li>
<li>Starting in your apartment gives you a safe place to play around, and a few hints at who you are in this world.</li>
<li>If you&#8217;re intrigued, there are e-mails to read for more background, but the game is not held up for this exposition if you don&#8217;t want it.</li>
<li>The mysteries are big, and central to you:</li>
<li style="margin-left:80px">Who am I in this world?</li>
<li style="margin-left:80px">What is my brother&#8217;s work and what&#8217;s my part in it?</li>
<li style="margin-left:80px">What are these tests for, and why is everyone so surprised when I do the obvious solution?</li>
<li>For each, you get enough info to speculate but not enough to clear it up, and they&#8217;re all intriguing to me.</li>
<li>The tests are framed as a thing you must do before you can go to space and Talos 1, treating that as an exciting reward. Going to space is exciting, I relate to this motivation. And it makes it cooler to be there, especially as it comes sooner than you&#8217;re led to believe.</li>
<li>Waking up as if the day is repeating raises further intriguing questions about your place in this world &#8211; especially when you realise it isn&#8217;t.</li>
<li>Breaking the glass is a great visual reveal: your first dramatic action is also the game&#8217;s most dramatic revelation so far.</li>
<li>Behind the scenes, all the notes, e-mails and environmental storytelling are interesting because they&#8217;re about you or people directly related to you, and feed into your many pressing questions about what&#8217;s going on.</li>
<li>I didn&#8217;t get to it in the video, but later when you emerge into the lobby, that&#8217;s a big, beautiful, visual reveal of a big piece of information &#8211; or a satisfying confirmation of what you&#8217;ve already twigged through your own investigations.</li>
</ul>
<div class="VideoWrapper"><iframe loading="lazy" src="https://www.youtube.com/embed/cih6rXRxU40?rel=0" width="1280" height="720" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
<p>Sorry the mic gets drowned out in parts.</p>
<h5>Mankind Divided</h5>
<ul>
<li>Non-interactive intro cut scene.</li>
<li>Starts with a news report about a terrorist incident, layered over footage of unknown men attacking other unknown men. Same incident? Seemingly not. Same men? Maybe. What&#8217;s this incident? Don&#8217;t know yet. Trying to tell two stories at once, and both are just &#8216;terrorists do bad things&#8217; so far.</li>
<li>Long, talky briefing, all tell and no show. We&#8217;re going after an arms dealer. He&#8217;s selling to some faction. One team is gonna do one thing, I&#8217;m gonna&#8230; block? An entrance? To keep the Jinn out? Aren&#8217;t the Jinn already there? Isn&#8217;t that who the deal is with?</li>
<li>Also interact with some gizmo in some way that&#8217;ll save? Our undercover agent? Why, how, which one was he again?</li>
<li>Long, unusually difficult stretch of gameplay with no further explanation. What I do in the level seems unrelated to what the briefing said: I&#8217;m not stopping the Jinn getting in, I&#8217;m moving through a level beating them up.</li>
<li>Peter Serafinowicz and I keep calling each other up to be assholes to each other. I don&#8217;t like either of us.</li>
<li>Get to the deal. Bad guys are there but other bad guys kill them. I must unplug a helicopter!</li>
<li>I don&#8217;t know who the gold mask guys are but it doesn&#8217;t seem interesting or important. Some bad guys killed some other bad guys over some weapons. The new ones are mysterious, but to be honest I knew next to nothing about the folks they just killed either. They&#8217;re both just violent people who want weapons, that&#8217;s all the plot that&#8217;s been communicated after about 30 minutes of talking and fighting.</li>
<li>Long credits sequence of disjointed news reports and symbolic imagery.</li>
<li>Long conspirator chat that doesn&#8217;t clarify anything.</li>
<li>Game suddenly goes back into intro mode, with a long non-interactive talky sequence arriving in Prague. The game&#8217;s biggest twist so far &#8211; I&#8217;m a double agent! &#8211; is never really mentioned, only indirectly implied by the nature of this conversation about Interpol logistics. </li>
<li><em>Another</em> inciting incident! An explosion! It doesn&#8217;t reveal or relate to anything else so far.</li>
<li>In the third of three intros, you wake up in your apartment. Some of the augs you didn&#8217;t choose are disabled now but some aren&#8217;t and you can&#8217;t see which ones because that screen is broken &#8211; until you go and do a mission that&#8217;s hard and annoying without knowing what your augs are.</li>
</ul>
<h5>Lessons:</h5>
<h5>Start from a place that needs no explaining</h5>
<p>MD needs you to understand all the factions and political context of an arms deal, and a double-agent within one of them, to make sense of what you&#8217;re being asked to do and why you should care. You can&#8217;t really show that, so they just have to talk to you about it for 7 full minutes before you can start playing. The result is I didn&#8217;t really follow it and I <em>don&#8217;t</em> really care.</p>
<p>When you wake up in your apartment in Prey, all that really needs saying is that you&#8217;re going to work for your brother on a space station. The other stuff you don&#8217;t know is fun to figure out.</p>
<h5>Unanswered questions are not automatically mysteries</h5>
<p><strong>Unanswered question</strong>: who are the gold mask guys who kill the other terrorists?<br />
<strong>Mystery</strong>: why am I waking up as if my day is repeating?</p>
<p>The difference is that this mystery is:</p>
<ul>
<li>Consequential: it matters a lot what the answer is.</li>
<li>Personal: the answer will affect my character specifically.</li>
<li>Hard to answer: there&#8217;s no obvious answer that isn&#8217;t interesting in itself.</li>
</ul>
<p>With the gold mask guys, it&#8217;s not clear why it&#8217;s important who they are, they have no relation to my character yet, and a very likely answer is very boring: they&#8217;re just another group of terrorists who want weapons. If they at least didn&#8217;t take the weapons, that&#8217;d be <em>something</em> to pique some interest &#8211; a vendetta? A hit? But still, faction-kills-faction is always gonna struggle to rank on those three points.</p>
<h5>Pick a reveal you can show</h5>
<p>MD&#8217;s intro does have a cool piece of information to reveal, but it comes more than half an hour in, delivered through dialogue, and only implied. You&#8217;re a double-agent! Whoa! That makes both you and Interpol more interesting. But I learned that from a loading screen tip, after a long conversation that conveys it so indirectly I didn&#8217;t grasp it at all.</p>
<p>Could MD have done their reveal visually? Maybe. If your first mission had been to retrieve some vital drive, you could have a scene like:</p>
<p><strong>MILLER (VO):</strong> When you get to Prague bring it straight to my office, Jensen, we can&#8217;t take any risks.<br />
<strong>JENSEN: </strong>Understood.<br />
We see him put the drive in a brown paper bag and leave the train. As soon as he steps onto the platform, he drops it in the trash. He passes a woman sitting at a cafe, touches her table as he squeezes past, and without looking at her:<br />
<strong>JENSEN:</strong> Package is in, you&#8217;ve got 20 minutes.<br />
We stay on Jensen as he blends into the crowd, but can see her get up as she leaves the frame.</p>
<p>There&#8217;d still be some Tell before and after the Show, but the reveal itself is a big, dirty betrayal we see with our own eyes.</p>
<p>Prey&#8217;s big reveal is that your reality is an artifice and you&#8217;re the subject of a test. That&#8217;s an easy one to show visually, and they do it with style: you unwittingly shatter the false world&#8217;s thin facade with a wrench blow.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2017-05-29-what-works-and-why-preys-intro/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Morphblade And Imbroglio: Making A Game To Test A Critique</title>
		<link>https://www.pentadact.com/2017-03-11-morphblade-and-imbroglio-making-a-game-to-test-a-critique/</link>
					<comments>https://www.pentadact.com/2017-03-11-morphblade-and-imbroglio-making-a-game-to-test-a-critique/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Sat, 11 Mar 2017 22:50:28 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Morphblade]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8810</guid>

					<description><![CDATA[I released Morphblade last week, which is a game I made in direct response to Michael Brough&#8217;s Imbroglio. They&#8217;re both games where you move around a grid of different tile types, and the one you&#8217;re standing on determines what you can do there. I&#8217;ve also been playing a lot of XCOM 2 lately, and dreaming [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I <a href="https://www.pentadact.com/2017-03-03-morphblade-is-out/">released Morphblade</a> last week, which is a game I made in direct response to Michael Brough&#8217;s <a href="http://mightyvision.blogspot.com/2016/05/imbroglio.html">Imbroglio</a>. They&#8217;re both games where you move around a grid of different tile types, and the one you&#8217;re standing on determines what you can do there.</p>
<p>I&#8217;ve also been playing a lot of XCOM 2 lately, and dreaming up my own indie equivalent to solve its clarity problems. So I started to worry: am I less original now? Have I gravitated towards building on other people&#8217;s ideas? Gunpoint was derivative, but at least it was derivative of many things rather than any one game.</p>
<p>But it&#8217;s OK, because like so many unoriginal people I found a way to rephrase this to make myself sound good. This is not unoriginal game design, it&#8217;s playable games criticism! I used to write about where games went right or wrong, now I actually try fixing their problems and find out if I&#8217;m right!</p>
<p>That&#8217;s bluster, of course, but it&#8217;s reasonably true of Morphblade. It started as a private experiment: I hate getting screwed by the corridor generation in Imbroglio! Couldn&#8217;t I just remake Imbroglio and fix that? <em>Can</em> I fix that? Am I right that it would help?</p>
<p>Along the way, I realised I had opinions about almost every other part of Imbroglio, and tried doing each of them my way to see if it worked. Not: &#8220;The game has these flaws, I will fix them!&#8221; &#8211; Imbroglio is hugely successful at being the game it wants to be. More: &#8220;I wouldn&#8217;t have done it this way, how would my way have worked out?&#8221;</p>
<p>So here, specifically, were the main changes I was interested in trying:<span id="more-8810"></span></p>
<h5>Random walls vs no walls</h5>
<p>In Imbroglio, you grab a gem to score a point, then the walls of the level regenerate around you and the next gem is in a new spot. Sometimes it generates in such a way that an enemy is now between you and the gem with no alternate routes between you and them. At this point you live or die by what tiles happen to be between you and it &#8211; if they all do 1 blue damage and the enemy has 4 blue health, you are dead. On a high level, your death is due to the layout of your board, but in the moment, it always feels like the damn corridors screwing you.</p>
<p>I didn&#8217;t end up replacing this with a revised corridor generator, I just scrapped walls altogether. The weapons-as-tiles concept made positioning and movement interesting enough to me &#8211; and I ended up doubling down on that with how weapons worked (see Healthbars). I didn&#8217;t feel barriers would improve it, especially when they were the cause of my initial problem.</p>
<p><a href="https://www.pentadact.com/wp-content/ivm-corridor.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/ivm-corridor.png" alt="ivm corridor" width="1375" height="717" class="aligncenter size-full wp-image-8816" srcset="https://www.pentadact.com/wp-content/ivm-corridor.png 1375w, https://www.pentadact.com/wp-content/ivm-corridor-178x93.png 178w, https://www.pentadact.com/wp-content/ivm-corridor-500x261.png 500w, https://www.pentadact.com/wp-content/ivm-corridor-768x400.png 768w, https://www.pentadact.com/wp-content/ivm-corridor-1024x534.png 1024w" sizes="auto, (max-width: 1375px) 100vw, 1375px" /></a></p>
<h5>Square grid vs hex grid</h5>
<p>I had no problem with Imbroglio&#8217;s square grid, but I&#8217;d always wanted to try a hex one. I&#8217;m also a big fan of Hoplite, and its Slash move taught me that hex grids give you a new way to attack something: moving past it.</p>
<h5>Building phase vs build-as-you-go</h5>
<p>In Imbroglio, you start by designing a 16 tile grid from a deck of cards, which will be locked in place as soon as you start play. This is at least half the game, and I like it. But it&#8217;s a hell of a lot of decision making to frontload &#8211; I haven&#8217;t relapsed on Imbroglio as much as Hoplite, because when I go back to it I look at that grid and think &#8220;Oh jeez.&#8221;</p>
<p>Every one of those sixteen decisions is massively important and massively interconnected and there are something like 32 options for each. That&#8217;s the game Imbroglio wants to be: it&#8217;s not a series of interesting decisions, it&#8217;s a cargo container of them, dropped on you from a crane.</p>
<p>I wanted something that was friendlier to dive into, even if it lost that design-a-grid feeling. I was also really resistant to doing two modes &#8211; two interfaces, two control schemes, two things to teach. Something about that just clashed with all my instincts towards simplicity, especially for a focused small-scale design experiment.</p>
<p>So you play right away in Morphblade, on a two-tile grid, then after every wave of enemies you add a new hex. Originally you always chose both the type and position of each new hex &#8211; if you&#8217;ve played it, those occasional blank hexes used to be the only type I gave you. It was essentially a drip-feed of the same type of decisions Imbroglio puts up-front. But I found that led to me building the same grid every time, unless I had some rare insight or theory about a new strategy. I was more interested in a game that used randomisation to nudge you to build a different grid each time you played, where your decision-making is reactive rather than dictatorial.</p>
<p><a href="https://www.pentadact.com/wp-content/ivm-grid-building.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/ivm-grid-building.png" alt="ivm grid building" width="1213" height="717" class="aligncenter size-full wp-image-8820" srcset="https://www.pentadact.com/wp-content/ivm-grid-building.png 1213w, https://www.pentadact.com/wp-content/ivm-grid-building-178x105.png 178w, https://www.pentadact.com/wp-content/ivm-grid-building-500x296.png 500w, https://www.pentadact.com/wp-content/ivm-grid-building-768x454.png 768w, https://www.pentadact.com/wp-content/ivm-grid-building-1024x605.png 1024w" sizes="auto, (max-width: 1213px) 100vw, 1213px" /></a></p>
<p>Figuring out how to do that is where Morphblade changed from something I was gonna release for free in August 2016 to something I felt was worth five bucks in March 2017. The earliest release date Steam could give me in August was the day I left for Stugan, a two month retreat whose organisers had invited me to help me finish Heat Signature. I felt I wouldn&#8217;t be honouring that privilege if I spent any of that time on different project, so I watched lots of my new friends play Morphblade but didn&#8217;t touch it for two months.</p>
<p>I came back much more bothered by the same-every-time problem, and tried a few solutions. The one that ultimately solved it was simple and obvious, but I rejected it at first because it was incompatible with one of the hex types I had. Eventually I realised I had to step back and re-solve that problem a different way first. </p>
<p>The solution was to give the new hexes I offer you randomly preset types: do you want a Hammer up here, or a Blade down there? You still have a decision to make, but the ones you&#8217;re presented with are different each time you play.</p>
<p>That did not work when one of the types was Gun, which could not fire point-blank, because the answer was always &#8220;Well not the fucking Gun, obviously.&#8221; The Gun only worked as part of cleverly pre-planned designs, which was fundamentally fighting the reactive-design goal I was going for, so I scrapped it and rethunk. The result was Acid, a tile that strips armoured enemies when they move there &#8211; a faithful successor to Gun in that is it every bit as unpopular with players, who are every bit as wrong.</p>
<h5>Two healthbars vs no healthbars</h5>
<p>It looks a bit like everything in Imbroglio has health and mana, but they&#8217;re really more like red health and blue health &#8211; run out of either of them and you die. The game is deeply about hitpoints, and I am deeply not. I&#8217;m not as zealously against them as I used to be, but I generally think if you avoid them you end up with more immediately satisfying interactions.</p>
<p>So every enemy dies in one hit in Morphblade, or they don&#8217;t die at all &#8211; armoured enemies are immune to conventional attacks. Instead of dealing different amounts of damage, the various tile types in Morphblade just kill in different patterns. Hammer kills the thing in front of you without moving. Blades kill things to the sides as you move. Arrow kills two things in front of you if you have room to move that far.</p>
<p><a href="https://www.pentadact.com/wp-content/ivm-healthbars.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/ivm-healthbars.png" alt="ivm healthbars" width="1213" height="717" class="aligncenter size-full wp-image-8823" srcset="https://www.pentadact.com/wp-content/ivm-healthbars.png 1213w, https://www.pentadact.com/wp-content/ivm-healthbars-178x105.png 178w, https://www.pentadact.com/wp-content/ivm-healthbars-500x296.png 500w, https://www.pentadact.com/wp-content/ivm-healthbars-768x454.png 768w, https://www.pentadact.com/wp-content/ivm-healthbars-1024x605.png 1024w" sizes="auto, (max-width: 1213px) 100vw, 1213px" /></a></p>
<p>This changes utility tiles. Imbroglio has a lot of tile types that do something interesting but deal less damage to compensate. I was already a little unhappy with this &#8211; if there&#8217;s a pendant that increases my mana, it felt weird to have to bludgeon people to death with it again and again until it leveled up enough to do that. It felt like all these tile types were reluctantly working two jobs: they didn&#8217;t really want to be damage dealers, but that&#8217;s how things level up so they would half-heartedly let you use them that way.</p>
<p>So Morphblade&#8217;s other three tile types do no damage at all. Repair, Teleport and Acid don&#8217;t let you directly hurt enemies, though in Morphblade you can always move into an enemy to shove them back. The shoving thing prevents them from being a total liability &#8211; a zero damage tile in Imbroglio, which can exist, is a deathtrap &#8211; but the other problem is how do they level up? I went for the next most obvious way: when things die <em>on</em> them.</p>
<p>It was actually Morphblade that convinced me hitpoints have their virtues &#8211; for the player. It matters a lot less if an enemy hitting <em>you</em> is satisfying &#8211; it probably won&#8217;t be &#8211; and having just two or three HP gives a lot more breathing room for strategies and mistakes. In particular, being in Scenario X has starkly different implications and options if you have 2 health vs if you have 1, so the interesting possibility space is expanded. The more health you allow the fuzzier and less interesting those differences get, so I kept it simple: you can take one hit without dying. With the right upgrades, you can take two.</p>
<h5>32+ tile types vs 6 tile types</h5>
<p>Imbroglio has lots and lots of cards, almost all with unique effects. But with Morphblade, I was really interested in trying something that didn&#8217;t take fucking ages to make.</p>
<h5>Straight upgrades vs cross-breeds</h5>
<p>Each tile in Imbroglio has its own upgrade path, usually increasing in damage a little and eventually unlocking some special effect. If I was going to have fewer tile types, maybe I could give you more options in how you upgrade them? Branching upgrade trees might be good, but I&#8217;m always looking for ways to collapse things down and reuse or mix together existing elements. If Suspicious Developments had one of those aspirational corporate mottos, it would be &#8220;combining things in sometimes interesting ways perhaps&#8221;. So I thought about letting you cross-breed one hex type with another.</p>
<p>I could have let you add the effects of any hex type onto any other, but with six types and six sides to a hexagon, I couldn&#8217;t resist making it about adjacency. So if you want to upgrade a Hammer to kill things to the sides like Blades, you&#8217;ve got to build a Blades hex next to it before you level it up. This adds a bunch of extra considerations onto which types of hex you want in which positions, which makes the multiple-choice building system more interesting. You design your possible upgrade paths by how you construct your board, then you kill things to earn the upgrades, then you choose between the options you&#8217;ve given yourself.</p>
<p><a href="https://www.pentadact.com/wp-content/morphbroglio-upgrades.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/morphbroglio-upgrades.png" alt="morphbroglio upgrades" width="1085" height="1272" class="aligncenter size-full wp-image-8825" srcset="https://www.pentadact.com/wp-content/morphbroglio-upgrades.png 1085w, https://www.pentadact.com/wp-content/morphbroglio-upgrades-178x209.png 178w, https://www.pentadact.com/wp-content/morphbroglio-upgrades-500x586.png 500w, https://www.pentadact.com/wp-content/morphbroglio-upgrades-768x900.png 768w, https://www.pentadact.com/wp-content/morphbroglio-upgrades-873x1024.png 873w" sizes="auto, (max-width: 1085px) 100vw, 1085px" /></a></p>
<p>I had a few rules for these combinations:</p>
<p><strong>Asymmetry:</strong> upgrading type A with type B should make a different hex to upgrading B with A.<br />
<strong>Stackability:</strong> upgrading A with B should not stop you also upgrading A with C.<br />
<strong>Nonredundancy:</strong> upgrading A with B can be more useful than upgrading A with C, but it should not render upgrading A with C pointless.<br />
<strong>Desirability:</strong> upgrading A with B shouldn&#8217;t stop you doing something significantly useful you could do with A alone.<br />
<strong>Exaggeration:</strong> upgrading A with A should make A better at A&#8217;s job.</p>
<p>This meant coding 36 different upgrades, at least 18 of which had to be redone as hex types were replaced or redesigned. This took fucking ages to make.</p>
<h5>Conclusion</h5>
<p>I haven&#8217;t talked about whether I think each of these changes worked, because in isolation, of course I do. If I didn&#8217;t, I would have reverted them or done something else. But that doesn&#8217;t mean I think the game is better overall. In fact, I think they&#8217;ve steered it far enough from Imbroglio that they don&#8217;t feel like two attempts to do the same thing. When the press wrote about Morphblade&#8217;s launch, Imbroglio wasn&#8217;t even the most common point of comparison &#8211; it was Hoplite.</p>
<p>The big one is scrapping the build phase. That moves it to a different genre. I think it ended up feeling like Space Hulk to Imbroglio&#8217;s Warhammer 40K: much smaller possibility space, but less set up, and aiming to scratch a different itch.</p>
<p>I&#8217;m very happy with Morphblade&#8217;s simplicity / depth balance. It&#8217;s less deep than Imbroglio, but deeper than other games with so few elements. It got a lot better when I added the list of all possible upgrades on the description of each tile: you&#8217;re constantly being presented with a menu of all the complexity the game has to offer, but you don&#8217;t have to worry about most if it because you only have a few options at each stage.</p>
<p>I also like that the strategies players have found successful are not at all the same as mine. The highest scores I&#8217;ve seen are based on super upgraded time-stopping teleporters, a strategy I&#8217;ve never got to work. And I&#8217;ve seen lots of others beat my high score with other builds, ones I haven&#8217;t tried. I use Arrows, obsessively, and sometimes worried that Arrows are just too good, so obviously better than other hexes. But I&#8217;ve seen no hint of that preference from other players, so it seems like it supports a bunch of different styles.</p>
<p>So Morphblade probably ended up being more successful as an exercise in game making than in game critique, but I&#8217;m happy anywhere on that spectrum.</p>
<p>Reading Michael&#8217;s <a href="http://mightyvision.blogspot.com/">posts</a> about Imbroglio&#8217;s design makes me all the more appreciative of how much work and thought of his I&#8217;m benefiting from when I draw inspiration from the final product. I&#8217;m glad I got to hug and thank him properly at GDC this year.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2017-03-11-morphblade-and-imbroglio-making-a-game-to-test-a-critique/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Morphblade Is Out!</title>
		<link>https://www.pentadact.com/2017-03-03-morphblade-is-out/</link>
					<comments>https://www.pentadact.com/2017-03-03-morphblade-is-out/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Fri, 03 Mar 2017 18:00:53 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Morphblade]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8711</guid>

					<description><![CDATA[This is the game I started last year, when I needed a break from Heat Signature, and I&#8217;ve continued to tinker with it on the odd weekend or evening. It&#8217;s crystallised into something I really enjoy playing, so I asked testers what they thought it was worth. The average answer was $5, so $5 it [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This is the game I started last year, when I needed a break from Heat Signature, and I&#8217;ve continued to tinker with it on the odd weekend or evening. It&#8217;s crystallised into something I really enjoy playing, so I asked testers what they thought it was worth. The average answer was $5, so $5 it is! <a href="http://store.steampowered.com/app/494720">It&#8217;s out now on Steam, for Windows</a>.</p>
<p>Morphblade was heavily inspired by <a href="http://mightyvision.blogspot.pt/2016/05/imbroglio.html">Imbroglio</a>, so I asked Michael Brough&#8217;s permission before developing and selling it, and he was kind enough to give his blessing. The core idea that your location determines your weapon is straight from Imbroglio, but along the way I changed pretty much everything else.</p>
<p>So you move around a hexagonal grid slicing, smashing and bursting waves of nasty red bugs. Each hex you move to turns you into a different weapon: on a Blades hex you can kill things to your sides, on an Arrow you can fire yourself through two enemies in a row. And between waves, you choose how to build out the grid to your own design.</p>
<p>If you&#8217;re subscribed to the Humble Monthly Bundle (on 3/3/2017), you already have it. If not, <a href="http://store.steampowered.com/app/494720">grab it from Steam for $5</a>.</p>
<p>Here&#8217;s a video that explains it better!</p>
<div class="VideoWrapper"><iframe loading="lazy" width="1280" height="720" src="https://www.youtube-nocookie.com/embed/NxNX6-j9Ca0?rel=0" frameborder="0" allowfullscreen></iframe></div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2017-03-03-morphblade-is-out/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Heat Signature Factions Trailer, Working At Valve</title>
		<link>https://www.pentadact.com/2016-12-21-heat-signature-factions-trailer-working-at-valve-looking-for-a-programmer/</link>
					<comments>https://www.pentadact.com/2016-12-21-heat-signature-factions-trailer-working-at-valve-looking-for-a-programmer/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Wed, 21 Dec 2016 17:42:43 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8777</guid>

					<description><![CDATA[Surprising news! I made a new video showing off John Roberts&#8217; excellent new art for the game&#8217;s four factions! (Not that surprising) I&#8217;m looking for a programmer in the Seattle area to help me finish the game! (Seattle part seems surprising) &#8230; because I&#8217;m moving to Bellevue to work on the game at Valve&#8217;s offices! [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Surprising news!</p>
<ul>
<li><strong>I made a new video showing off John Roberts&#8217; excellent new art for the game&#8217;s four factions!</strong> (Not that surprising)</li>
<li><strong><del datetime="2017-02-01T06:52:35+00:00">I&#8217;m looking for a programmer in the Seattle area to help me finish the game!</del></strong> (Seattle part seems surprising)</li>
<li><strong>&#8230; because I&#8217;m moving to Bellevue to work on the game at Valve&#8217;s offices!</strong> (Extremely surprising but now the Seattle thing is less surprising)</li>
</ul>
<p>Here&#8217;s the new video, which also shows what teleporters and the <em>What Now?</em> screen add to the game:</p>
<div class="VideoWrapper"><iframe loading="lazy" width="1280" height="720" src="https://www.youtube.com/embed/QIsAIdafoes?rel=0" frameborder="0" allowfullscreen></iframe></div>
<p>If you haven&#8217;t already, <a href="http://store.steampowered.com/app/268130/?snr=1_7_7_230_150_1">put it on your Steam Wishlist</a> so you hear about it when it comes out. Also, if you were in on a Steam beta, it was probably taken off your wishlist because Steam briefly thought you owned it, so check. And if you want to be in on future tests, make sure you&#8217;re on the mailing list (top right).<span id="more-8777"></span></p>
<h5>The Valve thing</h5>
<p>They want my input on something, and I&#8217;d obviously welcome theirs on Heat Sig, so I&#8217;ve accepted their offer to come and work on it at their offices instead of my bedroom. I&#8217;ll still be independent, self-employed and pretty much full time on Heat Sig, but I&#8217;m very excited to be around people again &#8211; especially these people. I&#8217;ll be there for 3 months at most, at which point the siren song of visa waiver laws will call me home.</p>
<h5>The job (updated)</h5>
<p>Found someone, thanks!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2016-12-21-heat-signature-factions-trailer-working-at-valve-looking-for-a-programmer/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Heat Signature: What I&#8217;ve Been Working On</title>
		<link>https://www.pentadact.com/2016-11-26-heat-signature-what-ive-been-working-on/</link>
					<comments>https://www.pentadact.com/2016-11-26-heat-signature-what-ive-been-working-on/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Sat, 26 Nov 2016 15:46:37 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8742</guid>

					<description><![CDATA[As well as the update above, I&#8217;ve been putting up some day-by-day logs of what I&#8217;m working on in Heat Signature. I&#8217;m only doing them for my own benefit, so they&#8217;re not mega interesting and I don&#8217;t do one every day I work &#8211; only when I think it&#8217;ll help.]]></description>
										<content:encoded><![CDATA[<div class="VideoWrapper"><iframe loading="lazy" width="1280" height="720" src="https://www.youtube.com/embed/_cV8ha2ys_U?rel=0" frameborder="0" allowfullscreen></iframe></div>
<p>As well as the update above, I&#8217;ve been putting up <a href="https://www.youtube.com/playlist?list=PLUtKzyIe0aB3XehTDkDGqQFjNNh7tqed0">some day-by-day logs of what I&#8217;m working on in Heat Signature</a>. I&#8217;m only doing them for my own benefit, so they&#8217;re not mega interesting and I don&#8217;t do one every day I work &#8211; only when I think it&#8217;ll help.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2016-11-26-heat-signature-what-ive-been-working-on/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Games Successfully Developed At Stugan 2016 So Far</title>
		<link>https://www.pentadact.com/2016-08-02-games-successfully-developed-at-stugan-2016-so-far/</link>
					<comments>https://www.pentadact.com/2016-08-02-games-successfully-developed-at-stugan-2016-so-far/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Tue, 02 Aug 2016 13:32:12 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8719</guid>

					<description><![CDATA[I&#8217;m in a cabin in the woods in Sweden for seven weeks, with 20ish other game developers, all working on our own games. This is Stugan. None of us have finished yet, but we have successfully developed the following non-digital games along the way, and I release them to you now:Throw A Rock As Far [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.youtube.com/watch?v=LdXPyQMIxBo">I&#8217;m in a cabin in the woods in Sweden</a> for seven weeks, with 20ish other game developers, all working on our own games. This is Stugan. None of us have finished yet, but we have successfully developed the following non-digital games along the way, and I release them to you now:<span id="more-8719"></span></p><h5>Throw A Rock As Far As You Can</h5>
<p><strong>Players:</strong> 1+</p>
<li>Select a rock.</li>
<li>Throw it as far as you can.</li>
<p>&nbsp;<br />
Notes:<br />
Probably best to do this at the lake.<br />
The reeds in the lake serve as good distance marker.<br />
It is interesting to determine the optimal size of a rock for distance.<br />
It is somewhat interesting to determine the optimal throwing angle.<br />
The random nature of available rocks makes true scientific assessments of adjustments in method tricky.<br />
Although Throw A Rock As Far As You Can can be played with others, the true enemy is the prison of your mind.</p><h5>Catchy Pinecone</h5>
<p><strong>Players:</strong> 1</p>
<li>Throw two pinecones in the air.</li>
<li>Attempt to catch them overhand, one in each hand.</li>
<p>&nbsp;<br />
Notes:<br />
This is easier when your throw is very symmetrical and your two hands can do the same catching action.<br />
It is slightly more interesting to intentionally avoid this.</p><h5>Super Catchy Pinecone</h5>
<p><strong>Players:</strong> 2</p>
<li>Player 1 faces away from player 2.</li>
<li>Player 2 counts 3-2-1-go and throws the pinecone on go.</li>
<li>Player 1 must turn around, visually acquire the pinecone, and catch it all in its short flight time, in order to look like a cool person.</li>
<li>Regardless of whether coolness was achieved, Player 1 now throws the cone.</li><h5>Catchy Highcone</h5>
<p><strong>Players:</strong> 2</p>
<li>Player 1 throws a pinecone to Player 2, but much too high to catch without jumping.</li>
<li>Player 2 jumps and attempts to catch the pinecone.</li>
<p>&nbsp;<br />
Notes: this is not as good as Super Catchy Pinecone, which is reflected in its name.</p><h5>Throwy Pinecone</h5>
<p><strong>Players:</strong> 1+</p>
<li>Throw a pinecone at a canoe.</li>
<p>&nbsp;<br />
Notes: this is weirdly hard.</p><h5>Shit Dice Game</h5>
<p><strong>Players:</strong> 2+</p>
<li>Take one die.</li>
<li>All players guess the outcome.</li>
<li>Roll the die.</li>
<li>Whoever is closest without exceeding the value wins.</li>
<p>&nbsp;<br />
Notes: the &#8216;closest without exceeding&#8217; thing I am half remembering from something else, and it ruins this already fairly weak game.</p><h5>Dice of Havoc</h5>
<p><strong>Players:</strong> 2+</p>
<li>Take a large handful of assorted dice.</li>
<li>All players guess what the summed total of the results will be.</li>
<li>Roll them.</li>
<li>The closest wins.</li>
<p>&nbsp;<br />
Notes: the first round of this is the best, before everyone has established how many of what kinds of dice are involved, because no-one has a good ballpark of what the value might be. We guessed in the hundreds and the value was sixty something.</p><h5>Buoyancy Ball</h5>
<p><strong>Players:</strong> 1+</p>
<li>Take a cheap plasticky football into a pool.</li>
<li>Push it under the surface and attempt to stand on it.</li>
<li>If you succeed, jump up and down on the ball.</li>
<li>The person who can jump highest and still return to a balance position afterwards is the winner.</li>
<p>&nbsp;<br />
Notes:<br />
Getting into the balance position seems very hard at first, but can usually be mastered quickly.<br />
If you are light enough for the ball to counteract your water weight, this game may be impossible.<br />
If you want to get technical, as anyone having fun in a pool naturally would, jump height should be measured relative to the person&#8217;s standing height, to control for player height.</p><h5>Super Buoyancy Ball</h5>
<p><strong>Players:</strong> 2+</p>
<li>Take a cheap plasticky football into a pool.</li>
<li>Push it under the surface and attempt to stand on it.</li>
<li>Now try to pass it to another player with your feet.</li>
<li>The other player must take control of the ball and attain the balance position before the pass can be considered successful.</li><h5>Shooty Balloon</h5>
<p><strong>Players:</strong> 2+</p>
<li>Take some balloons and some water pistols into a pool.</li>
<li>Knock the balloons around, not letting them touch the ground or water.</li>
<li>Every player must shoot every balloon between every time it is touched.</li>
<p>&nbsp;<br />
Notes: with enough balloons and guns this quickly becomes impossible, but involves so much shooting that it&#8217;s hard not to enjoy.</p><h5>Monsoon Balloon</h5>
<p><strong>Players:</strong> 2+</p>
<li>Take two balloons into a pool, and give everyone water pistols.</li>
<li>Players divide into two teams, each with a ball in front of them.</li>
<li>Players must propel their team&#8217;s ball to the other side of the pool only by shooting it.</li>
<li>Players may not move from their starting position.</li>
<p>&nbsp;<br />
Notes: this is awesome.</p><h5>Catch or Die</h5>
<p><strong>Players:</strong> 2+</p>
<li>Player 1 stands in the pool facing away from Player 2.</li>
<li>Player 2 throws the ball to Player 1.</li>
<li>At or shortly before the opportune time to catch the ball, Player 2 advises Player 1 to &#8216;Catch!&#8217;</li>
<li>Player 2 attempts to catch the ball without turning around.</li>
<p>&nbsp;<br />
Notes:<br />
We tried &#8216;3-2-1-go&#8217; but it doesn&#8217;t work well as the thrower does not know in advance when the best time to catch will be. We saw best results from just saying &#8216;Ready&#8217; shortly before throwing, so the catcher has a rough notion, but still relying on the precise timing of the &#8216;Catch!&#8217; for success.<br />
I guess there is no special reason this game needs to be in a pool.<br />
If the catch fails, it is not strictly necessary to die, but it is against the spirit of the game to go on with your life.</p>
<p><strong>Armel adds:</strong></p>
<h5>Frisball</h5>
<p><strong>Players:</strong> 2+</p>
<li>Put an american football inside a ring frisbee</li>
<li>Players must stand in a circle, each separated by at least 5 yards</li>
<li>Throw the Frisball at each others without it loosing its integrity</li>
<p>Notes:<br />
The building phase of the Frisball itself is underrated, as playing with a carefully made Frisball drastically improves the chance of it not falling apart after even the lightest throw.<br />
Some purists say the real game only begins when someone else asks what the hell everyone is doing and you have to think of a clever explanation.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2016-08-02-games-successfully-developed-at-stugan-2016-so-far/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>What To Do If Your Prototype Isn&#8217;t Fun</title>
		<link>https://www.pentadact.com/2016-06-22-what-to-do-if-your-prototype-isnt-fun/</link>
					<comments>https://www.pentadact.com/2016-06-22-what-to-do-if-your-prototype-isnt-fun/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Wed, 22 Jun 2016 11:38:45 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8707</guid>

					<description><![CDATA[I got an e-mail today from a developer who&#8217;s having trouble making any of their prototypes fun. I&#8217;m posting my reply here in case it&#8217;s of help to anyone else. This developer was writing because they liked Gunpoint, so that&#8217;s why all my examples are from that. I would suggest three things to bear in [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I got an e-mail today from a developer who&#8217;s having trouble making any of their prototypes fun. I&#8217;m posting my reply here in case it&#8217;s of help to anyone else. This developer was writing because they liked Gunpoint, so that&#8217;s why all my examples are from that.</p>
<p>I would suggest three things to bear in mind:<span id="more-8707"></span></p>
<h5>1. Don&#8217;t judge one prototype mechanic against a whole finished game</h5>
<p>I don&#8217;t know if you&#8217;ve played the early prototypes in the DLC, but the first versions of Gunpoint didn&#8217;t have much going for them. I had you trying to jump on guards who turned around at random intervals, killing you instantly. By itself the jump wasn&#8217;t particularly interesting, but once I&#8217;d got it useable that&#8217;s when I added stuff like pouncing on guards and punching them, climbing on walls and mantling round corners. I didn&#8217;t know if any of these things would be particularly good, but as it turned out the punching bit was an unexpected highlight. It still wasn&#8217;t what you&#8217;d call &#8216;a fun game&#8217;, though, it needed years of thought and design and testing and redesign to make it all hang together.</p>
<p>For a long time the Crosslink was just a theoretically interesting idea, most testers just said it had &#8216;potential&#8217;. It was pretty empty by itself, and it took a long time and lots of trial and error to design levels that managed to present interesting obstacles to your rewiring ability, without forcing you down a single path.</p>
<h5>2. Fun doesn&#8217;t come from game logic / mechanics alone</h5>
<p>The first thing that really felt &#8216;fun&#8217; about Gunpoint was that endlessly punching guards thing, which isn&#8217;t mechanically interesting at all. There was no advantage to doing it, I just didn&#8217;t see a reason to prevent you. I found a sound effect of a belt being whipped, and drew an incredibly crude 2 frame animation, and something about the suddenness of that with the weirdly slap-like noise was funny, and being able to do it as rapidly as you could click was satisfying, and it worked. But the punching is not a good idea, it has no interesting implications or consequences, I just got lucky with the sound effect and some placeholder animation. So don&#8217;t expect an idea to feel fun right away if it doesn&#8217;t have those trappings yet.</p>
<h5>3. Figure out some smaller, specific, achievable goals</h5>
<p>&#8216;Fun&#8217; is a big nebulous thing with many components, and it&#8217;s hard to approach without breaking it down. You&#8217;ll have to figure out for yourself what specific types of things you find fun, but as an example my checklist is something like this:</p>
<p><strong>Single, inherently satisfying actions:</strong> eg. throwing yourself through a plate glass window, or punching a guard in the face. These don&#8217;t have to be smart or interesting, and they usually only get fun once they have sound and maybe some basic animation or tweaking of their presentation. It&#8217;s quite easy to stumble on these through random experimentation.</p>
<p><strong>Some kind of special player ability:</strong> pretty much every game idea I get excited about starts with the words &#8220;You can&#8230;&#8221; For me it usually ends up being something you can&#8217;t do in real life, but it doesn&#8217;t have to be too far fetched: I love Hitman, and that game&#8217;s most outlandish ability is &#8220;You can dress up as other people&#8221;.</p>
<p><strong>Problems with many solutions:</strong> whatever it is you can do, I want a) some problem that can be solved with it, b) more than one way to do so, and c) interesting differences between the solutions. C is the tricky part.</p>
<p>If you can figure out what your components of fun are, just pick one and see if you can achieve it. Don&#8217;t worry if the other stuff doesn&#8217;t arrive fully formed around it, each part might need its own journey through experimentation, testing, revision.</p>
<p>Hope that helps!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2016-06-22-what-to-do-if-your-prototype-isnt-fun/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Testing, Wishlists, And A New Video</title>
		<link>https://www.pentadact.com/2016-04-25-testing-wishlists-and-a-new-video/</link>
					<comments>https://www.pentadact.com/2016-04-25-testing-wishlists-and-a-new-video/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Mon, 25 Apr 2016 09:12:21 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8645</guid>

					<description><![CDATA[As promised on Twitter, I recently sent everyone on our mailing list instructions on how to get in on a new alpha test of Heat Signature. Keys went out to the first 2,000 people to do so, but I&#8217;ll also be keeping the testing list active and inviting people to future alphas from there, so [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>As <a href="https://twitter.com/Pentadact/status/722118002548871168">promised</a> on Twitter, I recently sent everyone on our mailing list instructions on how to get in on a new alpha test of Heat Signature. Keys went out to the first 2,000 people to do so, but I&#8217;ll also be keeping <a href="http://eepurl.com/bYNb_D">the testing list</a> active and inviting people to future alphas from there, so you can still get on it now if you haven&#8217;t already. <strong>Clarification:</strong> this says you can still get <em>on</em> the list, not you can still get <em>in on</em> this alpha test. That test is over and there&#8217;s no date for the next one.</p>
<p><strong>If you&#8217;re in the alpha: </strong><span id="more-8645"></span></p>
<ul>
<li>Yes, it&#8217;s fine to stream, screenshot, write about, and publish videos of, monetised or otherwise!</li>
<li>As requested in the invite mail, please don&#8217;t send me bug reports on Twitter or DM or e-mail, I&#8217;m getting bombarded with these from all sides and I can&#8217;t sort through them this way. Using the form means I have it all in one place.</li>
</ul>
<p><strong>If you&#8217;re press or anyone with an audience:</strong><br />
I&#8217;d like to fix the first batch of crashes and bugs before I really recommend you play it. Once I&#8217;ve done that, I&#8217;ll get in touch. If I haven&#8217;t already told you I&#8217;ll send you a key, DM <a href="https://twitter.com/HeatSig">@HeatSig</a> (DMs are open) to let me know you&#8217;re interested.</p>
<p><strong>If you&#8217;re just a regular joe, real salt-of-the-earth type, good people, never hurt nobody, keeps emselves to emselves:</strong><br />
Did you see we have <a href="http://store.steampowered.com/app/268130">a store page</a> now? And a new short video? And that you can <a href="http://store.steampowered.com/app/268130">Wishlist the game</a>, so you&#8217;ll be told when it&#8217;s out? See those things!</p>
<div class="VideoWrapper"><iframe loading="lazy" src="https://www.youtube.com/embed/5FO2gu7B0r0" width="1280" height="720" frameborder="0" allowfullscreen="allowfullscreen"></iframe></div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2016-04-25-testing-wishlists-and-a-new-video/feed/</wfw:commentRss>
			<slash:comments>28</slash:comments>
		
		
			</item>
		<item>
		<title>Heat Signature Will Be At Rezzed 2016 Next Week</title>
		<link>https://www.pentadact.com/2016-03-30-heat-signature-will-be-at-rezzed-2016-next-week/</link>
					<comments>https://www.pentadact.com/2016-03-30-heat-signature-will-be-at-rezzed-2016-next-week/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Wed, 30 Mar 2016 17:46:40 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8632</guid>

					<description><![CDATA[Hello! I&#8217;ll be at Rezzed in London next week, 7-9 April 2016, and you can come and play Heat Signature while I watch, panic, and frantically patch it on a different PC. Saturday&#8217;s sold out, but Thurs and Fri tickets are still available. Our artist John Roberts made this fantastic piece for our booth:]]></description>
										<content:encoded><![CDATA[<p>Hello! I&#8217;ll be at <a href="https://www.egx.net/rezzed">Rezzed in London next week</a>, 7-9 April 2016, and you can come and play Heat Signature while I watch, panic, and frantically patch it on a different PC. Saturday&#8217;s sold out, but <a href="https://www.egx.net/rezzed/tickets">Thurs and Fri tickets</a> are still available. Our artist John Roberts made this fantastic piece for our booth:<span id="more-8632"></span></p>
<p><a href="https://www.pentadact.com/wp-content/Rezzed2016_Final.jpg" rel="attachment wp-att-8634"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-8634" src="https://www.pentadact.com/wp-content/Rezzed2016_Final.jpg" alt="Rezzed2016_Final" width="2835" height="4904" srcset="https://www.pentadact.com/wp-content/Rezzed2016_Final.jpg 2835w, https://www.pentadact.com/wp-content/Rezzed2016_Final-178x308.jpg 178w, https://www.pentadact.com/wp-content/Rezzed2016_Final-500x865.jpg 500w, https://www.pentadact.com/wp-content/Rezzed2016_Final-768x1328.jpg 768w, https://www.pentadact.com/wp-content/Rezzed2016_Final-592x1024.jpg 592w" sizes="auto, (max-width: 2835px) 100vw, 2835px" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2016-03-30-heat-signature-will-be-at-rezzed-2016-next-week/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Heat Signature: Infinitely Scaling Vapour Layers</title>
		<link>https://www.pentadact.com/2015-12-22-heat-signature-infinitely-scaling-vapour-layers/</link>
					<comments>https://www.pentadact.com/2015-12-22-heat-signature-infinitely-scaling-vapour-layers/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Tue, 22 Dec 2015 20:23:46 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8412</guid>

					<description><![CDATA[Excerpt from an e-mail I just sent to artist John: A brief history of zooming and backgrounds: We worry about how to make the game look good at all the zooms between &#8216;local&#8217; and &#8216;galaxy map&#8217;. You ask if anything actually happens at those zooms. It doesn&#8217;t! I rejig the zoom system to skip them. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Excerpt from an e-mail I just sent to artist John:<span id="more-8412"></span></p>
<p>A brief history of zooming and backgrounds:</p>
<ol>
<li>We worry about how to make the game look good at all the zooms between &#8216;local&#8217; and &#8216;galaxy map&#8217;.</li>
<li>You ask if anything actually happens at those zooms. It doesn&#8217;t! I rejig the zoom system to skip them.</li>
<li>I find very close zooms are disorienting because there&#8217;s no background for a sense of speed.</li>
<li>You make tiling vapour layers and stars/dust.</li>
<li>I tell them to display at certain zoom levels, and fade in between. It looks good but is awkward code-wise, everything&#8217;s hard-coded to a certain zoom level and I have to create a new special case instance for each zoom level.</li>
<li>For unrelated reasons, I start to let the camera auto-zoom to keep two things on screen: eg. the player and their ship, if they&#8217;ve ejected.</li>
<li>The slow zoom-out gives an awesome sense of scale, except now the star layer tiles very obviously and soon the vapour layers stop showing and it&#8217;s all a big blur, which is kinda pretty but you lose the feel of &#8216;zooming&#8217;.</li>
<li>I think: &#8220;What we really need is for the layer itself to spot when it&#8217;s being asked to tile an unacceptable number of times, like 4, and if so create a new layer of double scale that we can fade up, and then when the old one is fully invisible, it destroys itself, and trusts the new one to spawn bigger or smaller layers as required and fade between them smoothly and destroy itself when it&#8217;s no longer needed. And vice versa for zooming in.&#8221;</li>
<li>Aeons pass.</li>
<li>I do it!</li>
</ol>
<div class="VideoWrapper"><iframe loading="lazy" width="1280" height="720" src="https://www.youtube-nocookie.com/embed/RDoTFJbJlLI?rel=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe></div>
<p>Update: better video!</p>
<ul>
<li>You can&#8217;t fly this fast, I&#8217;m using fast-forward.</li>
<li>I fade the layers out entirely once the shapes of the galactic blobs are visible, so it doesn&#8217;t texture parts where there&#8217;s no vapour.</li>
<li>The slight pulsing of vapour opacity on zoom is not intentional, though not sure if it&#8217;s worth fixing. It&#8217;s probably to do with the fact that two 0.5 opacity layers do not equal one 1.0 opacity layer.</li>
</ul>
<p>It works! I love it. Feels like a real victory of code and art: we had this big scary problem, a gap in what we could do to a good standard, and we dodged around it for a while, and then your perfectly tiling dust layer and my new autozoom system came together in a way that suggested a smarter approach, and it just solves it completely. We fade through hundreds of orders of magnitude of scale, and the background layers just transition seamlessly as you go. And the sense of scale is so much better &#8211; it&#8217;s actually got easier to catch yourself in your pod now, because you can tell between &#8216;it got further away&#8217; and &#8216;the camera zoomed in a bit&#8217; &#8211; previously both looked the same.</p>
<p>This new system will mean I can tweak the zoom controls to not skip that big gulf between local and map, and use autozoom more liberally, for things like being chased or approaching an objective or an autopilot destination. Turns out once those zoom levels look good, there are a few gameplay uses for them!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-12-22-heat-signature-infinitely-scaling-vapour-layers/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Help Me Structure Some Code Better In Heat Signature</title>
		<link>https://www.pentadact.com/2015-12-05-help-me-structure-some-code-better-in-heat-signature/</link>
					<comments>https://www.pentadact.com/2015-12-05-help-me-structure-some-code-better-in-heat-signature/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Sat, 05 Dec 2015 11:00:29 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8374</guid>

					<description><![CDATA[Update: Solved! See bottom of post for details. Hello, more experienced programmers than me! I could use your advice. There&#8217;s a code-pattern I&#8217;ve been using for a while and I&#8217;ve just discovered a problem with it, but I can&#8217;t see a great alternative either. I will explain by example: What I&#8217;m doing Right now I&#8217;m [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Update:</strong> Solved! See bottom of post for details.</p>
<p>Hello, more experienced programmers than me! I could use your advice. There&#8217;s a code-pattern I&#8217;ve been using for a while and I&#8217;ve just discovered a problem with it, but I can&#8217;t see a great alternative either. I will explain by example:<span id="more-8374"></span></p>
<h5>What I&#8217;m doing</h5>
<p>Right now I&#8217;m trying to add a little auto-aim when you&#8217;re pointing a gun at people. If you&#8217;re holding a gun and the cursor is near an enemy, I want a little reticule to appear on the enemy, the player to point their gun at them, and if you fire, obviously, fire in that direction.</p>
<h5>How I&#8217;m doing it</h5>
<p>The reticule needs to be an object &#8211; that&#8217;s the only way to specify a particular depth (z-layer) for it to be drawn at). I called it <strong>oReticule</strong>.</p>
<p>The code that looks for enemies to aim at is in the <strong>PlayerItemControls()</strong> script &#8211; that handles anything specific to what you&#8217;re holding in your hands, and this is a feature of guns and possibly some other item types, but not others. I tell it: if there&#8217;s an enemy near the cursor, place oReticule on it and make oReticule.visible = true.</p>
<p>The code that decides which way the player should face is called <strong>PlayerMovementControls()</strong>. Normally, in this &#8216;moving around freely&#8217; state, the player always faces the mouse cursor. For auto-aim, I&#8217;ve added an exception to say: if oReticule.visible = true, look at that instead of exactly at the mouse. The difference is slight but important: guns fire in the direction they&#8217;re facing, so you really do need to look exactly at the reticule.</p>
<p>Lastly, when oReticule has drawn itself, it sets oReticule.visible = false so that it won&#8217;t be drawn again unless the auto-aim code tells it to. I don&#8217;t want to have to add lines to all other player states telling the reticule to be off, I want it to be always off unless this one specific bit of code activates it.</p>
<h5>What the problem is</h5>
<p>Currently, the player movement code executes earlier in the step than the player item controls. So:</p>
<ol>
<li>PlayerMovementControls() checks oReticule.visible, finds that it&#8217;s false, and continues pointing straight at the cursor.</li>
<li>THEN PlayerItemControls() finds an enemy to point at, and puts the reticule there and sets oReticule.visible = true.</li>
<li>oReticule finds that visible = true, draws itself, and then sets oReticule.visible = false.</li>
<li>PlayerMovementControls() checks oReticule.visible, finds that it&#8217;s false &#8211; etc.</li>
</ol>
<p>So the player doesn&#8217;t look at the reticule, and never will &#8211; it&#8217;s checking before the item controls has a chance to turn it on, and after the reticule has turned itself off.</p>
<p>Obviously I can fix this by just moving ItemControls to execute before the MovementControls, but those are separate behaviours, and <strong>I don&#8217;t want them to be order-dependent</strong>. It&#8217;s perfectly possible that I might later have the same problem the other way around, and it&#8217;s almost certain I will forget that they have this hidden order-dependency.</p>
<p>I also often want a similar relationship where those two scripts would be on different objects entirely, and in that case the order in which their step events execute is unknown. (It <em>can</em> be known, but it depends on something about how you organise your objects in GM that I change regularly, so I can&#8217;t depend on it).</p>
<h5>What I&#8217;ve tried</h5>
<p>What I&#8217;ve done for now is to take the &#8216;visible = false&#8217; bit out of the oReticule&#8217;s draw event and put it at the start of ItemControls. Now the player does look at the reticule as desired, but there are still two problems:</p>
<ol>
<li>If we leave this state at a time when the reticule is on, this code won&#8217;t execute again, so the reticule will never get turned off. I do have an OnExitState bit I could add a line to, but this feels messy. It&#8217;s also possible for the player to get destroyed unexpectedly, and since the reticule is a separate object it would continue to exist and be visible.</li>
<li>It&#8217;s perfectly possible that I might want something else to also turn on the reticule.</li>
</ol>
<h5>So what I want is</h5>
<ul>
<li>Several bits of code that can each turn the reticule on</li>
<li>Several other bits of code that need to know whether the reticule is currently on</li>
<li>If none of the bits of code that turn the reticule on execute, the reticule should be off</li>
<li>None of these bits of code know what order they will execute in, on a given step</li>
<li>It&#8217;s fine if the listening bits of code respond on the next step instead of this one</li>
</ul>
<h5>Context</h5>
<p>This in Game Maker Studio 1.4, which uses its own language GML. It doesn&#8217;t have delegates or coroutines or structs, that I know of. All functions are public and can be called from anywhere.</p>
<p>Any thoughts?</p>
<h5>Update: Solved!</h5>
<p>Thanks everyone! Lots of very different ideas, many of them involving big concepts I didn&#8217;t know about. As usual, finding out all the different ways other people tackle this problem clarifies where the issue is, and I found I could boil it down into something pretty simple and lo-fi: I just need two variables instead of one.</p>
<p>The two types of code I identified above are ones that can set the variable and ones that listen for it. If these two operate on the same variable, order will always be a problem. So instead we&#8217;ll call the ones that can set it Signallers, and the ones that listen for it Listeners. And we replace the single variable with:</p>
<p>OnSignal: anyone can set this, but it is never read by anything other than the object.<br />
OnState: only the object can set this, and anything can read it.</p>
<p>So Signallers all set OnSignal, and Listeners all listen for OnState. Then in the object&#8217;s code, we say:</p>
<p>OnState = OnSignal<br />
OnSignal = false</p>
<p>Anything that listens for OnState &#8211; including this object&#8217;s draw code &#8211; will trigger once for every step when OnSignal was triggered by anything (it may be the next step). And will stop triggering if nothing set it since last step.</p>
<p>Tested it: it works, is only 2 lines, and most importantly, doesn&#8217;t involve adding code where there wasn&#8217;t already code for this.</p>
<p>Thanks again for the ideas!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-12-05-help-me-structure-some-code-better-in-heat-signature/feed/</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
			</item>
		<item>
		<title>Generating Locks And Keys In Heat Signature&#8217;s Ships</title>
		<link>https://www.pentadact.com/2015-11-28-generating-locks-and-keys-in-heat-signatures-ships/</link>
					<comments>https://www.pentadact.com/2015-11-28-generating-locks-and-keys-in-heat-signatures-ships/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Sat, 28 Nov 2015 00:33:47 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<category><![CDATA[Procedural Generation]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8354</guid>

					<description><![CDATA[My summary of where we are after the last ship-generation post would be: The Drunk Snake is probably the best algorithm so far, for generating the amount of branching and length of critical path we want while looking fairly pleasing. But! There&#8217;s a lot of room for improvement. But! Improvement is getting harder: we don&#8217;t [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>My summary of where we are after <a href="https://www.pentadact.com/2015-11-26-laying-out-heat-signatures-ships-snakey-vs-branchy/">the last ship-generation post</a> would be:</p>
<ul>
<li>The Drunk Snake is probably the best algorithm so far, for generating the amount of branching and length of critical path we want while looking fairly pleasing.</li>
<li>But! There&#8217;s a lot of room for improvement.</li>
<li>But! Improvement is getting harder: we don&#8217;t have a huge amount of control with these types of algorithms, so we can&#8217;t fine-tune things precisely without a big rewrite.</li>
<li>And! We don&#8217;t know enough about our requirements to get really fussy yet &#8211; maybe some things that seem bad now will be good when we have certain security devices or guard patrols in.</li>
</ul>
<p><span id="more-8354"></span></p>
<p>In other words, it&#8217;s not worth getting tunnel vision and tinkering with layout algorithms until we start fleshing out the systems and elements they&#8217;re meant to support.</p>
<p>The most basic one of these is locked doors and keys. The keys and even the doors are partly placeholders: some will literally be keycards and locked doors, but instead of some keycards we might put a terminal that can override things of that security level, and instead of some doors we might put a security camera that needs to be turned off.</p>
<p>I&#8217;ve had some version of that system in there since the first post, but it was literally dumping they keys in front of the doors. I wanted them placed in dead ends off the beaten track, so I can put security measures on them.</p>
<p>This turns out to be harder than it sounds. I want an early sector to branch off in three directions &#8211; two are dead ends with keycards behind various obstacles, and the third is the locked door either could open. I don&#8217;t want <em>exactly</em> that every time, obviously, but that kind of thing.</p>
<p>But because we generate as we go, at the time we place the next sector along, we don&#8217;t know whether there&#8217;ll be other branches coming from the last one, or if this is the only path. It could be like this sector, whose phallic shape allows for two keycards to be placed in easy reach:</p>
<p><a href="https://www.pentadact.com/wp-content/Two-keys-and-a-door.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Two-keys-and-a-door.png" alt="Two keys and a door" width="395" height="255" class="aligncenter size-full wp-image-8356" srcset="https://www.pentadact.com/wp-content/Two-keys-and-a-door.png 395w, https://www.pentadact.com/wp-content/Two-keys-and-a-door-178x115.png 178w" sizes="auto, (max-width: 395px) 100vw, 395px" /></a></p>
<p>Or this one, which did not branch at all before the door that leads to the rest of the ship.</p>
<p><a href="https://www.pentadact.com/wp-content/No-keys-no-branches.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/No-keys-no-branches.png" alt="No keys, no branches" width="531" height="428" class="aligncenter size-full wp-image-8355" srcset="https://www.pentadact.com/wp-content/No-keys-no-branches.png 531w, https://www.pentadact.com/wp-content/No-keys-no-branches-178x143.png 178w, https://www.pentadact.com/wp-content/No-keys-no-branches-500x403.png 500w" sizes="auto, (max-width: 531px) 100vw, 531px" /></a></p>
<p>The Drunk Snake places all the sectors that form the longest path first, and only afterwards does it look for room to make branching paths. The Branching Algorithm is not much better: it&#8217;ll let the first sector branch first, but after that it&#8217;s effectively random.</p>
<p>Long story short, it gets very tricky if you want to place keys and locks at the same time you place the sectors. It was pretty clear that &#8216;Security&#8217; needed to be added in a second pass, after the basic geometry of the ship has been generated.</p>
<p>In case I haven&#8217;t made it clear yet, keys and doors work on Security Levels: a Security 3 Key can open Security 3 doors as well as Security 2 and 1. And they&#8217;re reusable. If you had one Security 9 key, you could open every door on the ship with it.</p>
<p>I&#8217;ll spare you my false start at this and skip to the algorithm that worked. What we&#8217;re doing kind of involves pathfinding &#8211; to ensure there&#8217;s a route to Key 2 that doesn&#8217;t go through any Lock 2 doors. But it would be complicated to integrate it with Game Maker&#8217;s pathfinding systems or to write my own, so I basically do it by making lots of lists.</p>
<p>We place the first sector as normal. But when we join a second sector onto it, we tell that sector to remember that &#8216;Sector 1&#8217; is one of the ones you have to go through to get here. When we join something onto Sector 2, it copies Sector 2&#8217;s list of sectors-you-have-to-go-through, and adds Sector 2 to it. So every sector has a list of every other sector you need to go through to get to it.</p>
<p>Once the whole ship is generated, we go through the sectors and make a list of all the ones that are dead ends.</p>
<p>Then, until we run out of dead ends, we:</p>
<ul>
<li>Find the nearest two dead ends &#8211; the ones with the fewest &#8216;sectors you have to go through&#8217;.</li>
<li>Remove them from the list.</li>
<li>Put a keycard of security level S in each.</li>
<li>Tell every sector that leads to either of those dead ends: your security level is fixed now.</li>
<li>For all sectors whose security level is not fixed yet, upgrade them to security level S.</li>
<li>Increase S.</li>
<li>Do it all again.</li>
</ul>
<p>Lastly, we go through every door in the ship and tell it: your security level is equal to the highest of the two sectors you&#8217;re between. So if you join a Sec 1 to a Sec 2, you are a Sec 2 door.</p>
<p>This works! Look!</p>
<div class="VideoWrapper"><iframe loading="lazy" width="1280" height="720" src="https://www.youtube-nocookie.com/embed/sPcn8LWKT5o?rel=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe></div>
<p>Next I should either try adding hazards &#8211; like security cameras or specially placed guards &#8211; or I should put all the functional modules back in and check it still works: thrusters, cockpit, etc.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-11-28-generating-locks-and-keys-in-heat-signatures-ships/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title>Laying Out Heat Signature&#8217;s Ships: Snakey Vs Branchy</title>
		<link>https://www.pentadact.com/2015-11-26-laying-out-heat-signatures-ships-snakey-vs-branchy/</link>
					<comments>https://www.pentadact.com/2015-11-26-laying-out-heat-signatures-ships-snakey-vs-branchy/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Thu, 26 Nov 2015 00:29:47 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<category><![CDATA[Procedural Generation]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8323</guid>

					<description><![CDATA[Last time I covered how I taught Heat Signature to build ships out of sectors, join those sectors together, lock some of those doors, then place keycards in the right places to ensure they&#8217;re all openable. I&#8217;d got the algorithm generating layouts like this, which is great: But as I said at the end of [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Last time I covered <a href="https://www.pentadact.com/2015-11-14-teaching-heat-signatures-ship-generator-to-think-in-sectors/">how I taught Heat Signature to build ships out of sectors</a>, join those sectors together, lock some of those doors, then place keycards in the right places to ensure they&#8217;re all openable. I&#8217;d got the algorithm generating layouts like this, which is great:<span id="more-8323"></span></p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-11-13-18-50-07-72-with-security-doors-snakey.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-11-13-18-50-07-72-with-security-doors-snakey.png" alt="Runner 2015-11-13 18-50-07-72 with security doors, snakey" width="1133" height="654" class="aligncenter size-full wp-image-8312" srcset="https://www.pentadact.com/wp-content/Runner-2015-11-13-18-50-07-72-with-security-doors-snakey.png 1133w, https://www.pentadact.com/wp-content/Runner-2015-11-13-18-50-07-72-with-security-doors-snakey-178x103.png 178w, https://www.pentadact.com/wp-content/Runner-2015-11-13-18-50-07-72-with-security-doors-snakey-500x289.png 500w, https://www.pentadact.com/wp-content/Runner-2015-11-13-18-50-07-72-with-security-doors-snakey-1024x591.png 1024w" sizes="auto, (max-width: 1133px) 100vw, 1133px" /></a></p>
<p>But as I said at the end of the post, there might be a problem with this layout. Here&#8217;s the route you&#8217;d have to take to get from the airlock to the front of the ship:</p>
<p><a href="https://www.pentadact.com/wp-content/Snakey-Route.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Snakey-Route.png" alt="Snakey Route" width="840" height="704" class="aligncenter size-full wp-image-8324" srcset="https://www.pentadact.com/wp-content/Snakey-Route.png 840w, https://www.pentadact.com/wp-content/Snakey-Route-178x149.png 178w, https://www.pentadact.com/wp-content/Snakey-Route-500x419.png 500w" sizes="auto, (max-width: 840px) 100vw, 840px" /></a></p>
<h5>The Snaking Algorithm</h5>
<p>That long, snakey, back-and-forth route is common to a lot of ships this code generates, and it comes from the order in which it places the sectors. It starts with one at the airlock, then tries to surround it with new sectors. But! I also wanted each of those sectors to be surrounded too, so as soon as it creates the first one, it tries to surround that. And as soon as it places the first surrounding sector, it tries to surround that one too.</p>
<p>If you keep trying to surround the last sector you placed, what you&#8217;re really doing is placing sectors one after the other in a line. And since we connect each sector we place to the last one we put down, we end up making one long route that weaves back and forth across the ship.</p>
<p>There are a few possible problems with this:</p>
<ul>
<li>It&#8217;s obviously inefficient for the crew of the ship, though that&#8217;s not necessarily a major problem.</li>
<li>A bigger concern is that the player might feel they&#8217;re being messed around, that the layout is contrived to take up their time.</li>
<li>And the biggest one is that this long, linear path doesn&#8217;t lead to much branching &#8211; a few little twiglets sprout off here and there, but usually only one at a time. That doesn&#8217;t give me a lot of places to put keycards: ideally, before every locked door, I want to place two different key-type things that let the player open it, and put different types of hazards or obstacles in front of them. That way, the player has a choice of challenges.</li>
</ul>
<p>I call this the <strong>Snaking Algorithm</strong>, because it tends to create one long and winding snakey path. Since my biggest concern was the lack of branching, I tried to come up with a new one that would focus on that.</p>
<h5>The Branching Algorithm</h5>
<p>The snaking, as I say, comes from trying to surround each sector as soon as it&#8217;s created. So I took that part out, and just let the algorithm finish surrounding that first sector.</p>
<p>That gives you lots of branching, but obviously doesn&#8217;t fill the whole ship. At some point, it&#8217;s got to decide which of the remaining sectors to try to surround next. So I defaulted to what I always default to: random.</p>
<p>It goes through all sectors that haven&#8217;t been surrounded yet, picks one at random, and surrounds it. Since we make doorways between sectors at the time we join them on, this gives the early sectors it picks lots of branches. But then as the ship fills up, it has less and less room to place new sectors around the one it&#8217;s picked, and so those later sectors have fewer branches. But where those are on the ship is pretty random.</p>
<p>Once every sector has had its turn being surrounded, we&#8217;re done.</p>
<p><a href="https://www.pentadact.com/wp-content/Branching-Ship-Sectors-3.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Branching-Ship-Sectors-3.png" alt="Branching Ship Sectors 3" width="1253" height="742" class="aligncenter size-full wp-image-8327" srcset="https://www.pentadact.com/wp-content/Branching-Ship-Sectors-3.png 1253w, https://www.pentadact.com/wp-content/Branching-Ship-Sectors-3-178x105.png 178w, https://www.pentadact.com/wp-content/Branching-Ship-Sectors-3-500x296.png 500w, https://www.pentadact.com/wp-content/Branching-Ship-Sectors-3-1024x606.png 1024w" sizes="auto, (max-width: 1253px) 100vw, 1253px" /></a></p>
<p>Nice!</p>
<p><a href="https://www.pentadact.com/wp-content/Branching-Ship-Sectors-2.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Branching-Ship-Sectors-2.png" alt="Branching Ship Sectors 2" width="848" height="574" class="aligncenter size-full wp-image-8328" srcset="https://www.pentadact.com/wp-content/Branching-Ship-Sectors-2.png 848w, https://www.pentadact.com/wp-content/Branching-Ship-Sectors-2-178x120.png 178w, https://www.pentadact.com/wp-content/Branching-Ship-Sectors-2-500x338.png 500w" sizes="auto, (max-width: 848px) 100vw, 848px" /></a></p>
<p>Cool!</p>
<p><a href="https://www.pentadact.com/wp-content/Branching-Ship-Sectors-1.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Branching-Ship-Sectors-1.png" alt="Branching Ship Sectors 1" width="574" height="624" class="aligncenter size-full wp-image-8329" srcset="https://www.pentadact.com/wp-content/Branching-Ship-Sectors-1.png 574w, https://www.pentadact.com/wp-content/Branching-Ship-Sectors-1-178x194.png 178w, https://www.pentadact.com/wp-content/Branching-Ship-Sectors-1-500x544.png 500w" sizes="auto, (max-width: 574px) 100vw, 574px" /></a></p>
<p>Well! You can see pretty clearly here that the sector the player&#8217;s ship is docked with, in the bottom right, was surrounded by other sectors &#8211; and joined to all of them &#8211; before anything else.</p>
<p><a href="https://www.pentadact.com/wp-content/Branching-Ship-Sectors-4.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Branching-Ship-Sectors-4.png" alt="Branching Ship Sectors 4" width="858" height="465" class="aligncenter size-full wp-image-8326" srcset="https://www.pentadact.com/wp-content/Branching-Ship-Sectors-4.png 858w, https://www.pentadact.com/wp-content/Branching-Ship-Sectors-4-178x96.png 178w, https://www.pentadact.com/wp-content/Branching-Ship-Sectors-4-500x271.png 500w" sizes="auto, (max-width: 858px) 100vw, 858px" /></a></p>
<p>And now I&#8217;m starting to see the problem.</p>
<h5>The Problem</h5>
<p>On anything but a tiny ship, branching a lot early on ends up leading to multiple long paths.</p>
<p><a href="https://www.pentadact.com/wp-content/Branching-Routes.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Branching-Routes.png" alt="Branching Routes" width="858" height="465" class="aligncenter size-full wp-image-8331" srcset="https://www.pentadact.com/wp-content/Branching-Routes.png 858w, https://www.pentadact.com/wp-content/Branching-Routes-178x96.png 178w, https://www.pentadact.com/wp-content/Branching-Routes-500x271.png 500w" sizes="auto, (max-width: 858px) 100vw, 858px" /></a></p>
<p>This clashes a bit with our policy of &#8220;place multiple keys protected by varied hazards before placing a locked door&#8221;. What kind of keys and doors do we place along these multiple parallel paths? Either:</p>
<p><strong>1.</strong> We have multiple parallel tracks of level 1 key > level 1 door > level 2 key > etc.<br />
<strong>2.</strong> Or we have only one track like that, and all the others start with higher sec doors &#8211; level 6 or so &#8211; ones you don&#8217;t get the key for until you reach the end of the first path.</p>
<p>Neither option appeals much. The first feels redundant, messy, and an inefficient use of space &#8211; we&#8217;d need very big ships to ensure one path is long enough to be interesting, and big ships are daunting and expensive performance-wise. The second involves a lot of backtracking, and makes the critical path &#8211; Where You Have To Go &#8211; almost impossible to read without meticulous examination. I tried to design a set of keys and doors for a big Branching ship by hand, and it was laborious even to draw:</p>
<p><a href="https://www.pentadact.com/wp-content/Heat-Signature-door-sec-level-mockup-colour-coded.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Heat-Signature-door-sec-level-mockup-colour-coded.png" alt="Heat Signature door sec level mockup colour coded" width="787" height="668" class="aligncenter size-full wp-image-8332" srcset="https://www.pentadact.com/wp-content/Heat-Signature-door-sec-level-mockup-colour-coded.png 787w, https://www.pentadact.com/wp-content/Heat-Signature-door-sec-level-mockup-colour-coded-178x151.png 178w, https://www.pentadact.com/wp-content/Heat-Signature-door-sec-level-mockup-colour-coded-500x424.png 500w" sizes="auto, (max-width: 787px) 100vw, 787px" /></a></p>
<p>The more ways the Branching Algorithm clashed with my plans for keys and locks, the more I thought &#8220;Boy, that Snaking Algorithm really wasn&#8217;t far off.&#8221;</p>
<h5>Tweaking The Snake</h5>
<p>So the Snake&#8217;s problems were a) an almost dickish determination to take you on the longest possible route to your objective, and b) not enough branching to place multiple keys before a locked door. But maybe these are fixable. Like everything at this early stage, I wrote every step of this code in whatever way was easy, simple and short, so there are loads of biases and cheats in it.</p>
<p>I looked for the easiest one to mess with, and it&#8217;s this: when surrounding a sector, it always tries placing them above and below, then switches to looking down both sides. To be more &#8216;true random&#8217;, it should find all the adjacent modules and then pick a random one to start a sector from. But even that seemed too much like hard work to me, so first I wanted to test if this ordering stuff even made much of a difference. There is one <em>super</em> easy way to do that: switch those two bits of code round. Try placing sectors along the sides, <em>then</em> try above and below. I give you <strong>The Sidewinder</strong>:</p>
<p><a href="https://www.pentadact.com/wp-content/Sidewinder-layout.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Sidewinder-layout.png" alt="Sidewinder layout" width="1072" height="545" class="aligncenter size-full wp-image-8335" srcset="https://www.pentadact.com/wp-content/Sidewinder-layout.png 1072w, https://www.pentadact.com/wp-content/Sidewinder-layout-178x90.png 178w, https://www.pentadact.com/wp-content/Sidewinder-layout-500x254.png 500w, https://www.pentadact.com/wp-content/Sidewinder-layout-1024x521.png 1024w" sizes="auto, (max-width: 1072px) 100vw, 1072px" /></a></p>
<p>It&#8217;s snakey, but it&#8217;s trying to snake lengthwise.</p>
<p><a href="https://www.pentadact.com/wp-content/Sidewinder-path.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Sidewinder-path.png" alt="Sidewinder path" width="1072" height="545" class="aligncenter size-full wp-image-8336" srcset="https://www.pentadact.com/wp-content/Sidewinder-path.png 1072w, https://www.pentadact.com/wp-content/Sidewinder-path-178x90.png 178w, https://www.pentadact.com/wp-content/Sidewinder-path-500x254.png 500w, https://www.pentadact.com/wp-content/Sidewinder-path-1024x521.png 1024w" sizes="auto, (max-width: 1072px) 100vw, 1072px" /></a></p>
<p>And right away this answers lots of questions. Firstly: yep, this makes a huge difference. This ship is nuts. And secondly: look! Branching! Enough? Too much? Dunno! But it&#8217;s worth taking the next step.</p>
<p>I&#8217;m still too lazy to do true random selection of adjacent modules, so I came up with another super easy trick: instead of always doing vertical first, or always doing horizontal first, it flips a coin. And because this one piece of code is run again for every module, the coin flip will mean some snake horizontally and others vertically. I give you: <strong>The Drunk Snake Algorithm</strong>.</p>
<p><a href="https://www.pentadact.com/wp-content/Small-Drunk-Snake.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Small-Drunk-Snake.png" alt="Small Drunk Snake" width="1440" height="900" class="aligncenter size-full wp-image-8340" srcset="https://www.pentadact.com/wp-content/Small-Drunk-Snake.png 1440w, https://www.pentadact.com/wp-content/Small-Drunk-Snake-178x111.png 178w, https://www.pentadact.com/wp-content/Small-Drunk-Snake-500x313.png 500w, https://www.pentadact.com/wp-content/Small-Drunk-Snake-1024x640.png 1024w" sizes="auto, (max-width: 1440px) 100vw, 1440px" /></a></p>
<p>That&#8217;s lovely, but small ships almost always are with sector systems, I&#8217;m finding.</p>
<p><a href="https://www.pentadact.com/wp-content/Large-Drunk-Snake.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Large-Drunk-Snake.png" alt="Large Drunk Snake" width="1440" height="900" class="aligncenter size-full wp-image-8339" srcset="https://www.pentadact.com/wp-content/Large-Drunk-Snake.png 1440w, https://www.pentadact.com/wp-content/Large-Drunk-Snake-178x111.png 178w, https://www.pentadact.com/wp-content/Large-Drunk-Snake-500x313.png 500w, https://www.pentadact.com/wp-content/Large-Drunk-Snake-1024x640.png 1024w" sizes="auto, (max-width: 1440px) 100vw, 1440px" /></a></p>
<p>This huge one is a bit ugly, but just because it picked a lot of 3&#215;1 rooms all next to each other &#8211; I may bias it against that. But pathwise, it&#8217;s surprisingly good &#8211; the critical path is not dickishly circuitous, and there&#8217;s a good amount of branching along the way. There&#8217;s a huge amount of path <em>after</em> the objective, but I don&#8217;t know yet if that&#8217;s bad. </p>
<p><a href="https://www.pentadact.com/wp-content/Large-Drunk-Snake-Paths.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Large-Drunk-Snake-Paths.png" alt="Large Drunk Snake Paths" width="1440" height="900" class="aligncenter size-full wp-image-8338" srcset="https://www.pentadact.com/wp-content/Large-Drunk-Snake-Paths.png 1440w, https://www.pentadact.com/wp-content/Large-Drunk-Snake-Paths-178x111.png 178w, https://www.pentadact.com/wp-content/Large-Drunk-Snake-Paths-500x313.png 500w, https://www.pentadact.com/wp-content/Large-Drunk-Snake-Paths-1024x640.png 1024w" sizes="auto, (max-width: 1440px) 100vw, 1440px" /></a></p>
<p>My next step involved giving every sector a &#8216;distance&#8217; value: how many sectors do you have to go through to get to this one? So the airlock sector is 0, any attached to it are 1, and so on. They usually go up to about 8, on a medium ship. Then I boarded one and saw the number <em>23</em>. I thought it was a bug at first, but then I traced the route, and no, the Drunk Snake is just a dick sometimes:</p>
<p><a href="https://www.pentadact.com/wp-content/Dickish-Drunk-Snake.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Dickish-Drunk-Snake.png" alt="Dickish Drunk Snake" width="835" height="665" class="aligncenter size-full wp-image-8337" srcset="https://www.pentadact.com/wp-content/Dickish-Drunk-Snake.png 835w, https://www.pentadact.com/wp-content/Dickish-Drunk-Snake-178x142.png 178w, https://www.pentadact.com/wp-content/Dickish-Drunk-Snake-500x398.png 500w" sizes="auto, (max-width: 835px) 100vw, 835px" /></a></p>
<p>I actually love that layout. And it gave me an idea: these distance values could also be used to spot good places for a shortcut. So if this sector is at distance 14, but it&#8217;s right next to one that has distance 3, maybe we just make a door. Maybe it&#8217;s locked. Maybe it has a hazard on it. Dunno! That&#8217;s what I&#8217;m gonna play with next.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-11-26-laying-out-heat-signatures-ships-snakey-vs-branchy/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title>Teaching Heat Signature&#8217;s Ship Generator To Think In Sectors</title>
		<link>https://www.pentadact.com/2015-11-14-teaching-heat-signatures-ship-generator-to-think-in-sectors/</link>
					<comments>https://www.pentadact.com/2015-11-14-teaching-heat-signatures-ship-generator-to-think-in-sectors/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Sat, 14 Nov 2015 21:40:19 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<category><![CDATA[Procedural Generation]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8300</guid>

					<description><![CDATA[I haven&#8217;t talked about the way I randomly generate spaceships in Heat Signature since this post &#8211; before it even had actual art. That&#8217;s partly because I&#8217;ve barely touched it since then. I showed the game to developer friends and the press in LA and SF a few weeks ago, and got lots of great [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I haven&#8217;t talked about the way I randomly generate spaceships in Heat Signature since <a href="https://www.pentadact.com/2014-07-19-improving-heat-signatures-randomly-generated-ships-inside-and-out/">this post</a> &#8211; before it even had actual art. That&#8217;s partly because I&#8217;ve barely touched it since then. I showed the game to developer friends and the press in LA and SF a few weeks ago, and got lots of great input and ideas, but the main thing I came away thinking was: the on-board game needs to be more interesting. And I think better ship interiors are the foundation of that.<span id="more-8300"></span></p>
<p>So that&#8217;s why I was <a href="https://www.pentadact.com/2015-11-08-what-works-and-why-multiple-routes-in-deus-ex/">replaying the Deus Ex games</a> recently. My conclusions from that combined with two other ideas I&#8217;d been having about how to improve ship generation, namely:</p>
<p><strong>1.</strong> Getting from the airlock to your objective should involve a series of Gates and Keys. For each locked Gate you encounter, there&#8217;s a corresponding Key somewhere in the area you can access, and fighting/hacking/sneaking your way to that is how you progress.</p>
<p><strong>2.</strong> Whenever I sketch out what a cool ship interior might look like, I draw it as a series of little bubbles of space, about 3-6 modules each. One might be a long room, another might be a row of rooms, another might just be corridors that connect the rest. I call them Sectors. It feels like these lead to natural/pleasing/readable ship layouts &#8211; can I teach the game to build them this way?</p>
<p><a href="https://www.pentadact.com/wp-content/Ship-made-of-sectors-sketh.jpg"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Ship-made-of-sectors-sketh.jpg" alt="Ship made of sectors - sketh" width="2307" height="2165" class="aligncenter size-full wp-image-8302" srcset="https://www.pentadact.com/wp-content/Ship-made-of-sectors-sketh.jpg 2307w, https://www.pentadact.com/wp-content/Ship-made-of-sectors-sketh-178x167.jpg 178w, https://www.pentadact.com/wp-content/Ship-made-of-sectors-sketh-500x469.jpg 500w, https://www.pentadact.com/wp-content/Ship-made-of-sectors-sketh-1024x961.jpg 1024w" sizes="auto, (max-width: 2307px) 100vw, 2307px" /></a></p>
<p>And the relevant conclusions from my Deus Ex replay are:</p>
<p><strong>3.</strong> The player needs multiple routes to their objective.</p>
<p><strong>4.</strong> Those routes must be blocked by different obstacles, which require different methods to get past.</p>
<p>There&#8217;s some <a href="https://www.pentadact.com/2015-11-08-what-works-and-why-multiple-routes-in-deus-ex/">other stuff</a>, but that&#8217;s what&#8217;s relevant to ship layout.</p>
<p>The first two are more instinct than rigorous logic: I feel like 1 will make the ships feel more like &#8216;levels&#8217;, and I think that&#8217;s more positive than it sounds: right now they feel like random, empty mazes &#8211; to use an even less liked term, they don&#8217;t feel like &#8216;content&#8217;. And they need to &#8211; if each ship isn&#8217;t a fun little challenge, the game has nothing at its core.</p>
<p>And 2 is my best guess at how to combat the corresponding visual &#8216;blah&#8217; factor: they <em>look</em> like random mazes, and I want them to look more designed.</p>
<h5>Teaching the computer to think in Sectors</h5>
<p>Checking all these boxes is a massively complicated challenge both technically and creatively, so I tried to start as simple as possible. Let&#8217;s just have one type of Sector for now: a 3&#215;1 room. Can you build a ship out of these?</p>
<p>The two neat features of my current ship generation algorithm are:</p>
<p><strong>a)</strong> The interior layout always fills the whole ship<br />
<strong>b)</strong> You can always get from every module to every other module</p>
<p>a) would be tricky with only 3&#215;1 sectors, but should be doable with sectors in general &#8211; we just let one of the Sector types be a 1&#215;1 module and then any gaps are fillable.</p>
<p>b) sounds tricky, but actually I&#8217;m already fulfilling it in the sketches I draw, and the way I draw them is the key to teaching the computer to do it. I start by drawing one Sector, then draw another adjacent to it, then new ones adjacent to those, and so on. If I created a doorway from the existing sector to the new one I&#8217;m drawing each time, every sector would have a route back to the start, and therefore every sector has a route to every other.</p>
<p>So after tinkering for a bit, I got the algorithm to do this:</p>
<p><a href="https://www.pentadact.com/wp-content/First-Sector.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/First-Sector.png" alt="First Sector" width="1440" height="900" class="aligncenter size-full wp-image-8304" srcset="https://www.pentadact.com/wp-content/First-Sector.png 1440w, https://www.pentadact.com/wp-content/First-Sector-178x111.png 178w, https://www.pentadact.com/wp-content/First-Sector-500x313.png 500w, https://www.pentadact.com/wp-content/First-Sector-1024x640.png 1024w" sizes="auto, (max-width: 1440px) 100vw, 1440px" /></a></p>
<p>And then this:</p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-11-10-18-36-05-72-first-ship-made-of-sectors.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-11-10-18-36-05-72-first-ship-made-of-sectors.png" alt="Runner 2015-11-10 18-36-05-72 first ship made of sectors" width="1440" height="900" class="aligncenter size-full wp-image-8303" srcset="https://www.pentadact.com/wp-content/Runner-2015-11-10-18-36-05-72-first-ship-made-of-sectors.png 1440w, https://www.pentadact.com/wp-content/Runner-2015-11-10-18-36-05-72-first-ship-made-of-sectors-178x111.png 178w, https://www.pentadact.com/wp-content/Runner-2015-11-10-18-36-05-72-first-ship-made-of-sectors-500x313.png 500w, https://www.pentadact.com/wp-content/Runner-2015-11-10-18-36-05-72-first-ship-made-of-sectors-1024x640.png 1024w" sizes="auto, (max-width: 1440px) 100vw, 1440px" /></a></p>
<p>Great! They&#8217;re not connected yet, and they all tend to point in the same direction, but this is promising. The little 1&#215;1 rooms are spaces where it couldn&#8217;t fit a 3&#215;1 sector, in the order that they were laid. It&#8217;s definitely possible to do a better job of it than that, but that&#8217;s irrelevant &#8211; those little pockets look nice, I want them. If they were all clustered in one corner it&#8217;d look bad, but randomly dotted around like that is great.</p>
<p>So next, remove that direction bias. It&#8217;s happening because the code tries to place the sector lengthwise, and then if it doesn&#8217;t fit, goes through each possible rotation in turn. Since it always tries them in the same order, you end up with a lot of lengthwise ones. I tweaked it to try the rotations in a random order, producing this:</p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-11-11-15-02-41-12-fixred-bias.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-11-11-15-02-41-12-fixred-bias.png" alt="Runner 2015-11-11 15-02-41-12 fixred bias" width="1440" height="798" class="aligncenter size-full wp-image-8308" srcset="https://www.pentadact.com/wp-content/Runner-2015-11-11-15-02-41-12-fixred-bias.png 1440w, https://www.pentadact.com/wp-content/Runner-2015-11-11-15-02-41-12-fixred-bias-178x99.png 178w, https://www.pentadact.com/wp-content/Runner-2015-11-11-15-02-41-12-fixred-bias-500x277.png 500w, https://www.pentadact.com/wp-content/Runner-2015-11-11-15-02-41-12-fixred-bias-1024x567.png 1024w" sizes="auto, (max-width: 1440px) 100vw, 1440px" /></a></p>
<p>Lovely!</p>
<p>Now we need to connect them. As I say, it seems like you could just do this each time you place one: connect it to the old one. It&#8217;s a little trickier than it sounds to find the co-ords of the two modules in question (we need to know which modules to link, not just which sectors), but I got something logical working:</p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-11-11-16-48-59-17-conneced-sectors.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-11-11-16-48-59-17-conneced-sectors.png" alt="Runner 2015-11-11 16-48-59-17 conneced sectors" width="1440" height="900" class="aligncenter size-full wp-image-8309" srcset="https://www.pentadact.com/wp-content/Runner-2015-11-11-16-48-59-17-conneced-sectors.png 1440w, https://www.pentadact.com/wp-content/Runner-2015-11-11-16-48-59-17-conneced-sectors-178x111.png 178w, https://www.pentadact.com/wp-content/Runner-2015-11-11-16-48-59-17-conneced-sectors-500x313.png 500w, https://www.pentadact.com/wp-content/Runner-2015-11-11-16-48-59-17-conneced-sectors-1024x640.png 1024w" sizes="auto, (max-width: 1440px) 100vw, 1440px" /></a></p>
<p>I actually don&#8217;t know <em>why</em> this works so well. My connect-as-you-go concept assumes that every module is part of some sector, but at this stage those 1&#215;1 bits aren&#8217;t part of any sector &#8211; they&#8217;re just leftovers. I don&#8217;t quite have a good enough handle on my own code to tell you how it knows to link those up too, but it does.</p>
<p>So now I need to do some messy replumbing: right now we&#8217;re working with a single fixed sector size, but obviously I want a variety of sectors. After some deliberating, I decided to make each Sector type an object &#8211; a sort of invisible template the ship can refer to when creating itself. The template for each sector could store what its dimensions are, and what kinds of modules it contains.</p>
<p>Making those is easy, but having the algorithm read them in, rotate them to try 8 different orientations, then actually place them is all rather fiddly. For now I&#8217;ve settled on a slightly rigid system, where a Sector can either be a &#8216;Big Room&#8217; or &#8216;Corridors&#8217; or &#8216;Small Rooms&#8217;, but it can&#8217;t specify an arrangement of multiple elements &#8211; like one small room surrounded by corridors, for example. Supporting that would add a lot of complexity, so I decided to leave it until I&#8217;m really sure I need it.</p>
<p>So, with the new Sector templates in &#8211; just 3&#215;1 and 1&#215;1 for now &#8211; how does it look?</p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-11-12-17-05-11-01-not-filled-and-not-connected.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-11-12-17-05-11-01-not-filled-and-not-connected.png" alt="Runner 2015-11-12 17-05-11-01 not filled and not connected" width="1440" height="688" class="aligncenter size-full wp-image-8307" srcset="https://www.pentadact.com/wp-content/Runner-2015-11-12-17-05-11-01-not-filled-and-not-connected.png 1440w, https://www.pentadact.com/wp-content/Runner-2015-11-12-17-05-11-01-not-filled-and-not-connected-178x85.png 178w, https://www.pentadact.com/wp-content/Runner-2015-11-12-17-05-11-01-not-filled-and-not-connected-500x239.png 500w, https://www.pentadact.com/wp-content/Runner-2015-11-12-17-05-11-01-not-filled-and-not-connected-1024x489.png 1024w" sizes="auto, (max-width: 1440px) 100vw, 1440px" /></a></p>
<p>Oh, it&#8217;s broken. Parts of this layout are OK, but it fails both our conditions: doesn&#8217;t fill the ship, and the bits it does fill aren&#8217;t all connected to each other. Doesn&#8217;t make sense as a ship.</p>
<p>This, and a similar glitch, took me about a day to solve. I kept thinking there was some flaw in the way I&#8217;d implemented &#8216;connect as you go&#8217; that could lead to a Sector being created but not connected to the previous one. As it turned out, the reason I couldn&#8217;t find a flaw in this code is that it was exactly right. I just had two very stupid, unrelated mistakes that both caused very similar symptoms, and kept looking like one thing.</p>
<p>a) I&#8217;d created a 3&#215;1 &#8216;Corridor&#8217; sector, but forgot to tell each module of it to link to the next &#8211; it wasn&#8217;t internally connected. The connections to other sectors were fine.</p>
<p>b) I&#8217;d set the dimension values of the 1&#215;1 Sector to 1&#215;3. This is incorrect. Maths tells us that 1 = 1 and not 3, so that 3 should be 1, so that it reads &#8216;1&#215;1&#8217;, because one is not three, in fact it is less. Stop me if I&#8217;m going too fast.</p>
<p>Fixed these, and blam:</p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-11-13-16-04-18-10-big-ship-with-fixed-connections.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-11-13-16-04-18-10-big-ship-with-fixed-connections.png" alt="Runner 2015-11-13 16-04-18-10 big ship with fixed connections" width="1289" height="867" class="aligncenter size-full wp-image-8311" srcset="https://www.pentadact.com/wp-content/Runner-2015-11-13-16-04-18-10-big-ship-with-fixed-connections.png 1289w, https://www.pentadact.com/wp-content/Runner-2015-11-13-16-04-18-10-big-ship-with-fixed-connections-178x120.png 178w, https://www.pentadact.com/wp-content/Runner-2015-11-13-16-04-18-10-big-ship-with-fixed-connections-500x336.png 500w, https://www.pentadact.com/wp-content/Runner-2015-11-13-16-04-18-10-big-ship-with-fixed-connections-1024x689.png 1024w" sizes="auto, (max-width: 1289px) 100vw, 1289px" /></a></p>
<p>Blam is the sound of a ship being generated with a connected and spanning interior graph:</p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-11-13-16-05-26-09-small-ship-with-fixed-connections.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-11-13-16-05-26-09-small-ship-with-fixed-connections.png" alt="Runner 2015-11-13 16-05-26-09 small ship with fixed connections" width="1440" height="900" class="aligncenter size-full wp-image-8313" srcset="https://www.pentadact.com/wp-content/Runner-2015-11-13-16-05-26-09-small-ship-with-fixed-connections.png 1440w, https://www.pentadact.com/wp-content/Runner-2015-11-13-16-05-26-09-small-ship-with-fixed-connections-178x111.png 178w, https://www.pentadact.com/wp-content/Runner-2015-11-13-16-05-26-09-small-ship-with-fixed-connections-500x313.png 500w, https://www.pentadact.com/wp-content/Runner-2015-11-13-16-05-26-09-small-ship-with-fixed-connections-1024x640.png 1024w" sizes="auto, (max-width: 1440px) 100vw, 1440px" /></a></p>
<p>This is looking great to me, especially on smaller ships. So, on to Gates and Keys!</p>
<h5>On, indeed, to Gates and Keys</h5>
<p>Again I wanted to start as simple as possible. Some ships will play host to a particular mission with a specific objective, but for any that don&#8217;t, we should default to treating the ship&#8217;s cockpit as the &#8216;objective&#8217; &#8211; it&#8217;s the thing they&#8217;d most want to protect.</p>
<p>Because we generate as we go, we don&#8217;t actually know how far along your path to the objective we are when we place a Sector. But we can fudge it: if the next sector is physically closer to the objective&#8217;s location, then we increase the security level of the door we&#8217;re placing between them. And to ensure you can open it, we put a keycard of the same level somewhere in the previous sector. Again, for now, I went ultra-basic: it dumps it right in front of the door.</p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-11-13-18-50-07-72-with-security-doors-snakey.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-11-13-18-50-07-72-with-security-doors-snakey.png" alt="Runner 2015-11-13 18-50-07-72 with security doors, snakey" width="1133" height="654" class="aligncenter size-full wp-image-8312" srcset="https://www.pentadact.com/wp-content/Runner-2015-11-13-18-50-07-72-with-security-doors-snakey.png 1133w, https://www.pentadact.com/wp-content/Runner-2015-11-13-18-50-07-72-with-security-doors-snakey-178x103.png 178w, https://www.pentadact.com/wp-content/Runner-2015-11-13-18-50-07-72-with-security-doors-snakey-500x289.png 500w, https://www.pentadact.com/wp-content/Runner-2015-11-13-18-50-07-72-with-security-doors-snakey-1024x591.png 1024w" sizes="auto, (max-width: 1133px) 100vw, 1133px" /></a></p>
<p>This works! You can&#8217;t see them well, but those black square outlines in some modules are where keycards are placed, and some are placed less gracefully in corridors and stuff. The level it generates is always completable, though obviously not challenging yet.</p>
<p>So we need to move those keycards to more secluded locations, so that we can put obstacles between the player and them: enemies, security, etc. But before I put a lot of work into ensuring that can happen, I wanted to look into a possible worry with the kind of layout this is generating. And since this has taken a while to write up already, I&#8217;ll save that for the next post!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-11-14-teaching-heat-signatures-ship-generator-to-think-in-sectors/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>What Works And Why: Multiple Routes In Deus Ex</title>
		<link>https://www.pentadact.com/2015-11-08-what-works-and-why-multiple-routes-in-deus-ex/</link>
					<comments>https://www.pentadact.com/2015-11-08-what-works-and-why-multiple-routes-in-deus-ex/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Sun, 08 Nov 2015 13:17:46 +0000</pubDate>
				<category><![CDATA[Feature]]></category>
		<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Deus Ex: Human Revolution]]></category>
		<category><![CDATA[What Works And Why]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8277</guid>

					<description><![CDATA[Deus Ex&#8217;s appeal is often boiled down to &#8216;lots of options&#8217;, but obviously that doesn&#8217;t quite cover it. Right now I&#8217;m looking to redesign the &#8216;sneaking inside spaceships&#8217; part of Heat Signature, so I need more than a vague line about what&#8217;s cool about Deus Ex &#8211; I need a practical understanding of specifically why [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Deus Ex&#8217;s appeal is often boiled down to &#8216;lots of options&#8217;, but obviously that doesn&#8217;t quite cover it. Right now I&#8217;m looking to redesign the &#8216;sneaking inside spaceships&#8217; part of Heat Signature, so I need more than a vague line about what&#8217;s cool about Deus Ex &#8211; I need a practical understanding of specifically why it works, and why similar games don&#8217;t. So I&#8217;m replaying Deus Ex 1 and 3, to figure out what it is I want to steal. And I think it is options, but it&#8217;s not just number. They have to fill a certain set of requirements, and this is my attempt to nail down what those are.</p>
<p>I&#8217;ve been mostly playing Human Revolution so far, but I&#8217;ll also use some examples for DX1 since there&#8217;s so much overlap.<span id="more-8277"></span></p>
<h5>The basic ingredients</h5>
<p><a href="https://www.pentadact.com/wp-content/DXHR-MEthods.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/DXHR-MEthods.png" alt="DXHR MEthods" width="791" height="133" class="aligncenter size-full wp-image-8291" srcset="https://www.pentadact.com/wp-content/DXHR-MEthods.png 791w, https://www.pentadact.com/wp-content/DXHR-MEthods-178x30.png 178w, https://www.pentadact.com/wp-content/DXHR-MEthods-500x84.png 500w" sizes="auto, (max-width: 791px) 100vw, 791px" /></a><center><em>The protein flapjack is not technically a Method.</em></center></p>
<p>We&#8217;re talking about &#8216;ways to achieve your objective&#8217;. The objective itself is not optional, or different depending on your play style. Heat Signature does have an element of that, but it&#8217;s not what&#8217;s interesting about Deus Ex &#8211; most of the time, especially in 1 and 3, you have no say in what your objective is. The interesting part is in how you get to it. That generally breaks down into:</p>
<p><strong>Routes:</strong> the various paths you can take. Some are easily visible, some might be hidden.</p>
<p><strong>Obstacles:</strong> any elements that need to be overcome or avoided on a route &#8211; enemies, high walls, locked doors, toxic gas.</p>
<p><strong>Methods:</strong> anything that lets you get past an obstacle, including basic skills like sneaking, conventional means like guns, environmental things like a switch, and specialised tools like a hacking upgrade.</p>
<h5>Routes require different Methods</h5>
<p>This is not interesting:</p>
<p><a href="https://www.pentadact.com/wp-content/2015-11-06-12.20.46-no-obstacles.jpg"><img loading="lazy" decoding="async" class="aligncenter wp-image-8280 size-medium" src="https://www.pentadact.com/wp-content/2015-11-06-12.20.46-no-obstacles-500x375.jpg" alt="2015-11-06 12.20.46 no obstacles" width="500" height="375" srcset="https://www.pentadact.com/wp-content/2015-11-06-12.20.46-no-obstacles-500x375.jpg 500w, https://www.pentadact.com/wp-content/2015-11-06-12.20.46-no-obstacles-178x134.jpg 178w, https://www.pentadact.com/wp-content/2015-11-06-12.20.46-no-obstacles-1024x768.jpg 1024w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a></p>
<p>Multiple routes, but who cares? They&#8217;re all the same.</p>
<p>This is more interesting but still pretty trivial:</p>
<p><a href="https://www.pentadact.com/wp-content/2015-11-06-12.21.31-enemy.jpg"><img loading="lazy" decoding="async" class="aligncenter wp-image-8279 size-medium" src="https://www.pentadact.com/wp-content/2015-11-06-12.21.31-enemy-500x375.jpg" alt="2015-11-06 12.21.31 enemy" width="500" height="375" srcset="https://www.pentadact.com/wp-content/2015-11-06-12.21.31-enemy-500x375.jpg 500w, https://www.pentadact.com/wp-content/2015-11-06-12.21.31-enemy-178x134.jpg 178w, https://www.pentadact.com/wp-content/2015-11-06-12.21.31-enemy-1024x768.jpg 1024w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a></p>
<p>Multiple routes, but one is clearly more trouble than the others, so the choice isn&#8217;t interesting.</p>
<p>This is getting Deus Exy:</p>
<p><a href="https://www.pentadact.com/wp-content/2015-11-06-12.42.27-three-routes.jpg"><img loading="lazy" decoding="async" class="aligncenter wp-image-8278 size-medium" src="https://www.pentadact.com/wp-content/2015-11-06-12.42.27-three-routes-500x375.jpg" alt="2015-11-06 12.42.27 three routes" width="500" height="375" srcset="https://www.pentadact.com/wp-content/2015-11-06-12.42.27-three-routes-500x375.jpg 500w, https://www.pentadact.com/wp-content/2015-11-06-12.42.27-three-routes-178x134.jpg 178w, https://www.pentadact.com/wp-content/2015-11-06-12.42.27-three-routes-1024x768.jpg 1024w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a></p>
<p>Multiple routes, obstacles on all, and each requires a different Method. Do you have a Method for clearing debris? Do you have a Method for dealing with enemies? Do you have a Method for dealing with locked doors? Which brings us to:</p>
<h5>The player chooses which Methods to invest in</h5>
<p><a href="https://www.pentadact.com/wp-content/DXHR-Stacked.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/DXHR-Stacked.png" alt="DXHR Stacked" width="1635" height="826" class="aligncenter size-full wp-image-8289" srcset="https://www.pentadact.com/wp-content/DXHR-Stacked.png 1635w, https://www.pentadact.com/wp-content/DXHR-Stacked-178x90.png 178w, https://www.pentadact.com/wp-content/DXHR-Stacked-500x253.png 500w, https://www.pentadact.com/wp-content/DXHR-Stacked-1024x517.png 1024w" sizes="auto, (max-width: 1635px) 100vw, 1635px" /></a><center><em>I am doing excellent Deus Ex.</em></center></p>
<p>This is one area DXHR massively improved over DX1. In Deus Ex 1 a single cheap hacking upgrade got you into every computer in the game, and the aug options were binary choices: A or B, where B is often useless. DXHR makes everything Augs, and both unlocking and upgrading them take the same, painfully rare currency. That gives you enormous power to specialise, and also puts enormous weight on those early decisions. The first few Methods you unlock with this system will be <em>all you have</em>, for a time.</p>
<p>I used to think the virtue of lots of routes was that the player always has a big decision to make as they approach each objective. But replaying the Deus Ex games and really examining the situations I find myself in, that&#8217;s not it. Most of the time the choice is already made for me by a previous decision about either the playstyle I want to use or the upgrades I&#8217;ve picked. If I&#8217;ve got the strength upgrade and I&#8217;m playing stealthy, when I see a vent blocked by a drinks machine, I&#8217;m moving the drinks machine and getting in the vent. I don&#8217;t even need to see the other options.</p>
<p>And that&#8217;s OK! The actual deciding process is not the sole pleasure of playing a game. A lot of the fun comes in living out your decision, and seeing it rewarded by Routes that it lets you exploit. You got the strength upgrade? Good choice! Now you get to move this heavy thing and access this special route, which is gonna get you close to your objective with minimal resistance. That makes your playthrough feel personal, it makes your choices feel relevant, and it makes you feel clever.</p>
<h5>Methods have different Costs</h5>
<p><a href="https://www.pentadact.com/wp-content/DXHR-Accidenal-death.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/DXHR-Accidenal-death.png" alt="DXHR Accidenal death" width="1726" height="729" class="aligncenter size-full wp-image-8290" srcset="https://www.pentadact.com/wp-content/DXHR-Accidenal-death.png 1726w, https://www.pentadact.com/wp-content/DXHR-Accidenal-death-178x75.png 178w, https://www.pentadact.com/wp-content/DXHR-Accidenal-death-500x211.png 500w, https://www.pentadact.com/wp-content/DXHR-Accidenal-death-1024x433.png 1024w" sizes="auto, (max-width: 1726px) 100vw, 1726px" /></a><center><em>I may have committed a playstyle cost.</em></center></p>
<p>If every obstacle was solved for free by some particular Method, and impassable otherwise, that would probably be OK for a while. But pretty soon your choices would either feel irrelevant (if every Method unlocked a Route) or unfair (if your chosen Methods left you with no Route).</p>
<p>Methods need to have different costs, otherwise unlocking new ones wouldn&#8217;t be appealing. Basic sneaking is a Method, but it gets harder and more time consuming to use alone as the game progresses. The kinds of costs Methods can have are things like:</p>
<ul>
<li><strong>Resources:</strong> blowing up this weak wall uses up a grenade, whereas punching through it with an Aug only takes one rechargable power cell.</li>
<li><strong>Risk/Skill:</strong> you <em>can</em> use this pistol to take out these three guards, but it&#8217;s going to be tricky and you&#8217;ll die if it fails. If you have a gas grenade, it&#8217;s easy and safe.</li>
<li><strong>Time:</strong> if you want to get up to that vent, you&#8217;re going to need to scrounge around to find another box you can stack on this one. If you had the jump Aug, it&#8217;d be quick.</li>
<li><strong>Playstyle conflict:</strong> yeah, you can probably solve this by just throwing a frag grenade in there. But that&#8217;s not who you want to be this time, it&#8217;s not how you want to play. You want to do it silently and nonlethally with a tazer and a fridge.</li>
</ul>
<h5>Combat requires a combination of Methods</h5>
<p><a href="https://www.pentadact.com/wp-content/DXHR-Angry-hunting.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/DXHR-Angry-hunting.png" alt="DXHR Angry hunting" width="1567" height="649" class="aligncenter size-full wp-image-8292" srcset="https://www.pentadact.com/wp-content/DXHR-Angry-hunting.png 1567w, https://www.pentadact.com/wp-content/DXHR-Angry-hunting-178x74.png 178w, https://www.pentadact.com/wp-content/DXHR-Angry-hunting-500x207.png 500w, https://www.pentadact.com/wp-content/DXHR-Angry-hunting-1024x424.png 1024w" sizes="auto, (max-width: 1567px) 100vw, 1567px" /></a><center><em>Hey guys! Who are we angrily hunting to the ends of the Earth?</em></center></p>
<p>Combat is special. While it&#8217;s technically an avoidable obstacle like the others, almost every playstyle and route involves it at some point, and as players we expect it to be ten times richer and more interesting than any other type. We&#8217;re a lot less forgiving of a game that only has one type of weapon than a game that only has one type of lockpick.</p>
<p>This is true for me as much as anyone &#8211; every one of my favourite Deus Ex anecdotes involves violence either by or against me. In fact, the first moment that sold me on Deus Ex was getting stuck on a bit with two guards &#8211; I couldn&#8217;t take them both out before one killed me. Then I realised I could round the corner, spray a fire extinguisher at them both, and shoot them while they choke. It felt like I was fighting against unfair odds, improvising a desperate and clever way to overcome them.</p>
<p>In DXHR it&#8217;s less about improvisation, but my favourite thing to do is very similar. Lots of situations involve three guards &#8211; I like to stand near two of them, shoot the third in the head with the silenced pistol, then immediately hit the takedown key to use my upgraded close combat move on both the others. It feels like a spectacular explosion of violence, too sudden for anyone to stop and yet almost perfectly silent.</p>
<p>So combat needs:</p>
<ul>
<li>The odds stacked against you</li>
<li>Multiple Methods</li>
<li>Each Method insufficient alone</li>
<li>Methods with different strengths</li>
</ul>
<p>The fire extinguisher can&#8217;t hurt anyone, but it can immobilise two people very suddenly without much skill. The pistol can kill in one shot, but only if it&#8217;s to the head, and it&#8217;s hard to hit a moving head.</p>
<p>If combat tools each have different strengths &#8211; range, damage, stun, area, delay &#8211; you&#8217;re encouraged to come up with some way to combine them to solve the situation at hand, which feels inventive, improvisational and clever.</p><p>That&#8217;s what I have so far. As with any analysis, it&#8217;s not the only way to break it down, and it doesn&#8217;t cover everything. I have one more element I want to write up, but I think FTL may be a better example of it, so it feels like a separate post. And if replaying DX1 throws up anything big that this doesn&#8217;t cover, that&#8217;ll be its own post too.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-11-08-what-works-and-why-multiple-routes-in-deus-ex/feed/</wfw:commentRss>
			<slash:comments>18</slash:comments>
		
		
			</item>
		<item>
		<title>Natural Numbers In Game Design</title>
		<link>https://www.pentadact.com/2015-09-25-natural-numbers-in-game-design/</link>
					<comments>https://www.pentadact.com/2015-09-25-natural-numbers-in-game-design/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Fri, 25 Sep 2015 00:19:39 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8230</guid>

					<description><![CDATA[In maths, &#8216;natural numbers&#8217; are the ones you might use to count observable, whole things: eg. there are six people here. Anything that doesn&#8217;t work in place of &#8216;six&#8217; there, like 3.4 or -2, is not natural. They&#8217;re kind of &#8216;numbers you can see&#8217;. I&#8217;d like to use the term in game design to mean [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In maths, &#8216;natural numbers&#8217; are the ones you might use to count observable, whole things: eg. there are six people here. Anything that doesn&#8217;t work in place of &#8216;six&#8217; there, like 3.4 or -2, is not natural. They&#8217;re kind of &#8216;numbers you can see&#8217;.</p>
<p>I&#8217;d like to use the term in game design to mean specifically that: numbers you can see. Things that are represented so simply and wholly and countably that you don&#8217;t need to display an actual numeric figure to tell the player how much they&#8217;re seeing. They can just <em>see</em>.<span id="more-8230"></span></p>
<p>Here&#8217;s an FTL screenshot, showing how it presents your ship&#8217;s various weapons and systems:</p>
<p><a href="https://www.pentadact.com/wp-content/FTL-Panel.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/FTL-Panel.png" alt="FTL Panel" width="937" height="138" class="aligncenter size-full wp-image-8231" srcset="https://www.pentadact.com/wp-content/FTL-Panel.png 937w, https://www.pentadact.com/wp-content/FTL-Panel-178x26.png 178w, https://www.pentadact.com/wp-content/FTL-Panel-500x74.png 500w" sizes="auto, (max-width: 937px) 100vw, 937px" /></a></p>
<p>FTL is a game with masses of systems and numbers and configurations, which are part of what makes it great: there&#8217;s a huge range of possible ship loadouts to put together, and a huge number of sophisticated ways for them to go wrong. But I never would have played it, and I suspect it wouldn&#8217;t have got popular, if it felt complex. It doesn&#8217;t &#8211; you learn it pretty quickly, and pretty much anyone can play.</p>
<p>For me, that was down to how &#8216;natural&#8217; the numbers involved were, especially those power pips shown above. Do I have enough power to bring my drone systems online? You can see the three green pips of spare power on the left, and the two empty pips next to the drone system on the right, and you know immediately: yes. Interestingly, I don&#8217;t think this even involves any counting or comparing of numbers, in the mathsy sense &#8211; for small values like this, we have some kind of low-level spatial recognition routines that just come back with an instant &#8220;yes&#8221;.</p>
<p>It&#8217;s further simplified by how these natural numbers reuse their same values in all contexts: the hitpoints of each system is equal to the power it&#8217;s consuming and that&#8217;s also the total power of subsystems it can support. These are concepts you have to learn, but learning them is easy because there&#8217;s no maths to do, everything is one-to-one.</p>
<p>Here&#8217;s a screenshot of Heat Signature:</p>
<p><a href="https://www.pentadact.com/wp-content/Heat-Signature-Approach.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Heat-Signature-Approach.png" alt="Heat Signature Approach" width="1496" height="829" class="aligncenter size-full wp-image-8225" srcset="https://www.pentadact.com/wp-content/Heat-Signature-Approach.png 1496w, https://www.pentadact.com/wp-content/Heat-Signature-Approach-178x99.png 178w, https://www.pentadact.com/wp-content/Heat-Signature-Approach-500x277.png 500w, https://www.pentadact.com/wp-content/Heat-Signature-Approach-1024x567.png 1024w" sizes="auto, (max-width: 1496px) 100vw, 1496px" /></a></p>
<p>The player, in the small ship, is approaching a big ship. These are randomly generated and have lots of properties that vary from ship to ship, all of which are important. But there&#8217;s no stats panel for them, here or anywhere else, showing that info as bars or figures. Partly inspired by FTL, I show everything I can in &#8216;natural&#8217; numbers.</p>
<p>What&#8217;s this ship&#8217;s attack rating? Well, it&#8217;s got one gun. That, to me, goes one better than answering the question. If an info panel said &#8220;Attack rating: 1&#8221;, you still don&#8217;t know what that means in real terms. I&#8217;ve spent hundreds of hours in RPGs without ever finding out what their &#8216;attack&#8217; stat actually means &#8211; sometimes it&#8217;s like accuracy, sometimes damage, sometimes attack speed. But if you&#8217;ve ever seen a gun fire in Heat Signature, you know everything there is to know about this ship&#8217;s offensive capabilities right off the bat.</p>
<p>What&#8217;s its manoeuvrability rating? If you&#8217;ve ever seen a thruster fire in Heat Signature, you know that it has 4 of them and you have a sense for how it&#8217;ll feel to fly.</p>
<p>How many hits can it take? Well, one hit destroys one module, so just look at how many modules it has. Also inspired by FTL, things have a one-to-one-to-one relationship wherever possible. One gun fires one missile. One missile destroys one room. One gun takes up one room. So if you&#8217;ve ever seen one ship shoot another, you&#8217;ve already permanently memorised every conversion factor for every relationship between attack and defence, because &#8216;one&#8217; is as natural as numbers get. So you can see at a glance how many hits this ship can take.</p>
<p>You probably can&#8217;t <em>count</em> how many, at a glance. But what I like about natural numbers, if you use them throughout, is that you don&#8217;t need to. There&#8217;s no reason you need to know whether there&#8217;s 13 modules here or 15, because nothing else is expressed in terms of figures. You can see that there&#8217;s <em>that</em> many.</p>
<p>That visual, spatial, intuitive sense data is more immediate, more memorable, and easier to compare than a dry number. If you see a ship with more guns than this has modules, no number comparison is necessary to see what happens next &#8211; in fact, you can&#8217;t help but picture it.</p>
<p>And your sense of by how much that ship is outmatched is more powerful than if you&#8217;d learnt it from figures: if you were on the smaller ship, the urgency to get off it would be that much more intense.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-09-25-natural-numbers-in-game-design/feed/</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
			</item>
		<item>
		<title>Gunpoint Exclusive Edition Owners Now Have A Two-Week Alpha Of Heat Signature</title>
		<link>https://www.pentadact.com/2015-08-16-gunpoint-exclusive-edition-owners-now-have-a-two-week-alpha-of-heat-signature/</link>
					<comments>https://www.pentadact.com/2015-08-16-gunpoint-exclusive-edition-owners-now-have-a-two-week-alpha-of-heat-signature/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Sun, 16 Aug 2015 13:56:45 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8100</guid>

					<description><![CDATA[If you own the Exclusive Edition of Gunpoint on Steam &#8211; or the Exclusive Extras as DLC &#8211; you now have access to a Windows-only, very rough and time-limited alpha test version of Heat Signature! If you don&#8217;t, though, I don&#8217;t recommend buying it just to get in on this! This is very unfinished, very [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>If you own the Exclusive Edition of Gunpoint on Steam &#8211; or the Exclusive Extras as DLC &#8211; you now have access to a Windows-only, very rough and time-limited alpha test version of Heat Signature!</p>
<p>If you don&#8217;t, though, I don&#8217;t recommend buying it just to get in on this! This is very unfinished, very unoptimised, and time-limited: I will close it down in two weeks and then you won&#8217;t have it anymore. It exists purely to help me find problems with the game and get people&#8217;s thoughts, not necessarily to give them the best experience or one I&#8217;d charge for individually.<span id="more-8100"></span></p>
<p>In case it&#8217;s not yet abundantly clear: this is not like early access, getting in on this alpha does not get you the game. As with Gunpoint, I&#8217;ll also be doing free closed alphas too, and I&#8217;ll let everyone on the mailing list know when they can sign up for that. This first one is just a perk of the Exclusive Edition, part of what I promised to say thanks to those who supported Gunpoint so generously. I did the same thing with Floating Point &#8211; Exclusive Edition folks got the first alpha, then later ones went to people who signed up.</p>
<p><a href="https://www.pentadact.com/wp-content/Heat-Sig-Alpha-Launch.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Heat-Sig-Alpha-Launch.png" alt="Heat Sig Alpha Launch" width="377" height="181" class="aligncenter size-full wp-image-8108" srcset="https://www.pentadact.com/wp-content/Heat-Sig-Alpha-Launch.png 377w, https://www.pentadact.com/wp-content/Heat-Sig-Alpha-Launch-178x85.png 178w" sizes="auto, (max-width: 377px) 100vw, 377px" /></a></p>
<p>All that said, if you are in on this test, I hope you like it! Please do follow the link in-game and fill out the feedback form at some point in the next two weeks &#8211; I&#8217;ll be keeping a list of all the people who actually give me feedback, so I can include you in some future tests if I want to make sure I get responses.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-08-16-gunpoint-exclusive-edition-owners-now-have-a-two-week-alpha-of-heat-signature/feed/</wfw:commentRss>
			<slash:comments>25</slash:comments>
		
		
			</item>
		<item>
		<title>One Problem With Open Game Development</title>
		<link>https://www.pentadact.com/2015-08-13-one-problem-with-open-game-development/</link>
					<comments>https://www.pentadact.com/2015-08-13-one-problem-with-open-game-development/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Thu, 13 Aug 2015 20:12:39 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8096</guid>

					<description><![CDATA[In general I really like open game development &#8211; talking and writing publicly about what I&#8217;m working on &#8211; but I do have one problem. The time when I want to share what I&#8217;ve been making is when, after an exhausting amount of work, I&#8217;ve finally created something I&#8217;m happy with. But sharing it invites [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In general I really like open game development &#8211; talking and writing publicly about what I&#8217;m working on &#8211; but I do have one problem. The time when I want to share what I&#8217;ve been making is when, after an exhausting amount of work, I&#8217;ve finally created something I&#8217;m happy with. But sharing it invites critique: anyone who sees a way it could be better will generally tell you about it. <span id="more-8096"></span></p>
<p>And it&#8217;s just the wrong time to hear it. I spend all the <em>rest</em> of my time dissatisfied &#8211; that&#8217;s how I get things done. The point when I&#8217;m actually happy with it is the light at the end of the tunnel, and sharing it is part of how I celebrate. Having it picked apart right then &#8211; even if the suggestions are fair &#8211; is crushing. I go from exhausted but happy to exhausted, miserable, and daunted. It doesn&#8217;t even help me make the thing better, because I&#8217;m too demoralised to work on it anymore.</p>
<p>Sometimes, of course, I ask for feedback. But when I don&#8217;t, I think I&#8217;m going to just quietly disable comments. It&#8217;s not a case of &#8220;Oh god the comments&#8221;, it&#8217;s just an evasive way of saying &#8220;I&#8217;m not looking for feedback on this.&#8221; I stay aware of any real problems by doing lots of playtesting, and if it&#8217;s something that doesn&#8217;t bother actual players, it&#8217;s not worth having my enthusiasm drained over it.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-08-13-one-problem-with-open-game-development/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Vapour Trail Experiments</title>
		<link>https://www.pentadact.com/2015-07-26-vapour-trail-experiments/</link>
					<comments>https://www.pentadact.com/2015-07-26-vapour-trail-experiments/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Sun, 26 Jul 2015 13:21:24 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8070</guid>

					<description><![CDATA[It&#8217;s Sunday, so I&#8217;m allowed to work on things that aren&#8217;t important. This started as a test for an idea I have of how to create a &#8216;wake&#8217; that expands behind you, something I ultimately want to use to cut through some layers of cloud as you fly. But I accidentally made a cooler version [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>It&#8217;s Sunday, so I&#8217;m allowed to work on things that aren&#8217;t important. This started as a test for an idea I have of how to create a &#8216;wake&#8217; that expands behind you, something I ultimately want to use to cut through some layers of cloud as you fly. But I accidentally made a cooler version of the existing contrail, so I tried randomly colouring it, and here we are.</p>
<p>Not sure what to do with it from here. I like everything about it except the end, it has what I call &#8216;fat tail&#8217; problem: no matter how gently I tell the alpha to fade out, the final, big chunk of vapour always looks like it ends rather suddenly, like your ship just has this big fat tail following it.</p>
<p>I like the idea that breacher ships of different factions would have different contrail colours, though. And I think engine upgrades will probably affect this too.</p>
<p>Here are a million shots:<span id="more-8070"></span></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-01.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-01.png" alt="Vapour Trail Tests 01" width="1920" height="1080" class="aligncenter size-full wp-image-8071" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-01.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-01-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-01-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-01-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-02.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-02.png" alt="Vapour Trail Tests 02" width="1920" height="1080" class="aligncenter size-full wp-image-8072" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-02.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-02-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-02-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-02-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-03.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-03.png" alt="Vapour Trail Tests 03" width="1920" height="1080" class="aligncenter size-full wp-image-8073" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-03.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-03-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-03-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-03-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-04.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-04.png" alt="Vapour Trail Tests 04" width="1920" height="1080" class="aligncenter size-full wp-image-8074" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-04.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-04-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-04-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-04-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-06.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-06.png" alt="Vapour Trail Tests 06" width="1920" height="1080" class="aligncenter size-full wp-image-8075" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-06.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-06-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-06-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-06-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-07.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-07.png" alt="Vapour Trail Tests 07" width="1920" height="1080" class="aligncenter size-full wp-image-8076" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-07.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-07-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-07-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-07-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-08.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-08.png" alt="Vapour Trail Tests 08" width="1920" height="1080" class="aligncenter size-full wp-image-8077" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-08.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-08-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-08-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-08-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-09.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-09.png" alt="Vapour Trail Tests 09" width="1920" height="1080" class="aligncenter size-full wp-image-8078" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-09.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-09-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-09-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-09-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-10.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-10.png" alt="Vapour Trail Tests 10" width="1920" height="1080" class="aligncenter size-full wp-image-8079" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-10.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-10-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-10-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-10-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-11.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-11.png" alt="Vapour Trail Tests 11" width="1920" height="1080" class="aligncenter size-full wp-image-8080" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-11.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-11-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-11-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-11-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-201.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-201.png" alt="Vapour Trail Tests 201" width="1920" height="1080" class="aligncenter size-full wp-image-8081" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-201.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-201-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-201-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-201-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-202.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-202.png" alt="Vapour Trail Tests 202" width="1920" height="1080" class="aligncenter size-full wp-image-8082" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-202.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-202-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-202-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-202-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-203.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-203.png" alt="Vapour Trail Tests 203" width="1920" height="1080" class="aligncenter size-full wp-image-8083" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-203.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-203-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-203-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-203-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-204.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-204.png" alt="Vapour Trail Tests 204" width="1920" height="1080" class="aligncenter size-full wp-image-8084" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-204.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-204-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-204-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-204-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-205.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-205.png" alt="Vapour Trail Tests 205" width="1920" height="1080" class="aligncenter size-full wp-image-8085" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-205.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-205-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-205-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-205-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-206.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-206.png" alt="Vapour Trail Tests 206" width="1920" height="1080" class="aligncenter size-full wp-image-8086" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-206.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-206-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-206-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-206-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-207.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-207.png" alt="Vapour Trail Tests 207" width="1920" height="1080" class="aligncenter size-full wp-image-8087" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-207.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-207-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-207-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-207-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-208.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-208.png" alt="Vapour Trail Tests 208" width="1920" height="1080" class="aligncenter size-full wp-image-8088" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-208.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-208-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-208-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-208-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-211.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-211.png" alt="Vapour Trail Tests 211" width="1920" height="1080" class="aligncenter size-full wp-image-8089" srcset="https://www.pentadact.com/wp-content/Vapour-Trail-Tests-211.png 1920w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-211-178x100.png 178w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-211-500x281.png 500w, https://www.pentadact.com/wp-content/Vapour-Trail-Tests-211-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-07-26-vapour-trail-experiments/feed/</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
			</item>
		<item>
		<title>Spot The Bug</title>
		<link>https://www.pentadact.com/2015-07-25-spot-the-bug/</link>
					<comments>https://www.pentadact.com/2015-07-25-spot-the-bug/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Sat, 25 Jul 2015 11:50:02 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8054</guid>

					<description><![CDATA[My current task in Heat Signature is to tweak the airlocks so there&#8217;s room to put a closed door between you and the rest of the ship when you board. That way, you have as much time as you like to plan out your attack and wait till the guards are where you want them. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>My current task in Heat Signature is to tweak the airlocks so there&#8217;s room to put a closed door between you and the rest of the ship when you board. That way, you have as much time as you like to plan out your attack and wait till the guards are where you want them.</p>
<p>I needed the airlocks to clear 4 squares on the ship&#8217;s collision grid, to give you room to stand. But I hit a weird bug: some of them, maybe a third, did not clear. I checked the &#8216;clear grid&#8217; function was executing on each of them, but still some of them ended up blocked.<span id="more-8054"></span></p>
<p>I could see nothing wrong with the code no matter how hard I looked, so the only way to solve it was to look at a lot of test cases and see if I could spot what the bad ones had in common. As I said in <a href="https://www.youtube.com/watch?v=LS9b_eqVu3o&#038;index=25&#038;list=PLUtKzyIe0aB2HjpmBhnsHpK7ig0z7ohWw">my tutorial episode on debugging</a>, it&#8217;s often impossible to see the problem until you get a clue about where to look. So I spawned lots of ships, checked each airlock, and screenshotted each one. And it was only looking back at the screenshots that I spotted what all the bad ones had in common &#8211; or rather, what all the good ones did.</p>
<p>I thought it might be fun to just put up all the shots I looked at and see if you can spot it yourself. Not the actual explanation of the bug, of course, that&#8217;s tricky without seeing all my source code, but I was just looking for any commonality at all. And in case you think I&#8217;m Tom Sawyering you into solving it for me, I have no compunction about <a href="https://www.pentadact.com/2015-01-27-help-me-with-a-trigonometry-problem-for-heat-signature/">just asking for help</a> when I really am stuck. This one was kind of fun to figure out, for a certain definition of fun.</p>
<p>Here are all <strong>the bad ones</strong>. The grid thing is showing what bits of the ship are solid, and these are &#8216;bad&#8217; because the part I&#8217;m standing in is all red &#8211; I&#8217;m stuck. None of the debug text is relevant.</p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-14-51-bad.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-14-51-bad.png" alt="Runner 2015-07-25 11-12-14-51 bad" width="1920" height="1080" class="aligncenter size-full wp-image-8055" srcset="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-14-51-bad.png 1920w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-14-51-bad-178x100.png 178w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-14-51-bad-500x281.png 500w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-14-51-bad-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-38-09-bad.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-38-09-bad.png" alt="Runner 2015-07-25 11-12-38-09 bad" width="1920" height="1080" class="aligncenter size-full wp-image-8056" srcset="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-38-09-bad.png 1920w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-38-09-bad-178x100.png 178w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-38-09-bad-500x281.png 500w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-38-09-bad-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-51-97-bad.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-51-97-bad.png" alt="Runner 2015-07-25 11-12-51-97 bad" width="1920" height="1080" class="aligncenter size-full wp-image-8057" srcset="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-51-97-bad.png 1920w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-51-97-bad-178x100.png 178w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-51-97-bad-500x281.png 500w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-51-97-bad-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-55-62-bad.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-55-62-bad.png" alt="Runner 2015-07-25 11-12-55-62 bad" width="1920" height="1080" class="aligncenter size-full wp-image-8058" srcset="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-55-62-bad.png 1920w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-55-62-bad-178x100.png 178w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-55-62-bad-500x281.png 500w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-55-62-bad-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>And here are all <strong>the good ones</strong> &#8211; the area I&#8217;m standing in is green, I&#8217;m free to move.</p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-10-86-good.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-10-86-good.png" alt="Runner 2015-07-25 11-11-10-86 good" width="1920" height="1080" class="aligncenter size-full wp-image-8059" srcset="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-10-86-good.png 1920w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-10-86-good-178x100.png 178w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-10-86-good-500x281.png 500w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-10-86-good-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-30-26-good.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-30-26-good.png" alt="Runner 2015-07-25 11-11-30-26 good" width="1920" height="1080" class="aligncenter size-full wp-image-8060" srcset="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-30-26-good.png 1920w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-30-26-good-178x100.png 178w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-30-26-good-500x281.png 500w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-30-26-good-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-40-09-good.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-40-09-good.png" alt="Runner 2015-07-25 11-11-40-09 good" width="1920" height="1080" class="aligncenter size-full wp-image-8061" srcset="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-40-09-good.png 1920w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-40-09-good-178x100.png 178w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-40-09-good-500x281.png 500w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-11-40-09-good-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-03-81-good.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-03-81-good.png" alt="Runner 2015-07-25 11-12-03-81 good" width="1920" height="1080" class="aligncenter size-full wp-image-8062" srcset="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-03-81-good.png 1920w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-03-81-good-178x100.png 178w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-03-81-good-500x281.png 500w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-03-81-good-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-32-95-good.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-32-95-good.png" alt="Runner 2015-07-25 11-12-32-95 good" width="1920" height="1080" class="aligncenter size-full wp-image-8063" srcset="https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-32-95-good.png 1920w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-32-95-good-178x100.png 178w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-32-95-good-500x281.png 500w, https://www.pentadact.com/wp-content/Runner-2015-07-25-11-12-32-95-good-1024x576.png 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>So there&#8217;s something all the bad ones have in common and something all the good ones have in common, and it&#8217;s evident in these shots. Comment if you spot it!</p>
<p><strong>Update!</strong> People have got it! Both here and on Twitter, in fact I think most people who took a stab either got it or got something close enough. Kudos to <strong>Pompolic</strong> for the first correct solution I saw. I&#8217;ll detail what was going on below, but hide it until you <a href="#Solution" onclick="toggle_visibility('Solution');return false;"><strong>click to reveal the solution</strong></a>, for anyone who still wants to try it for themselves.</p>
<div id="Solution" style="display: none; margin-left:30px;"><strong>Solution!</strong>
<p>As many spotted, all the good ones are indented from the outer edge of the ship. It&#8217;s not as clear from the bad ones in isolation, but the real problem they share is that they&#8217;re all on the very outermost module of the ship. This is a problem because the collision grid only covers the smallest rectangle the ship&#8217;s modules fit into, so the protruding part of the airlock is outside the grid entirely. My collision grid visualiser doesn&#8217;t seem to have a problem with that, but the &#8216;clear grid&#8217; function REALLY does. Not only does it not clear the cells that are outside the grid, it also fails to clear the cells that ARE. It doesn&#8217;t crash but essentially gives up.</p>
<p>Fixing this is a scarily big job, and it&#8217;s something I&#8217;ve attempted before. What we need is for the collision grid to leave some room around the ship. But this is awkward because the way the collision grid is generated depends on using the module and objects&#8217; ship-wise co-ordinates to figure out where on the collision grid they lie. If we add extra space to the collision grid, all those references would be wrong by the size of the border. We could add an offset in the collision grid generator, but then we also have to add that same offset EVERYWHERE we EVER reference collision, including for things like line of sight checks. Nightmare.</p>
<p>We could make the collision grid generate correctly automatically if we changed the ship&#8217;s module grid to add empty modules all around the ship. But we have to decide whether to mess with the loops that generate the ship: right now they go from row 0 to ModulesLong, and column 0 to ModulesWide. Should we keep that the same but add new module spaces outside of those values? That&#8217;s tempting, but now every modules &#8216;row&#8217; and &#8216;column&#8217; variable is technically wrong, and won&#8217;t relate to its &#8216;fore&#8217; and &#8216;starboard&#8217; co-ordinates in ways that I&#8217;ve relied on all over the place.</p>
<p>So in the end I did change those loops &#8211; they now go from ModuleBorder to (ModulesLong &#8211; ModuleBorder), etc. It seems messy at first, and lots of littel variables did need adjusting to account for this, but crucially all of that was in the ship generation scripts. After a few crashes and weird, asymmetrical ships:</p>
<p><a href="https://www.pentadact.com/wp-content/Asymetical-ships.png"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Asymetical-ships.png" alt="Asymetical ships" width="959" height="735" class="aligncenter size-full wp-image-8068" srcset="https://www.pentadact.com/wp-content/Asymetical-ships.png 959w, https://www.pentadact.com/wp-content/Asymetical-ships-178x136.png 178w, https://www.pentadact.com/wp-content/Asymetical-ships-500x383.png 500w" sizes="auto, (max-width: 959px) 100vw, 959px" /></a></p>
<p>My third set of tweaks finally fixed it, and seemingly nothing else needs changing. That&#8217;s a huge deal, I think both the other routes to solving this would have had me still fixing little exceptions and unforeseen consequences months down the line.</p>
<p>Thanks for indulging me!</p></div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-07-25-spot-the-bug/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Eurogamer Play Heat Signature</title>
		<link>https://www.pentadact.com/2015-07-22-eurogamer-play-heat-signature/</link>
					<comments>https://www.pentadact.com/2015-07-22-eurogamer-play-heat-signature/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Wed, 22 Jul 2015 17:35:41 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8052</guid>

					<description><![CDATA[I let Eurogamer play Heat Signature and sat in the back seat to passive-aggressively criticise! It went great! This is both a slightly better looking build than the last trailer, and a longer vid &#8211; shows the whole disrupt/isolate/capture cycle.]]></description>
										<content:encoded><![CDATA[<p>I let Eurogamer play Heat Signature and sat in the back seat to passive-aggressively criticise! It went great!</p>
<p>This is both a slightly better looking build than the last trailer, and a longer vid &#8211; shows the whole disrupt/isolate/capture cycle.</p>
<div class="VideoWrapper"><iframe loading="lazy" width="1280" height="720" src="https://www.youtube-nocookie.com/embed/M3CBjaE4h4Y?rel=0" frameborder="0" allowfullscreen></iframe></div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-07-22-eurogamer-play-heat-signature/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>What It&#8217;s Like Showing Heat Signature To The Press</title>
		<link>https://www.pentadact.com/2015-07-21-what-its-like-showing-heat-signature-to-the-press/</link>
					<comments>https://www.pentadact.com/2015-07-21-what-its-like-showing-heat-signature-to-the-press/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Tue, 21 Jul 2015 14:45:09 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8050</guid>

					<description><![CDATA[I used to be press! Now I&#8217;m a developer. So I&#8217;m showing them my game, and trying to figure out if what I&#8217;m showing is exciting. Here&#8217;s what that&#8217;s like. I would like it known that I really am saying &#8216;Alec&#8217; when I refer to Alec but it sounds a bit like Alex because of [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="VideoWrapper"><iframe loading="lazy" width="1280" height="720" src="https://www.youtube-nocookie.com/embed/OhC_EjLH8v8?rel=0" frameborder="0" allowfullscreen></iframe></div>
<p>I used to be press! Now I&#8217;m a developer. So I&#8217;m showing them my game, and trying to figure out if what I&#8217;m showing is exciting. Here&#8217;s what that&#8217;s like. I would like it known that I really am saying &#8216;Alec&#8217; when I refer to Alec but it sounds a bit like Alex because of a mouth thing. A similar mouth thing to when I appear to say &#8216;intereted&#8217; right after.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-07-21-what-its-like-showing-heat-signature-to-the-press/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Writing vs Programming</title>
		<link>https://www.pentadact.com/2015-07-21-writing-vs-programming/</link>
					<comments>https://www.pentadact.com/2015-07-21-writing-vs-programming/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Tue, 21 Jul 2015 14:40:02 +0000</pubDate>
				<category><![CDATA[Feature]]></category>
		<category><![CDATA[Game development]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8048</guid>

					<description><![CDATA[Writing is like having a conversation with someone who can&#8217;t reply until you&#8217;ve finished. Programming is like having a conversation with a robot who screams at you if you pause in the wrong place, electrocutes you if you change your mind, and explodes if you ever use the future tense.]]></description>
										<content:encoded><![CDATA[<p>Writing is like having a conversation with someone who can&#8217;t reply until you&#8217;ve finished.</p>
<p>Programming is like having a conversation with a robot who screams at you if you pause in the wrong place, electrocutes you if you change your mind, and explodes if you ever use the future tense.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-07-21-writing-vs-programming/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Let Me Show You How To Make A Game</title>
		<link>https://www.pentadact.com/2015-07-09-let-me-show-you-how-to-make-a-game-with-no-experience/</link>
					<comments>https://www.pentadact.com/2015-07-09-let-me-show-you-how-to-make-a-game-with-no-experience/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Thu, 09 Jul 2015 17:12:32 +0000</pubDate>
				<category><![CDATA[Feature]]></category>
		<category><![CDATA[Game development]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8041</guid>

					<description><![CDATA[After 7 months, 25 episodes, and about 16 hours of total running time, my tutorial series is complete! I talk you through making a game, from writing your first line of code, to releasing and selling it. It&#8217;s aimed at absolute beginners, it only uses free software, the tutorial itself is free, ad-free, the game [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>After 7 months, 25 episodes, and about 16 hours of total running time, my tutorial series is complete! I talk you through making a game, from writing your first line of code, to releasing and selling it. It&#8217;s aimed at absolute beginners, it only uses free software, the tutorial itself is free, ad-free, <a href="http://pentadact.itch.io/noxp">the game we made</a> is free, and it&#8217;s in fairly digestible 45-minute episodes.</p>
<div class="VideoWrapper"><iframe loading="lazy" width="1280" height="720" src="https://www.youtube-nocookie.com/embed/DN6dZWXUEzA?list=PLUtKzyIe0aB2HjpmBhnsHpK7ig0z7ohWw&amp;showinfo=0" frameborder="0" allowfullscreen></iframe></div>
<p>Hope it&#8217;s of use! <a href="http://pentadact.itch.io/noxp">Here&#8217;s the game we made</a>:</p>
<p><a href="https://www.pentadact.com/wp-content/noxp.gif"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/noxp.gif" alt="noxp" width="560" height="318" class="aligncenter size-full wp-image-8042" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-07-09-let-me-show-you-how-to-make-a-game-with-no-experience/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>New Heat Signature Video: Galaxies, Suction And Wrench-Throwing</title>
		<link>https://www.pentadact.com/2015-06-29-new-heat-signature-video-galaxies-suction-and-wrench-throwing/</link>
					<comments>https://www.pentadact.com/2015-06-29-new-heat-signature-video-galaxies-suction-and-wrench-throwing/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Mon, 29 Jun 2015 17:06:11 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8031</guid>

					<description><![CDATA[As always, follow it on Twitter or sign up to be told when it&#8217;s out, or ready for testing, here. I also made a short montage of all the ways I fucked this video up in previous takes:]]></description>
										<content:encoded><![CDATA[<div class="VideoWrapper"><iframe loading="lazy" width="1280" height="720" src="https://www.youtube-nocookie.com/embed/d0-LwSS19iU?rel=0" frameborder="0" allowfullscreen></iframe></div>
<p>As always, <a href="https://twitter.com/HeatSig">follow it on Twitter</a> or sign up to be told when it&#8217;s out, or ready for testing, <a href="http://www.heatsig.com">here</a>.</p>
<p>I also made a short montage of all the ways I fucked this video up in previous takes:<span id="more-8031"></span> </p>
<div class="VideoWrapper"><iframe loading="lazy" width="1280" height="720" src="https://www.youtube-nocookie.com/embed/bHHlA66NV1Y?rel=0" frameborder="0" allowfullscreen></iframe></div>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-06-29-new-heat-signature-video-galaxies-suction-and-wrench-throwing/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>What Works And Why: Nonlinear Storytelling In Her Story</title>
		<link>https://www.pentadact.com/2015-06-27-what-works-and-why-nonlinear-storytelling-in-her-story/</link>
					<comments>https://www.pentadact.com/2015-06-27-what-works-and-why-nonlinear-storytelling-in-her-story/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Sat, 27 Jun 2015 17:37:58 +0000</pubDate>
				<category><![CDATA[Feature]]></category>
		<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[What Works And Why]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=8012</guid>

					<description><![CDATA[What Works And Why is a thing where I dig into the design of a game I like and try to analyse what makes it good, hopefully to learn from it but also because I love this stuff. Spoiler-free The Game: Her Story You play someone who&#8217;s been given access to a database of video [&#8230;]]]></description>
										<content:encoded><![CDATA[<p align="center"><em><a href="https://www.pentadact.com/tag/what-works-and-why/">What Works And Why</a> is a thing where I dig into the design of a game I like and try to analyse what makes it good, hopefully to learn from it but also because I love this stuff.</em></p>
<h4>Spoiler-free</h4>
<p><span id="more-8012"></span></p>
<h5>The Game: Her Story</h5>
<p>You play someone who&#8217;s been given access to a database of video clips, all of the same woman being interviewed by the police about the disappearance of her husband. You can only find the clips by searching for words or phrases you think might be in their transcripts, and you only get to see the first five results of that search. The clips are extremely short &#8211; most are about 20 seconds &#8211; but there are hundreds. The more you watch and discover, the better an idea you get of what to search for, and slowly you piece together the truth of what happened.</p>
<p><a href="https://www.pentadact.com/wp-content/Her-Story-the.jpg"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Her-Story-the.jpg" alt="Her Story the" width="1920" height="1080" class="aligncenter size-full wp-image-8014" srcset="https://www.pentadact.com/wp-content/Her-Story-the.jpg 1920w, https://www.pentadact.com/wp-content/Her-Story-the-178x100.jpg 178w, https://www.pentadact.com/wp-content/Her-Story-the-500x281.jpg 500w, https://www.pentadact.com/wp-content/Her-Story-the-1024x576.jpg 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<h5>What Works: Nonlinear Storytelling</h5>
<p>You&#8217;re free to search for anything you like, and the game cannot hide or lock off any clips that mention that term. The only restriction is that five-clip limit, and that&#8217;s sorted in chronological order, so it also can&#8217;t cheat by keeping a particular clip out of the top five artificially. That means it&#8217;s entirely possible to find the deepest secrets of the story with your first search.</p>
<p>But that&#8217;s not what happened for me, or anyone else I&#8217;ve talked to. In fact, it seems to almost always play out like a brilliantly paced thriller: mysterious hints leading to confusing contradictions, leading to revelations, then to further curiosities, then to even bigger revelations.</p>
<p>It was about an hour before I felt I had a handle on what happened, and an hour later it was all turned on its head. By then I was so fascinated that I spent another hour scouring for more, fleshing out the details, and investigating side-leads. I expect it would be two more to find everything.</p>
<p><a href="https://www.pentadact.com/wp-content/Her-Story-idea.jpg"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Her-Story-idea.jpg" alt="Her Story idea" width="1920" height="1080" class="aligncenter size-full wp-image-8015" srcset="https://www.pentadact.com/wp-content/Her-Story-idea.jpg 1920w, https://www.pentadact.com/wp-content/Her-Story-idea-178x100.jpg 178w, https://www.pentadact.com/wp-content/Her-Story-idea-500x281.jpg 500w, https://www.pentadact.com/wp-content/Her-Story-idea-1024x576.jpg 1024w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<h5>Why:</h5>
<p>Having to type in search terms means the way you explore and discover the plot is driven by your own intelligence. You can search for general terms if you&#8217;re stumped, but more often something she says will spark an idea in your head, you type it in, and see what you get.</p>
<p>When an idea like that fills the results box with 5 undiscovered clips, you get to feel what it&#8217;s like to make a breakthrough in a murder case &#8211; to solve something with a flash of inspiration. And because nothing in Her Story is straightforward, there&#8217;s a delight to delving into that fresh treasure trove of new information &#8211; new questions as much as new answers.</p>
<p>Letting the player potentially find any part of your story in any order is a counter-intuitive idea for an entirely story-driven game.</p>
<p>Without that five clip limit, I don&#8217;t think it would work &#8211; a generic search would become a playlist of all the videos.</p>
<p>Without the search results being in chronological order, I don&#8217;t think it would work &#8211; you could keep trying different generic words until the juicy stuff came up by chance.</p>
<p>And with a simpler plot, I don&#8217;t think it would work &#8211; the &#8216;truth&#8217; of Her Story&#8217;s plot is so elaborate and complex that even watching the game&#8217;s most revealing clip would only give you one piece of the puzzle.</p>
<p><a href="https://www.pentadact.com/wp-content/Her-Story-cups.jpg"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Her-Story-cups.jpg" alt="Her Story cups" width="1279" height="731" class="aligncenter size-full wp-image-8019" srcset="https://www.pentadact.com/wp-content/Her-Story-cups.jpg 1279w, https://www.pentadact.com/wp-content/Her-Story-cups-178x102.jpg 178w, https://www.pentadact.com/wp-content/Her-Story-cups-500x286.jpg 500w, https://www.pentadact.com/wp-content/Her-Story-cups-1024x585.jpg 1024w" sizes="auto, (max-width: 1279px) 100vw, 1279px" /></a></p>
<p>That last point is what really made it special, for me. I took 700+ words of notes while playing, meticulously organised by date of interview, and repeatedly had to revise or correct assumptions I&#8217;d made about the meaning of earlier clips.</p>
<p>My first big revelation was a substantial clip that seemed to describe the whole crux of the thing, and sent me on a frenzied series of searches to investigate its most remarkable info. An hour later, after discovering much more, I went back and watched that clip again to check something. As I did, everything about it flipped round. Almost every word changed meaning, mysterious references clicked into new facts, and previously vague motives suddenly became frighteningly clear. It was the same clip that had told me <em>what</em> happened, but only with a headful of new information did it also tell me why.</p>
<h5>What To Learn:</h5>
<p><strong>Search is a great interface for natural language input</strong></p>
<p>It&#8217;s interesting to compare Her Story to a text adventure: you do type in text, freely, in the hope of getting a pre-written response back. And like a text-adventure, a lot of what you type does not have a response. But here that system is never frustrating, because the logic of what will and won&#8217;t get a response is made clear to you, there&#8217;s a natural reason for it, and that lets it become <em>the game</em>.</p>
<p>The implicit promise of a text adventure is &#8220;Type whatever you want to do, I&#8217;ll tell you if it works!&#8221; But if you&#8217;re not conversant in the standard commands, what you type will more often fail because the game doesn&#8217;t understand it or doesn&#8217;t have a response ready.</p>
<p>The promise of Her Story is &#8220;Type what you think she might have said, I&#8217;ll show you if she said it.&#8221; When nothing comes back, it&#8217;s because you failed at that job.</p>
<p>The interface, the thing that limits what you can and can&#8217;t do, is natural: it matches the limitations your character in this world also faces. And so the challenge of overcoming it feels like a game, rather than a frustration.</p>
<p><a href="https://www.pentadact.com/wp-content/Her-Story-know.jpg"><img loading="lazy" decoding="async" src="https://www.pentadact.com/wp-content/Her-Story-know.jpg" alt="Her Story know" width="1381" height="786" class="aligncenter size-full wp-image-8022" srcset="https://www.pentadact.com/wp-content/Her-Story-know.jpg 1381w, https://www.pentadact.com/wp-content/Her-Story-know-178x101.jpg 178w, https://www.pentadact.com/wp-content/Her-Story-know-500x285.jpg 500w, https://www.pentadact.com/wp-content/Her-Story-know-1024x583.jpg 1024w" sizes="auto, (max-width: 1381px) 100vw, 1381px" /></a></p>
<p><strong>If you split a sufficiently complex plot into sufficiently small pieces, it works out of order</strong></p>
<p>Plenty of stories work out of order, but they had to be pre-written that way. Her Story doesn&#8217;t know the order you&#8217;ll discover it in, yet it seems to almost always work as a well-paced thriller. Because as in my example, even a crucial piece of information, in isolation, doesn&#8217;t tell you everything you want to know.</p>
<p>It&#8217;s worth noting, though, that Her Story&#8217;s delivery system does <em>influence</em> the order, by sorting results chronologically. If what you search for has more than 5 results, the 5 you get will be the earliest of those, which tend to be less revealing than later clips.</p>
<p><strong>If you can tell something out of order, let the player drive the order</strong></p>
<p>If every clip in Her Story was an audio log littered randomly around BioShock, it would lose part of its appeal. What made the game exciting was driving that discovery process with my own insights. They didn&#8217;t always work, and often I found something I wasn&#8217;t looking for, but I was still driving the process and sometimes hitting the jackpot, and that&#8217;s what made it so engrossing.</p>
<p>I don&#8217;t know what the &#8216;littered around BioShock&#8217; equivalent of that is yet, but that&#8217;s what I&#8217;m thinking about now.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-06-27-what-works-and-why-nonlinear-storytelling-in-her-story/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Tiny Design</title>
		<link>https://www.pentadact.com/2015-06-05-tiny-design/</link>
					<comments>https://www.pentadact.com/2015-06-05-tiny-design/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Fri, 05 Jun 2015 22:32:17 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Gunpoint]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=7987</guid>

					<description><![CDATA[Tiny Design is a good blog about tiny design choices and why they were (probably) made. A lot of them are things you might not consciously notice, which made me think that there may be others you still haven&#8217;t consciously noticed. So here&#8217;s one you might not have noticed in Gunpoint! Unless you followed its [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="http://tiny-design.tumblr.com/">Tiny Design</a> is a good blog about tiny design choices and why they were (probably) made. A lot of them are things you might not consciously notice, which made me think that there may be others you still haven&#8217;t consciously noticed. So here&#8217;s one you might not have noticed in Gunpoint! Unless you followed its development, because I tweeted about it 5 years ago.<span id="more-7987"></span></p>
<p>In Gunpoint, you click and hold the mouse to charge a jump, move the mouse to adjust the predicted arc of where you&#8217;ll go, and release the button to launch yourself. The further away you move the mouse, the stronger the jump. But when I watched people play, they&#8217;d often click quite close to the character and never discover their full jump strength potential.</p>
<p>I thought about adding a ring showing how far to move the mouse from your character to reach maximum jump strength, or a gauge to show how much of your maximum strength you were using. But in the end I found a way to do it without adding any new visual elements:</p>
<p>However far away the cursor is when you start holding the button, that becomes the game&#8217;s new standard cursor distance for a maximum strength jump. So whatever the player&#8217;s expecting, the game&#8217;s maths silently recalibrates to match it. It changes again every time you click, so you don&#8217;t need to be consistent. And you can still do a smaller jump by moving the mouse closer after you&#8217;ve started holding it.</p>
<p>From what I saw of people playing after that change, it worked: everyone still had different ideas of how far away to click, but now they all resulted in the same range of power and control.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-06-05-tiny-design/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Why I&#8217;m Letting Heat Signature Get Bigger</title>
		<link>https://www.pentadact.com/2015-05-19-why-im-letting-heat-signature-get-bigger/</link>
					<comments>https://www.pentadact.com/2015-05-19-why-im-letting-heat-signature-get-bigger/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Tue, 19 May 2015 15:52:10 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Heat Signature]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=7973</guid>

					<description><![CDATA[Here is a video blog about that, and how I&#8217;m changing how I think about working on it.]]></description>
										<content:encoded><![CDATA[<div class="VideoWrapper"><iframe loading="lazy" width="1280" height="720" src="https://www.youtube-nocookie.com/embed/cj6mHgbwTc4?rel=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe></div>
<p>Here is a video blog about that, and how I&#8217;m changing how I think about working on it.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-05-19-why-im-letting-heat-signature-get-bigger/feed/</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
			</item>
		<item>
		<title>My Idea For An &#8216;Unconventional Weapon&#8217; Game</title>
		<link>https://www.pentadact.com/2015-05-17-my-idea-for-an-unconventional-weapon-game/</link>
					<comments>https://www.pentadact.com/2015-05-17-my-idea-for-an-unconventional-weapon-game/#comments</comments>
		
		<dc:creator><![CDATA[Pentadact]]></dc:creator>
		<pubDate>Sun, 17 May 2015 14:26:52 +0000</pubDate>
				<category><![CDATA[Game development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Game Jams]]></category>
		<guid isPermaLink="false">http://www.pentadact.com/?p=7907</guid>

					<description><![CDATA[I was ill for a few weeks recently, and Ludum Dare happened during it. As usual I wanted the challenge of thinking up an idea to fit the theme, but couldn&#8217;t spare the two days to actually make something. The theme was &#8216;an unconventional weapon&#8217;, so I wrote up an idea but didn&#8217;t get around [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I was ill for a few weeks recently, and Ludum Dare happened during it. As usual I wanted the challenge of thinking up an idea to fit the theme, but couldn&#8217;t spare the two days to actually make something. The theme was &#8216;an unconventional weapon&#8217;, so I wrote up an idea but didn&#8217;t get around to publishing it at the time. Here it is!<span id="more-7907"></span></p>
<h4>The Switch</h4>
<p>Side-on platformer style view, very stark orange and black art style, rusty, nasty.</p>
<p>Your character and one other are slave labourers in a big, dilapidated factory of extremely dangerous machines. In a short, wordless intro:</p>
<h5>Scene 1</h5>
<ul>
<li>A machine malfunctions and cuts your arm off</li>
<li>The guards ignore you</li>
<li>Your partner loses it and attacks a guard</li>
<li>The guard beats them</li>
<li>You try to help but collapse</li>
<li>You&#8217;re both overpowered dragged away</li>
<li>Your partner grabs something from the production line just as we fade to black</li>
</ul>
<h5>Scene 2</h5>
<ul>
<li>The guard drags you both, throws you into a chamber with blackened walls</li>
<li>Your stump is bandaged in a shirt but still bleeding</li>
<li>Just before your cell door closes, your partner throws something into your cell that clatters on the floor.</li>
<li>Your partner is thrown into a similar chamber opposite</li>
<li>When the guard walks away, there&#8217;s a small green light stuck to him</li>
<li>Faintly visible gas floods your partner&#8217;s cell with a hiss</li>
<li>It suddenly ignites in dazzling orange flame, then fades: nothing is left</li>
<li>When you pick up the object you get a prompt: &#8220;Right mouse: Switch&#8221;</li>
<li>The same gas floods into your cell</li>
<li>If you flick the switch, you and the guard instantly switch places: he&#8217;s incinerated and you&#8217;re free</li>
<li>If you don&#8217;t it is a short game</li>
</ul>
<h5>The Game</h5>
<p>The Switch is a slim metal cylinder with a simple lever switch on the end. It now has something attached to the bottom: the Tag, a thin disc with the feel of a fridge magnet.</p>
<p>Left click throws the Tag. It sticks to whatever it hits, but the Switch only works if it&#8217;s stuck to a human: the things it switches need to be similar in mass and composition. It&#8217;s light enough that they won&#8217;t feel anything if they didn&#8217;t see you throw it, and you don&#8217;t have to be nearby or in line of sight to press Right mouse and switch places with them.</p>
<p>Once the tag is thrown, Left clicking again teleports it back to you without switching.</p>
<p>So it&#8217;s a stealth puzzle game about quietly tagging enemies, then purposefully throwing or trapping yourself into fatal hazards and switching at the last minute. The factory is a complete deathtrap: you&#8217;ll stand under smashing pistons, throw yourself into grinding gears, jump onto rusty sawblades, lock yourself in trash compactors, drop onto conveyor belts too fast to run against, walk off sheer drops, and dive onto safety railings have decayed into javelins of rust. The idea is invert the idea of avoiding death, and to make you feel a little of what you&#8217;re about to inflict: that physical wince just before you die of something unsettlingly physical in a videogame, like a long fall or heavy object.</p>
<p>Your task is to escape, obviously, and along the way you&#8217;ll mostly be using the Switch to get guards out of your way. In some situations, though, guards can also double as &#8216;lives&#8217;: tag one before attempting to navigate a tricky part of the factory, and if you slip and fail you can Switch to put him in your place and get another go. In those situations and others, killing isn&#8217;t strictly necessary, and if you&#8217;re trying to minimise it you&#8217;ll have to decide whether you want to set up that murderous contingency plan in case it comes to it.</p>
<p>Obviously there are thematic similarities with The Swapper, but both the tech and usage are different: that game was about cloning yourself, the Switch is just a teleporter. It&#8217;s about doing horribly suicidal and reckless things to yourself and using your unconventional weapon to transfer the consequences to others. Which is also why it needs a nasty intro and a persistent reminder of your desperate circumstances.</p>
<p><strong>Previously:</strong> I came up with ideas for 8 previous game jams, 3 of which I actually made &#8211; Scanno Domini, Jake and the Infinite Jerkbots, and Floating Point. You can read about them all and play those three by browsing <a href="https://www.pentadact.com/tag/game-jams/">the game jams tag here</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pentadact.com/2015-05-17-my-idea-for-an-unconventional-weapon-game/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
	</channel>
</rss>
