<?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>Postmortems &#8211; Tobias Makes Games</title>
	<atom:link href="https://blog.dragonlab.de/category/gamedev/postmortems/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.dragonlab.de</link>
	<description>...and other stuff. But mostly games.</description>
	<lastBuildDate>Sat, 20 May 2017 13:32:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>
<site xmlns="com-wordpress:feed-additions:1">11829519</site>	<item>
		<title>A Light in the Darkness &#8211; Postmortem for a Drop-in/Drop-out Co-Op Online Multiplayer LD Game</title>
		<link>https://blog.dragonlab.de/2014/09/a-light-in-the-darkness-postmortem/</link>
					<comments>https://blog.dragonlab.de/2014/09/a-light-in-the-darkness-postmortem/#respond</comments>
		
		<dc:creator><![CDATA[Tobias Wehrum]]></dc:creator>
		<pubDate>Mon, 15 Sep 2014 22:26:08 +0000</pubDate>
				<category><![CDATA[Postmortems]]></category>
		<category><![CDATA[Co-Op]]></category>
		<category><![CDATA[Game Jam]]></category>
		<category><![CDATA[Ludum Dare]]></category>
		<category><![CDATA[Online Multiplayer]]></category>
		<category><![CDATA[Post Mortem]]></category>
		<category><![CDATA[Unity]]></category>
		<guid isPermaLink="false">http://blog.dragonlab.de/?p=2539</guid>

					<description><![CDATA[The rating period is slowly but surely nearing its end, and I thought it cannot hurt to write a postmortem for the game I made three weeks ago. I wish I would&#8217;ve promoted the game more (it&#8217;s my first online multiplayer game after all!) and I wish I could&#8217;ve played more games, but my master&#8217;s &#8230; <a href="https://blog.dragonlab.de/2014/09/a-light-in-the-darkness-postmortem/" class="more-link">Continue reading <span class="screen-reader-text">A Light in the Darkness &#8211; Postmortem for a Drop-in/Drop-out Co-Op Online Multiplayer LD Game</span></a>]]></description>
										<content:encoded><![CDATA[<figure style="width: 450px" class="wp-caption aligncenter"><a href="http://www.ludumdare.com/compo/ludum-dare-30/?action=preview&amp;uid=2587"><img fetchpriority="high" decoding="async" class="" src="https://www.ludumdare.com/compo/wp-content/compo2/375043/2587-shot0.png" alt="" width="450" height="253" /></a><figcaption class="wp-caption-text">&#8230;but first invite a friend or two. It&#8217;s dangerous to go alone!</figcaption></figure>
<p style="text-align: justify;">The rating period is slowly but surely nearing its end, and I thought it cannot hurt to write a postmortem <a href="http://www.ludumdare.com/compo/ludum-dare-30/?action=preview&amp;uid=2587" target="_blank">for the game I made three weeks ago</a>. I wish I would&#8217;ve promoted the game more (it&#8217;s my first online multiplayer game after all!) and I wish I could&#8217;ve played more games, but my master&#8217;s thesis was jealous and demanded I spent more time with it. That being said, I have a free minute now, so here goes nothing!<span id="more-2539"></span></p>
<h4>Design</h4>
<p style="text-align: justify;">Three weeks ago, when I was still young and inexperienced, I thought that &#8220;Connected Worlds&#8221; lends itself <em>perfectly well</em> to making an online multiplayer game. (Nevermind that I never did one before, haha.) That being said, there are some obvious design problems that I needed to solve &#8211; and that ultimately led to the current design:</p>
<ul>
<li style="text-align: justify;"><strong>LD rating is 3 weeks, and people likely won&#8217;t play all at once.</strong> To tackle that, the game should a) be able to be finished single-player too.</li>
<li style="text-align: justify;"><strong>Even if people are online at the same time, they probably won&#8217;t arrive at the same time &#8211; and likely don&#8217;t want to wait either.</strong> For that reason, I made the game drop-in/drop-out: The first player to join starts a new session that ends when the last player leaves or the game is won/lost. Any player that arrives in the meantime just spawns next to the torch. (I briefly entertained the idea of one permanent session, but I wouldn&#8217;t want to do the level design for THAT, phew. Also I highly doubted that players would come back often enough for that to be interesting.)</li>
<li style="text-align: justify;"><strong>Synchronisation is hard.</strong> So, uh, nothing twitchy. More slowly. With tiles to walk on.</li>
<li style="text-align: justify;"><strong>Synchronisation might not work correctly.</strong> I have no idea what I&#8217;m doing after all. So, better do a co-op game and nobody gets pissed that the enemy had an advantage.</li>
</ul>
<p style="text-align: justify;">Okay, so a scalable drop-in/drop-out co-op online multiplayer game. This is basically what I spent my complete first day on, and I had no idea what I actually wanted to do gameplay-wise yet. I implemented a chat though: Just text that appears on top of player&#8217;s heads.</p>
<p style="text-align: justify;">After a good night&#8217;s sleep, I arrived at the idea spawning from the Olympic torch relay: A flame had to be transported from A to B &#8211; in this case between two kingdoms. Slowly everything clicked together: It was dark, hence the flame is important. If you drop it, it&#8217;s not protected anymore and slowly dies down, and you have to drop it sometimes because it&#8217;s heavy as hell. And there are multiple obstacles that you have to dig through or build across. You can do it alone if you react fast, but it&#8217;s stressful always to drop the flame, dig/build a little, pick it up again, transport it, drop it etc. &#8211; it&#8217;s much better with friends helping you! So yeah, here we go &#8211; a game that you can play alone or with &#8220;any&#8221; number of friends.</p>
<h4>Implementation</h4>
<p style="text-align: justify;">The game is made in Unity and with the SDK from (and hosted by) <a href="https://gamesnet.yahoo.com">Yahoo Game Networks</a>. Free hosting for up to 5000 daily users? Yes please.</p>
<p style="text-align: justify;">There is a server, but it doesn&#8217;t do much &#8211; it mainly keeps track of the users, items on the floor and already dug-out rocks so that it can inform new players. It also distributes events. The only thing that it is really authoritative about is when an item is spawned, picked up or dropped to avoid item duplication.</p>
<p style="text-align: justify;">On the client side, you are the only player that moves directly &#8211; and you send messages to the server how you move. Because movement is between tiles, those messages are few, and they will arrive in roughly the same interval in which they are send, so on the other screens you move the same way, just with a delay. Each player object has an event queue &#8211; move, dig, build bridge etc &#8211; that will be executed in that order with the appropriate delays, so it&#8217;s no problem if messages arrive to quickly either.</p>
<p style="text-align: justify;">Making the server mostly non-authoritative and using that message queue system is what helped me be able to finish the game in such a short time, I think.</p>
<h4>What didn&#8217;t go so well?</h4>
<ul>
<li style="text-align: justify;"><strong>No sound effects.</strong> I wish I had some, but I finished the level itself in last second, and well &#8211; that was a bit more important, I guess.</li>
<li style="text-align: justify;"><strong>Nobody invites their friends to play.</strong> I wish I knew why. It&#8217;s super easy &#8211; just share a link &#8211; but many people commented that they had to play alone. I suppose they do have friends, right? Maybe even game developer friends?</li>
</ul>
<p style="text-align: justify;">Apart from that, I&#8217;m actually largely content! Sure, there&#8217;s not <em>that</em> much gameplay, but it&#8217;s fun &#8211; and sure, the graphics could be better, but hey! 48 hours and first time online multiplayer! I&#8217;m certainly not complaining. Which leads me to&#8230;</p>
<h4>What went well?</h4>
<ul>
<li style="text-align: justify;"><strong>Online Multiplayer in 48 hours</strong>, that&#8217;s what!</li>
<li style="text-align: justify;"><strong>The whole thing is surprisingly stable</strong>, if sometimes a little laggy. I would&#8217;ve expected to have more problems with an online multiplayer game.</li>
<li style="text-align: justify;"><strong>Development wasn&#8217;t as hard as expected.</strong> I was always a bit wary of networked multiplayer in any form, but it turns out that it wasn&#8217;t that bad to always have a server and often two windows running. Might be because it was only 48 hours and a small-scoped project with no necessary security though.</li>
<li style="text-align: justify;"><strong>The Drop-in/Drop-out is cool.</strong> And it also has the side effect of allowing people to spectate games. Apropos drop-in/drop-out&#8230;</li>
<li style="text-align: justify;"><strong>The game is a lot of fun with streamers!</strong> Allowing for a variable number of players that can join anytime, and streamers having an audience already made for great fun a lot of time.</li>
<li style="text-align: justify;"><strong>The chat is refreshingly different.</strong> Having text appear on top of the heads is cool, but seeing it being typed live is surprisingly even more fun!</li>
</ul>
<h4>Tips</h4>
<ul>
<li style="text-align: justify;"><strong>Trust in the process.</strong> Seriously, don&#8217;t worry if your design is not complete yet. I didn&#8217;t have any core gameplay ideas until 12 hours before the end and I still finished with something. Just work towards that goal until then.</li>
<li style="text-align: justify;"><strong>Keep a ToDo list.</strong> <a href="http://workflowy.com" target="_blank">Workflowy</a> is superb for that. Helps me stay on course and motivated.</li>
<li style="text-align: justify;"><strong>Keep your design simple and modular.</strong> Especially if you do something big technology-wise that you haven&#8217;t attempted before. If you finish early, you can still add more features! I would&#8217;ve loved to have enemies and defending each other, or wind zones where you have to keep the flame safe, and&#8230; but time ran out, and the current state is very playable.<strong><br />
</strong></li>
<li style="text-align: justify;"><strong>Test early.</strong> I started testing long before I had actual gameplay. I guess networked games are special in that regard though.</li>
</ul>
<h4>In Conclusion&#8230;</h4>
<p style="text-align: justify;">&#8230;I&#8217;m quite happy with the result, and I&#8217;m seriously considering doing a game with online components for next LD too. So much inspiring online stuff this LD, damn! And maybe I&#8217;ll even get a chance to gather more networked multiplayer experience by then, but knowing me, I won&#8217;t and I&#8217;ll just dive right in. Wouldn&#8217;t have it any other way, really.</p>
<p style="text-align: justify;">Do you have any questions? Feel free to ask them in the comments or <a href="https://twitter.com/tolicious" target="_blank">on Twitter</a>!</p>
<p style="text-align: justify;">And maybe you have a free minute or two and want to <a href="http://www.ludumdare.com/compo/ludum-dare-30/?action=preview&amp;uid=2587" target="_blank">try my game</a>? (And maybe ask a friend to join you! Friends are pretty cool.)</p>
<figure id="attachment_2544" aria-describedby="caption-attachment-2544" style="width: 240px" class="wp-caption aligncenter"><a href="http://blog.dragonlab.de/wp-content/uploads/2014/09/We-are-out-of-here.gif"><img decoding="async" data-attachment-id="2544" data-permalink="https://blog.dragonlab.de/2014/09/a-light-in-the-darkness-postmortem/we-are-out-of-here/" data-orig-file="https://blog.dragonlab.de/wp-content/uploads/2014/09/We-are-out-of-here.gif" data-orig-size="240,180" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="We are out of here" data-image-description="" data-image-caption="&lt;p&gt;Thanks for reading! I&#8217;m done here, goodbye.&lt;/p&gt;
" data-medium-file="https://blog.dragonlab.de/wp-content/uploads/2014/09/We-are-out-of-here.gif" data-large-file="https://blog.dragonlab.de/wp-content/uploads/2014/09/We-are-out-of-here.gif" class="size-full wp-image-2544" src="http://blog.dragonlab.de/wp-content/uploads/2014/09/We-are-out-of-here.gif" alt="Thanks for reading! I'm done here, goodbye." width="240" height="180" /></a><figcaption id="caption-attachment-2544" class="wp-caption-text">Thanks for reading! I&#8217;m done here, goodbye.</figcaption></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonlab.de/2014/09/a-light-in-the-darkness-postmortem/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2539</post-id>	</item>
		<item>
		<title>Lessons learnt while making SnakeFormer</title>
		<link>https://blog.dragonlab.de/2014/05/lessons-learnt-while-making-snakeformer/</link>
					<comments>https://blog.dragonlab.de/2014/05/lessons-learnt-while-making-snakeformer/#respond</comments>
		
		<dc:creator><![CDATA[Tobias Wehrum]]></dc:creator>
		<pubDate>Mon, 19 May 2014 14:06:22 +0000</pubDate>
				<category><![CDATA[Postmortems]]></category>
		<category><![CDATA[Ludum Dare]]></category>
		<category><![CDATA[Post Mortem]]></category>
		<guid isPermaLink="false">http://blog.dragonlab.de/?p=2380</guid>

					<description><![CDATA[This Ludum Dare I made SnakeFormer, a short puzzle game combining Snake with pseudo-physics platformer mechanics. If you&#8217;d like to, you can play it here. Like just about every game, some lessons were learnt, and I thought I&#8217;d write a small piece about them. It&#8217;s 12 hours before the judging ends, and nobody has time &#8230; <a href="https://blog.dragonlab.de/2014/05/lessons-learnt-while-making-snakeformer/" class="more-link">Continue reading <span class="screen-reader-text">Lessons learnt while making SnakeFormer</span></a>]]></description>
										<content:encoded><![CDATA[<p style="text-align: left;">This Ludum Dare I made SnakeFormer, a short puzzle game <strong>combining Snake with pseudo-physics platformer mechanics</strong>.</p>
<figure style="width: 323px" class="wp-caption aligncenter"><a href="http://www.ludumdare.com/compo/ludum-dare-29/?action=preview&amp;uid=2587"><img decoding="async" src="https://dragonlab.de/projects/ld29/short%20323x238%20lava.gif" alt="" width="323" height="238" /></a><figcaption class="wp-caption-text">Turns out that lava is pretty hot.</figcaption></figure>
<p style="text-align: center;"><strong>If you&#8217;d like to, you can play it <a href="http://www.ludumdare.com/compo/ludum-dare-29/?action=preview&amp;uid=2587" target="_blank" rel="noopener noreferrer">here.</a></strong></p>
<p>Like just about every game, some lessons were learnt, and I thought I&#8217;d write a small piece about them. It&#8217;s 12 hours before the judging ends, and nobody has time to read through a novel, so I&#8217;ll keep this short!</p>
<h4>Game &amp; Level Design</h4>
<p><strong>If a level has the right difficulty for you, it&#8217;ll be too hard for everybody else.<br />
</strong>I swear I&#8217;ll remember this lesson one day, haha. That doesn&#8217;t necessarily mean &#8220;make it easier&#8221;, because in a level-based game, there is another approach:</p>
<p><strong>When in doubt, make more levels.<br />
</strong>Easier levels, preferably. I should&#8217;ve spent a lot less time on the menu and instead made more transition levels. Which brings me to:</p>
<p><strong>Don&#8217;t introduce more than one mechanic per level.<br />
</strong>Level 2 introduces: Lava, falling stones AND growing the snake. That&#8217;s, uh, a bit too much.</p>
<p><strong>Even if you think the goal is clear, it might be not.<br />
</strong>So &#8211; better make it clearer. The goal in my game is to exit the screen to the right, like in most platformers. Some people thought that they had to eat the whole level though, which is a more Snake-like goal.</p>
<p><strong>Put instructions in the first level.</strong><br />
Some players don&#8217;t read the instructions before starting the game &#8211; but once they are confused <em>inside</em> the game, make it as easy as possible to re-read them.</p>
<h4>Art, Sound &amp; Music</h4>
<p><strong>Glow is freakin&#8217; cool.<br />
</strong>Seriously.</p>
<p><strong>Homemade sound effects can be quite entertaining.</strong><br />
Any game needs sound effects, and since I&#8217;m no good at making them digitally, I tried to use my mouth for most. Turns out that&#8217;s a lot of fun to listen to, and I actually had a few people praise my sound design, especially the eating- and the end-of-level-sounds.</p>
<p><strong><a href="http://abundant-music.com" target="_blank" rel="noopener noreferrer">Abundant Music</a> (music generator) + <a href="http://www.geocities.co.jp/SiliconValley-SanJose/8700/P/GXSCCB236/AcceptE.htm" target="_blank" rel="noopener noreferrer">GXSCC</a> (a MIDI chiptunes-like renderer) are the best team.</strong><br />
I&#8217;m no musician, so I had to use generated stuff. Those two are PERFECT. It still took very long to find songs that sound well together, but that definitly was time well spent.</p>
<p><strong>Cheery music for hard and punishing gameplay.</strong><br />
Gnhihihihi. So much fun while watching streamers.</p>
<h4>Process</h4>
<p><strong>Trust in the process and stay open for new ideas.<br />
</strong>The concept I started out was a lot more boring, but but sometime after implementing the stones I asked myself &#8220;Okay, so those stones fall &#8211; what if gravity affects the snake too?&#8221; &#8211; and then SnakeFormer was born. So even if your initial idea isn&#8217;t perfect, go for it anyway instead of giving up, it might evolve into something great later on!</p>
<p><strong>If your idea comes late, don&#8217;t worry! There&#8217;s still time!<br />
</strong>I don&#8217;t think i started any development 12 hours after the start of the compo &#8211; 8 hours sleep, 4 hours pondering. I think it paid off!</p>
<p><strong>ToDo lists are great to maintain focus.</strong><br />
Always use a ToDo list so you won&#8217;t lose track of your next tasks. <a href="http://workflowy.com" target="_blank" rel="noopener noreferrer">Workyflowy</a> works best for me.</p>
<hr />
<p>Thanks a lot for reading! I hope you enjoyed it as much as I enjoyed writing it.</p>
<p>Maybe I made you a bit curious about my game too? <strong>If you want to, you can play SnakeFormer <a href="http://www.ludumdare.com/compo/ludum-dare-29/?action=preview&amp;uid=2587" target="_blank" rel="noopener noreferrer">here</a></strong> &#8211; and I don&#8217;t think I have to mention how much I like comments and ratings, do I?</p>
<figure style="width: 468px" class="wp-caption aligncenter"><a href="http://www.ludumdare.com/compo/ludum-dare-29/?action=preview&amp;uid=2587"><img loading="lazy" decoding="async" src="https://blog.dragonlab.de/wp-content/uploads/2014/05/leaving-explosion.gif" alt="" width="468" height="190" /></a><figcaption class="wp-caption-text">I&#8217;m done here.</figcaption></figure>
<p>&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonlab.de/2014/05/lessons-learnt-while-making-snakeformer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2380</post-id>	</item>
		<item>
		<title>Burglary: A Ludum Dare Postmortem (Happy New Year Everyone!)</title>
		<link>https://blog.dragonlab.de/2013/01/burglary-a-postmortem/</link>
					<comments>https://blog.dragonlab.de/2013/01/burglary-a-postmortem/#respond</comments>
		
		<dc:creator><![CDATA[Tobias Wehrum]]></dc:creator>
		<pubDate>Tue, 01 Jan 2013 18:53:45 +0000</pubDate>
				<category><![CDATA[Postmortems]]></category>
		<category><![CDATA[Game Jam]]></category>
		<category><![CDATA[Ludum Dare]]></category>
		<category><![CDATA[Post Mortem]]></category>
		<guid isPermaLink="false">http://blog.dragonlab.de/?p=887</guid>

					<description><![CDATA[Happy New Year, folks! I thought it&#8217;s time to write a postmortem for my Ludum Dare 25 entry. For those who haven&#8217;t seen my game yet, you can find it by clicking on this conveniently placed handcrafted icon: &#160; And now, without further ado, lets begin the postmortem! Some things went wrong Yup, I&#8217;ll make &#8230; <a href="https://blog.dragonlab.de/2013/01/burglary-a-postmortem/" class="more-link">Continue reading <span class="screen-reader-text">Burglary: A Ludum Dare Postmortem (Happy New Year Everyone!)</span></a>]]></description>
										<content:encoded><![CDATA[<p>Happy New Year, folks!</p>
<p>I thought it&#8217;s time to write a postmortem for <a href="http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&amp;uid=2587" target="_blank">my Ludum Dare 25 entry</a>. For those who haven&#8217;t seen my game yet, you can find it by clicking on this conveniently placed handcrafted icon:</p>
<p style="text-align: center;"><a href="http://www.kongregate.com/games/TobiasW/burglary-ludum-dare-build"><img loading="lazy" decoding="async" class="aligncenter" src="https://dragonlab.de/projects/ld25/icon-small.png" alt="icon-small" width="125" height="100" /></a></p>
<a href="https://blog.dragonlab.de/2013/01/burglary-a-postmortem/"><img decoding="async" src="https://i.ytimg.com/vi/gFywAy7iwOA/hqdefault.jpg" alt="YouTube Video"></a><br /><br /></p>
<p>&nbsp;</p>
<p>And now, without further ado, lets begin the postmortem!<span id="more-887"></span></p>
<h4>Some things went wrong</h4>
<p>Yup, I&#8217;ll make that the first section. I think the game turned out pretty well all in all, so I&#8217;ll let the best come last!</p>
<p>Not everything went right though. First and foremost: <strong>It took me hours and hours to get motivated.</strong> Motivation is my biggest problem when I work alone. I&#8217;m not too good with game design, and often I don&#8217;t see if a game can be great before it <em>becomes</em> great &#8211; which seldom happens in the first few hours. <strong>There are many moments on the first day where I wanted to give up.</strong> What helped me was to remember that I&#8217;ve felt this way before with other projects and they turned out great! And now I have another one of those.</p>
<p>What didn&#8217;t help either is that <strong>I have no definitive base code library</strong>, I extracted my base code from another project and had to delete stuff that doesn&#8217;t fit. And then post it here. It takes time, and I don&#8217;t feel too good about it as it goes a bit against the Ludum Dare spirit. I&#8217;ll take care of that soon and will have one for the next LD!</p>
<p>Unsurprisingly, the clock wasn&#8217;t kind to me. <strong>Two of the levels were created in 10 minutes before the deadline.</strong> The first level is my &#8220;easy&#8221; test level, and the fourth level is my &#8220;hard&#8221; test level. I didn&#8217;t even have time to test the two in between. The third level works quite well, the second is awful but at least it&#8217;s beatable in about 1 1/2 minutes&#8230;</p>
<p><strong>The music doesn&#8217;t sound stealthy at all.</strong> I am no musician, so this is no surprise. I&#8217;m not sure if I want to put enough energy in this to get better just for the LDs, so I guess I&#8217;ll just have to deal with that. I should have added an option to turn it off though.</p>
<p>&nbsp;</p>
<h4>Some things went right</h4>
<p>Probably the most important thing: <strong>I wrote a to-do list before I started.</strong> This is so incredibly helpful and I hope all of you are doing it. For those who are not, here are the benefits of doing it:</p>
<ul>
<li>You think about the code design along the way. It&#8217;s not as exhausting, restricting and time intensive as doing a full-blown software design and it still gives you a general sense of what you need.</li>
<li>You can always look how much you still have to do and how you&#8217;re doing progress-wise.</li>
<li>Most importantly: <strong>It keeps you from digressing.</strong> At least that&#8217;s what it does for me &#8211; every time I feel like I&#8217;m lacking clear directions, I check my to-do list. Works without fail.</li>
</ul>
<p>&nbsp;</p>
<p><strong>I had a level editor at hand.</strong> Mind you, it&#8217;s nothing fancy &#8211; it couldn&#8217;t be easier actually:</p>
<p style="text-align: center;"><a href="http://dragonlab.de/projects/ld25/level-editor.png" target="_blank"><img loading="lazy" decoding="async" class="aligncenter" src="https://dragonlab.de/projects/ld25/level-editor_thumb.png" alt="level editor_thumb" width="320" height="263" /></a></p>
<p>Yup, it&#8217;s just TextPad &#8211; with an XML file, shown with a slightly modified version of the <a href="http://fontpark.net/de/schriftart/laser-systems-normal/" target="_blank">Laser Systems font</a>. It&#8217;s dead easy to parse. I&#8217;ll surly have something fancier in the future when I&#8217;m more established with games that actually need an editor, but for now its service was perfect.</p>
<p>&nbsp;</p>
<p><strong>It was 10 hours before the deadline. There was no time to be wasted. Yet I was idle browsing the FlashPunk forum without anything specific to look for.</strong> And guess what I found: <a href="http://flashpunk.net/forums/index.php?topic=5145.0" target="_blank">TileLighting [1.0.1]</a>, made 6 days before the Ludum Dare. On an impulse, I spent 2 hours to integrate it. Here is the result:</p>
<p><img decoding="async" class="aligncenter" src="https://dragonlab.de/projects/ld25/comparison-both.png" alt="comparison-both" /></p>
<p>Is there are lesson to be learned from that? I have no idea. All I know is that it made the game SO much better &#8211; it basically gave the game one of its major mechanics.</p>
<p>&nbsp;</p>
<p>Speaking of major mechanics, I was 8 hours before the deadline and I had to decide which single feature on my huge to do list I wanted to implement &#8211; all others were to be discarded. <strong>I decided on lock-picking, and it turned out great.</strong> After the light became such an essential tool in the game, I decided to <strong>link the lock-picking to the lighting level</strong> &#8211; just how it would be the case in real life: The more light you have, the easier it is to do something hard. This feature received the most praise in the comments which makes me pretty happy!</p>
<p>&nbsp;</p>
<p>Another important thing was that <strong>I focused on what I can do best: Gameplay.</strong> I could&#8217;ve spent more time on the graphics, but then it still wouldn&#8217;t look good and be <em>much</em> less fun. I think the abstract graphics are working well for the time being.</p>
<p>&nbsp;</p>
<p>Another good thing was that <strong>I inserted sound effects and music</strong>. They might not sound as well as in other games where the developers actually know what they are doing, but it&#8217;s still a vast improvement to silence! I think I did both in 1 1/2 hours. With 48 hours in total, there is no excuse not to add them.</p>
<p>&nbsp;</p>
<p>Here&#8217;s one more on gameplay:<strong> Enemies don&#8217;t have to be intelligent, they just have to work and be fun.</strong> I thought about implementing pathfinding, but took a far easier route in the end and I fare just as well:</p>
<ul>
<li>Enemies just patrol a straight line.</li>
<li>When they hit a wall, they go left or right.</li>
<li>When they scrape a wall and find an opening, sometimes they enter it.</li>
<li>An enemy that spots a player goes to where he saw him last, then follows the player&#8217;s trail a few seconds:</li>
</ul>
<p><a href="http://dragonlab.de/projects/ld25/trail.png"><img loading="lazy" decoding="async" class="aligncenter" src="https://dragonlab.de/projects/ld25/trail_thumb.png" alt="trail_thumb" width="200" height="150" /></a></p>
<p>And yup, that&#8217;s it. Just going straight for a point, then following a trail the player leaves. It&#8217;s was rather easy to make and is a lot of fun to play against!</p>
<p>&nbsp;</p>
<p>I have no idea how much impact the fact that <strong>I made <a href="http://www.youtube.com/watch?v=gFywAy7iwOA" target="_blank">a gameplay video</a></strong> had, but I think it was a pretty good idea. It can give people a sense of the game if they don&#8217;t have enough time or incentive to play it and it can provide basic instructions for those who don&#8217;t like to read and can&#8217;t figure it out by just playing. It&#8217;s not hard to make, it doesn&#8217;t take much time and you can do it after the deadline: You should definitely make one too!</p>
<p>&nbsp;</p>
<h4>Some things were learned</h4>
<p>A few lessons learned/tips:</p>
<ul>
<li><strong>Don&#8217;t like the theme? Neither did I. Deal with it! You can still make a fun game.</strong> It&#8217;s not like you have to design your whole game around it. Sure, that would be cool &#8211; but having a game that will get 1/5 in the Theme rating is still better than having no game at all because you gave up before you even started.</li>
<li><strong>Keep calm and carry on</strong>: Never give up while there is still time! Maybe the game isn&#8217;t great now and you don&#8217;t have any idea how to improve it, but if you carry on, inspiration will hit.</li>
<li><strong>A to-do list helps to keep you on track.</strong> It also helps with the design. And tells you were you stand progress-wise. Write one before you start developing.</li>
<li><strong>Focus on what you do best.</strong> For me that&#8217;s gameplay, and that&#8217;s why my game isn&#8217;t as pretty to look at as other games, but it&#8217;s a lot of fun.</li>
<li><strong>Add sound effects and music.</strong> Even if you&#8217;re not good at it, I guarantee that your game will feel FAR better with them, and with good tools, it won&#8217;t take you long to make and insert it either. (In case of doubt, just add an option to turn off the music.)</li>
<li><strong>Sleep.</strong> Yeah, 48 hours isn&#8217;t much time, but if you&#8217;re fresh you work better. And who knows what kind of ideas you get when you&#8217;ll get your subconscious some time to rest?</li>
<li><strong><a href="http://musicforprogramming.net" target="_blank">Music for Programming</a> is pretty cool.</strong> Especially when you&#8217;re having a hard time concentrating.</li>
</ul>
<p>&nbsp;</p>
<h4>Some features were discarded</h4>
<p>Are you interested in what I wanted to implement, but ran out of time to do? Here is a quick breakdown:</p>
<div>
<div>
<ul>
<li>Level / Gameplay
<ul>
<li>Lasers</li>
<li>Treasure makes you slower</li>
<li>Treasure: Weight (can only carry certain amount)</li>
<li>Traps
<ul>
<li>Step-on mines</li>
<li>Bleeding</li>
</ul>
</li>
<li>Alarm Level</li>
<li>Timer</li>
</ul>
</li>
<li>Enemies
<ul>
<li>Enemies shoot</li>
</ul>
</li>
<li>Equipment
<ul>
<li>Dynamite</li>
<li>Vanishing / Hidden after time</li>
<li>Hacking</li>
<li>EMP</li>
</ul>
</li>
</ul>
<p>I don&#8217;t want to elaborate on these, just give a quick impression, but it&#8217;s such a pity that some of them are missing! I wanted to have lasers as obstacles, maybe switching on and off, traps to force you to have a higher light level (and maybe a trap disarming mini game), an alarm level slowly escalating difficulty when you&#8217;re seen, enemies shooting at you, and my favourite: Dynamite to break walls, but alerting every guard even if they can&#8217;t see you.</p>
<p>&nbsp;</p>
<p>But well, you can only do so much in 48 hours. All in all, I&#8217;m pretty happy with the result. It&#8217;s a very good feeling I did that all on my own, and I am glad I participated!</p>
<p>&nbsp;</p>
</div>
</div>
<h4>Some thanks are offered</h4>
<p>Thanks to the Ludum Dare organizers and to the great, great community! You guys have made a wonderful thing here and are doing all of this in your free time and it is so much appreciated! I cannot believe how many games were made, and how many kind comments I got on my game &#8211; I&#8217;ve seldom experienced such a friendly community. I had a great time and I will definitely participate again!</p>
<p>&nbsp;</p>
<p>Do you have any questions I didn&#8217;t elaborate on? I&#8217;ll happily answer them in the comments! And you could leave a little comment if you enjoyed reading this or what you rather wanted to read.</p>
<p>Apropos, one last thing: Thanks a lot for reading this postmortem! It hope you enjoyed it as much as I enjoyed writing it. (And it&#8217;s probably pretty obvious, but maybe you want to follow <a href="http://www.ludumdare.com/compo/ludum-dare-25/?action=preview&amp;uid=2587" target="_blank">this other conveniently placed link </a>and leave a comment there or here? Your feedback means a lot to me!)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.dragonlab.de/2013/01/burglary-a-postmortem/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">887</post-id>	</item>
	</channel>
</rss>
