{"author_name":"vigrid","cat":"LD #23","comments":[],"epoch":1335375540,"likes":2,"metadata":{"p_key":"55982","p_author":"vigrid","p_authorkey":"10441","p_urlkey":"91702","p_title":"Bill in BSODia Post Mortem","p_cat":"LD #23","p_event":"LD23","p_time":"1335375540","p_likes":"2","p_comments":"0","p_status":"UPD5","us_key":"10441","us_name":"vigrid","us_username":"vigrid","event_start":"1334880000","event_key":"10","event_name":"LD23"},"text":"<p>tl;dr: <strong>Good:<\/strong>\u00a0I made it. I learned a lot. <strong>Bad:<\/strong> XNA is not for jams, web is easiest to play. <strong>Ugly:<\/strong> I&#8217;ll be back.<\/p>\n <p>This was my first Ludum Dare <em>and<\/em> the first I have ever made and released. I am proud, as I always wanted to make games, and finally found the courage to try and make one for real. I had my cherry popped after over <em>many years<\/em> of dreaming (I&#8217;m not an old fart yet, though). That was <em>totally<\/em> worth it! Even if it&#8217;s crap to you, to me it&#8217;s special:\u00a0<a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-23\/?action=preview&amp;uid=10441\">http:\/\/www.ludumdare.com\/compo\/ludum-dare-23\/?action=preview&amp;uid=10441<\/a>. If you haven&#8217;t rated it &#8211; <strong>rate it<\/strong>, I&#8217;ll be happy to rate you back!<\/p>\n <p><strong>What went right?<\/strong><\/p>\n <ul>\n <li><strong>Preparation:<\/strong>\u00a0I read <a href=\"http:\/\/www.packtpub.com\/game-jam-survival-guide\/book\">this book<\/a>. You should read it too.<\/li>\n <li><strong>Sleep:<\/strong> I slept enough to be rested and productive during both days. The theme was announced at 3AM in my time zone, but I decided to sleep, instead of waiting for the theme. That was a good call. Sleep deprivation is really bad for your brain.<\/li>\n <li><strong>Tools and Technology:<\/strong> I used Visual Studio with ReSharper (VS without R# is crap, it&#8217;s a fact), programmed in C# \/ XNA, used GIMP for graphics, and BFXR for audio. By saying that GIMP went right I mean &#8211; I struggled a bit, but found my way around it. By saying BFXR was a good tool I mean that I&#8217;m deaf as a doorpost and I have managed to get some sound out of it. There is bad side to XNA which I&#8217;ll address below.<\/li>\n <li><strong>Source Control:<\/strong> I used a <a href=\"https:\/\/bitbucket.org\/vigrid\/ld48\">repository for my LD48 code<\/a>. That gave me the comfort of having an off-site backup, and comfort of being able to screw up without risking losing all my work. Also, for free, I just needed to post a link to the repository and I was done with publishing the source code.<\/li>\n <li><strong>Focus and Motivation:<\/strong> Most of the time I was focused on creating the game, and limited distractions to the minimum. On the first day I blogged about my progress a bit, logged on to IRC for a second, tweeted, followed others&#8217;s progress, etc. I had a longer lunch break and ate out. On the second day I was more focused, never got on IRC, ate at home, stayed away from Twitter and from blogging. This helped me to get into the &#8220;zone&#8221; ans stay there.<\/li>\n <li><strong>Time Lapse:<\/strong>\u00a0This deserves to be put in bold and all caps: <strong>RECORD A TIME LAPSE, IT HELPS YOU COMPLETE A GAME<\/strong>. There. Now that I have your attention, let me explain. First of all, you have a &#8220;I&#8217;m being watched&#8221; syndrome and you focus on the game, as you know&#8230; Your private chats, and messing around the internet are going to be recorded. So you don&#8217;t do that. (To be fair, I have to admit that I cheated, as I recorded only a single monitor in my time lapse). But the other, and probably <em>more important<\/em> part is &#8211; when you watch your time lapse, you can see how much time you have wasted on doing stuff that you didn&#8217;t really need. That&#8217;s a great resource, for you, and for others as well. More on this below.<\/li>\n <li><strong>No Livestream:<\/strong>\u00a0Initially I toyed with the idea of live streaming, but decided against it. First of all &#8211; I figured it doesn&#8217;t serve any purpose that a time lapse does. Second of all &#8211; it eats a lot of your resources and your system is a bit less stable. During the coding, last thing you want to see is this:<a href=\"http:\/\/www.ludumdare.com\/compo\/2012\/04\/21\/so-far-so-good-11\/bsod\/\" rel=\"attachment wp-att-122025\"><img class=\"size-medium wp-image-122025 aligncenter\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2012\/04\/bsod-300x168.png\" alt=\"\" width=\"300\" height=\"168\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2012\/04\/bsod-300x168.png 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2012\/04\/bsod-550x309.png 550w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/li>\n <li>Unless you&#8217;re me&#8230;\u00a0<strong>BSOD intro:<\/strong>\u00a0this definitely went well. I think I spent about 3 hours making it right and aligning all the pixels. But it felt great to read all the positive comments about it. Being a crap game <em>designer<\/em>, this intro was my transition into the Tiny World theme, and something that was supposed to grab my player&#8217;s attention. It also allowed me to justify using&#8230;<\/li>\n <li><strong>Isometric graphics:<\/strong> I have declared a <a href=\"http:\/\/xuproto.tumblr.com\/\">voxel engine<\/a>I could use, but that would feel like yet another Minecraft. I wanted to get out of my comfort zone, and wanted to actually create some graphics. People say that the graphics looked &#8220;polished&#8221;. I think any real graphic artist would have done a better job. I&#8217;m satisfied with the graphics, because they&#8217;re consistent&#8230;<a href=\"http:\/\/www.ludumdare.com\/compo\/2012\/04\/21\/enough-for-today-still-24-hours-to-go\/clipboard07-2\/\" rel=\"attachment wp-att-127479\"><img class=\"size-full wp-image-127479 aligncenter\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2012\/04\/Clipboard07.png\" alt=\"\" width=\"150\" height=\"190\" \/><br \/>\n <\/a><\/li>\n <li><strong>&#8230; and Humorous:<\/strong>\u00a0I figured, if I&#8217;m not a game designer (yet) ;), I can&#8217;t make a good game in 48 hours. I&#8217;ll try and at least make some people laugh. So, <a href=\"http:\/\/en.wikipedia.org\/wiki\/File:Bill_Gates_mugshot.png\">William<\/a> and <a href=\"http:\/\/en.wikipedia.org\/wiki\/File:Apple-logo.svg\">Steephen<\/a>should be quite familiar:<a href=\"http:\/\/www.ludumdare.com\/compo\/2012\/04\/21\/meet-steephan-the-antagonis\/clipboard04\/\" rel=\"attachment wp-att-125943\"><img class=\"size-full wp-image-125943 aligncenter\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2012\/04\/Clipboard04.png\" alt=\"\" width=\"256\" height=\"128\" \/><\/a><\/li>\n <li><strong>The Little Things:\u00a0<\/strong>Can&#8217;t draw? Don&#8217;t have an idea for eye candy? <em>Particles are the answer!<\/em>\u00a0Made a 2D game, but it makes sense to add a third dimension? <em>Draw some shadows!<\/em><\/li>\n <li><strong>Little Differences in Mob &#8220;AI&#8221;:<\/strong><a href=\"http:\/\/www.ludumdare.com\/compo\/2012\/04\/25\/bill-in-bsodia-post-mortem\/mobs-2\/\" rel=\"attachment wp-att-140075\"><img class=\"aligncenter size-full wp-image-140075\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2012\/04\/mobs1.png\" alt=\"\" width=\"248\" height=\"72\" \/><\/a><br \/>\n I had 4 different behaviors for the mobs. Too bad level design didn&#8217;t give them a chance to show. More on this below.<\/li>\n <li><strong>And last, but not least: I MADE IT!<\/strong><\/li>\n <\/ul>\n <div><strong>What went wrong?<\/strong><\/div>\n <div>\n <ul>\n <li><strong>Tools and Technology.<\/strong> If you think you&#8217;re having a deja vu, don&#8217;t worry. You&#8217;re not having it. XNA is great for getting results quickly. It is hack-friendly (or rather proper-architecture-unfriendly). It has a content pipeline that just works. <em>It is sh*t when it comes to publishing to non-Windows. <\/em><strong>Cost:<\/strong> lost Linux and Mac players. <strong>Hint:<\/strong>\u00a0learn and use web-friendly technology for the jam.<\/li>\n <li><strong>No Code Reused:<\/strong>\u00a0I have declared my library, but I have managed to reuse only 8 lines of it. I didn&#8217;t have anything for simple 2D \/ isometric graphics. A voxel engine and a working HUD system weren&#8217;t of much use for my game. <strong>Cost:<\/strong> &#8220;Crap. Oh well&#8221;.<\/li>\n <li><strong>Scrapped Content:<\/strong>\u00a0Having no experience in creating games, I wasn&#8217;t really sure what to do. My first tile set was too complicated. I used 6 parts to create a &#8220;vertically scalable&#8221; block, not really having a solid idea how do I want my game to look like. I scrapped this, and created just a single sprite to display a block. That worked perfectly, and allowed me to draw cracked blocks quickly. My audio &#8211; I have created some sounds on the first day, but ended up with re-creating all sounds on day 2, as I forgot to use them, and disliked them. I wanted to make all the pixels\/blocks\u00a0distinguishable during the transition from 2D to isometric. I failed.\u00a0<strong>Total Cost:\u00a0<\/strong>about 4 hours.\u00a0<strong>Hint:\u00a0<\/strong>if you&#8217;re a coder, create sound effects only when you&#8217;re about to plug them into your code, not earlier. <em>If you&#8217;re not an artist, don&#8217;t create content that you&#8217;re don&#8217;t need yet!<\/em><\/li>\n <li><strong>No Music.<\/strong>\u00a0Well. It hurts less because most of the games didn&#8217;t have any music. <strong>Cost:<\/strong> less fulfillment.<\/li>\n <li><strong>Bugs and Glitches:<\/strong> the game crashes when you run off the map. It would take 2 minutes to fix this. There are some minor graphic glitches with tiles overlapping the other sprites. There is a problem with alpha blending not working the way I wanted for the explosions. <strong>Cost:<\/strong> if you haven&#8217;t noticed these, it&#8217;s just my pride.<\/li>\n <li><strong>LEVEL DESIGN:<\/strong>\u00a0It is sh*t with a capital <strong>SH*T<\/strong>. The game feels empty, there are no enemies, and the level is just too big. I haven&#8217;t implemented any spawners, only the main boss spawned a random mob periodically. There were too many weapons and too much ammo. I cut too many shortcuts implementing the map. It ended up as a maze game with elements of shooting and jump-to-cheat feature. I had the level implemented as a PNG file with predefined colors meaning different things. It would take 15 minutes to make the level design a lot better. Another 15 minutes or so to implement mob spawners with some ugly copy-pasta from my Boss class. <strong>Cost:<\/strong><em>a lot of playability and fun was lost<\/em>. I have to confess, I was tempted to cheat and update the level design after the release, but I &lt;3 U all too much to do this to you. I could probably submit my game into the Jam, not into 48 hour compo, and have a lot better level design and more polish.<\/li>\n <\/ul>\n <p><strong>Lessons learned:<\/strong><\/p>\n <ul>\n <li><strong>Know Your Audience:<\/strong> develop for web, if you can, or at least have build scripts for multiple platforms.<\/li>\n <li><strong>Know Your Tools:<\/strong> practice pixel art with GIMP &#8211; pixels are good for most of jam games. Learn what the sliders do in BFXR.<\/li>\n <li><strong>Have a 2D Engine You&#8217;re Familiar With:<\/strong>\u00a0Why? Bad 3D art is&#8230; Well&#8230; Just bad 3D art. Bad 2D art is something that your players can fill with their imaginations.<\/li>\n <li><strong>Focus on The Gameplay before Focusing on The Eye Candy:<\/strong>\u00a0I spent my time making the particles and shadows pretty. I should have made my level more enjoyable instead.<\/li>\n <\/ul>\n <p>Ludum Dare was the best creative rush I&#8217;ve had in a long time! I enjoyed playing a lot of your games already, and I&#8217;m happy when I see that someone has rated my game. Even if it ends up on the very bottom of the list, it will still be unique &#8211; as it&#8217;s on THE list. I am definitely going to participate in the next one, and will look around if there are any other events that I could join. I am also motivated to learn Stencyl, and release a couple of small games to the world.<\/p>\n <p>I&#8217;ve had a great time, and will have even more playing <em>your<\/em> games.<\/p>\n <p><strong><a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-23\/?action=preview&amp;uid=10441\">Play mine! <img src=\"http:\/\/ludumdare.com\/compo\/wp-includes\/images\/smilies\/simple-smile.png\" alt=\":)\" class=\"wp-smiley\" style=\"height: 1em; max-height: 1em;\" \/><\/a><\/strong><\/p>\n <\/div>\n \n <p>Tags: <a href=\"http:\/\/ludumdare.com\/compo\/tag\/postmortem\/\" rel=\"tag\">postmortem<\/a><\/p>","time":"April 25th, 2012 12:39 pm","title":"Bill in BSODia Post Mortem"}