{"author_name":"Sypanite","cat":"LD #33","comments":[],"epoch":1441646400,"likes":0,"metadata":{"p_key":"13031","p_author":"Sypanite","p_authorkey":"44146","p_urlkey":"48285","p_title":"Dominion: Post-Mortem","p_cat":"LD #33","p_event":"LD33","p_time":"1441646400","p_likes":"0","p_comments":"0","p_status":"UPD5","us_key":"44146","us_name":"Sypanite","us_username":"sypanite","event_start":"1440115200","event_key":"29","event_name":"LD33"},"text":"<p>Howdy!\u00a0This was my third attempt at a Ludum Dare event, and my first submission. Thus, my first post-mortem.<\/p>\n <p><a href=\"http:\/\/ludumdare.com\/compo\/ludum-dare-33\/?action=preview&amp;uid=44146\">Dominion<\/a>\u00a0is the fruit of my labour. It was built in Java using the Slick2D and JBox2D libraries.<\/p>\n <p>Dominion (noun) &#8211;\u00a0<span class=\"oneClick-link oneClick-available\">rule;<\/span> <span class=\"oneClick-link\">control;<\/span> domination.<\/p>\n <p>&nbsp;<\/p>\n <p style=\"text-align: center\"><strong><u>Preparation<\/u><\/strong><\/p>\n <p>I went and bought a load of orange juice, soup, pasta, and a little celebratory chocolate. I already had the tea, so my body was ready.<\/p>\n <p>I spent a short while writing\u00a0a very basic\u00a0generic-sidescroller codebase, which I wasn&#8217;t even sure I would use. I did, after pruning\u00a0a large chunk of it away.<\/p>\n <p>The compo started at 2AM local time (I&#8217;m British you see, pip-pip, etc.), I didn&#8217;t bother waiting up &#8211; I simply got up at 6AM and contemplated\u00a0ideas over breakfast.<\/p>\n <p>&nbsp;<\/p>\n <p style=\"text-align: center\"><span style=\"text-decoration: underline\"><strong>What Went Well<\/strong><\/span><\/p>\n <p><strong>Ideas are nice:<\/strong> Unlike the last few attempts, I had an idea that I actually liked relatively quickly. It was born from an idea I&#8217;d had for another theme that I&#8217;d seen in the slaughter (and then the voting) &#8211;\u00a0<em>&#8220;Death Is Not the End&#8221;<\/em>. You play as a spirit, and are able to possess people. When your body is killed, your spirit is released.<br \/>\n I tried thinking of alternative\u00a0ideas for &#8216;<em>You Are the Monster&#8217;<\/em>\u00a0for a short while, and didn\u2019t come up with anything better. My whole brain went &#8216;hey, what the hell&#8217; \u2013 ghosts are regarded as monsters, in the supernatural sense of the word \u2013 and I began elaborating on the idea, \u2018scribbling\u2019 whatever cool stuff came to mind into a Word doc. In the end, I probably only got about 60% of what I originally envisioned, but I guess that\u2019s how it goes!<br \/>\n To quote the first line in my ideas document \u2013 <em>\u201c<\/em><em>Dominion is a game about controlling the bad guys and doing your dirty work via them.\u201d<br \/>\n <\/em>It didn&#8217;t turn out exactly like this, but the general concept stuck.<\/p>\n <p><strong>Hold your breath: <\/strong>I CREATED\u00a0ART. Holy hell, stop the presses. I managed to create art that isn\u2019t <em>good<\/em>, but isn\u2019t necessarily eye-wateringly bad, as I expected it to be. I used a lot of noise in my art \u2013 I like how it adds a kind of discount texture. It also provided a theme to the artwork, so I stuck with it for consistency. Without the noise, everything is solid colours and would look rather bland. Most of it is made with basic geometries mangled and\/or smashed together.<br \/>\n I went for a dark colour scheme \u2013 given that you play as a ghost, it seemed appropriate. The game takes place at night. A mountain range can be seen in the background. It&#8217;s a little nonsensical given that what little story there is puts you in a \u2018town\u2019&#8230; nothing looks even remotely town-y, but let\u2019s roll with it.<\/p>\n <p><strong>Alone: <\/strong>I was left alone all weekend. No distractions, no nonsense \u2013 just me and my PC, &#8216;Susan&#8217;. Bliss.<\/p>\n <p><strong>Basically everything not mentioned below:\u00a0<\/strong>For the most part, development went pretty smoothly.<\/p>\n <p>&nbsp;<\/p>\n <p style=\"text-align: center\"><span style=\"text-decoration: underline\"><strong>What Went Wrong<\/strong><\/span><\/p>\n <p><strong>Newton\u2019s downfall: <\/strong>The physics. Oh man, the physics. I wasted a load of time trying to get the movement\/jumping mechanics working well; the standard I managed to attain in the end is far from great \u2013 jumping\/falling is way too slow, and makes the platforming aspect no fun at all. A lot\u00a0of the reviews on my entry have mentioned this \u2013 believe me guys, I know!\u00a0It\u2019s like platforming under water.<br \/>\n As mentioned previously, I used JBox2D \u2013 this is a Java port of the Box2D physics library (C++). I had very little experience with it, and some Googling told me that it was not a good idea to use it for a platformer &#8211; I kept with it to ensure I&#8217;d finish on time. I like JBox2D, I\u2019ll try and get a better configuration going &#8211; if that fails, I\u2019ll explore other options or write my own system.<\/p>\n <p><strong>Level \u2018design\u2019: <\/strong>There are three levels in <em>Dominion<\/em> \u2013 the third and final one was rather rushed, I created it about an hour before submission. That sounds like a long time, but I still had numerous bugs to patch, audio to add, and a menu screen to create \u2013 the latter never even made it. Submission hour was 2AM local time, so here I was creating a level at around 1AM having slept about eight hours over the entire weekend.\u00a0The level is\u00a0harder than I intended it to be \u2013 you need to be very conservative of your ectoplasm. If you are, you can complete it with around a minute to spare \u2013 if not, you\u2019ll barely make it or you\u2019ll run out of time. If you are not careful and run out of ectoplasm, you will have to wait for it to regenerate which is no fun at all.<br \/>\n The second level\u00a0is probably my favourite. It\u2019s the one that looks most like some thought went into it.<br \/>\n <em>Fun fact: <\/em>the names of each level are based on cemeteries near my home town.<\/p>\n <p><b>World<\/b>:\u00a0In the corners of tiles there are gaps in the gravel-y stuff. It&#8217;s not a big\u00a0deal, but the game would have looked much nicer if I had gotten around to fixing that.<\/p>\n <p><strong>Oops: <\/strong>Morning II, I wasted\u00a0an hour or so\u00a0trying to squash a bug in NPC movement where the NPC would not register a clipped tile in front of it and would continue walking into a wall \/ object indefinitely. Due to a monumental balls-up, I was accidentally adding its move direction to its position <em>twice<\/em> during a loop, so it was checking the tile in front of the tile in front of it. <em>*sigh*<\/em><br \/>\n See, this is why we can\u2019t have nice things.<\/p>\n <p><strong>Bugs: <\/strong>Just\u00a0after submission, I noticed a horrific game-breaking bug that I had managed to completely miss while play-testing in my sleep-deprived state, as well as a several other more minor (but still pretty nasty) ones. Embarrassingly enough, <em>the game did not reset properly. <\/em>Seriously. Once you died or changed level, the last level would continue happening \u2013 countdown, NPCs, and all. Duh. You would inevitably lose.<br \/>\n The next day, I patched that along with the other nasty ones and an oversight or two, and updated it. These were very minor changes, as permitted by the compo rules. They are included in a changelog in the download.<\/p>\n <p><strong>Missed the cut: <\/strong>As mentioned previously, there were a lot of things that didn\u2019t make it into the game. Most notably:<\/p>\n <ul>\n <li><strong>NPCs being able to fight off the possession:\u00a0<\/strong>The unused \u2018durability\u2019 personality category was devised for\u00a0this use\u00a0\u2013 the more \u2018durable\u2019 the person, the more they can endure, the harder they are to possess. This would have been cool.<\/li>\n <li><strong>Ability to shoot:<\/strong> I wanted the player able to shoot while possessing a criminal (notice that they have guns). There are no projectiles in the game, but your host is technically \u2018shot\u2019 if you are found out to be possessing someone. Perhaps it would have made the game too easy.<\/li>\n <li><strong>Cosmetics:\u00a0<\/strong>Some sexy particle effects would have been nice, as would some sort of transition from spirit to body and vice versa.<\/li>\n <\/ul>\n <p>&nbsp;<\/p>\n <p style=\"text-align: center\"><strong><u>Conclusion<\/u><\/strong><\/p>\n <p><img class=\"aligncenter\" src=\"http:\/\/3.bp.blogspot.com\/-DOIHQ1As5qY\/Ubgu4I73wxI\/AAAAAAAAMQU\/1Hxp5HLPb5U\/s1600\/babe.gif\" alt=\"That'll do!\" width=\"245\" height=\"218\" \/><\/p>\n <p>&nbsp;<\/p>\n <p style=\"text-align: center\"><strong><u>What Next?<\/u><\/strong><\/p>\n <p>On with my current personal project &#8211; &#8220;<em>The Temple of Light<\/em>&#8221; (hopefully I can douse the flames as it crashes and burns) &#8211;\u00a0and back to university for the\u00a0second year on my Computer Science degree. I&#8217;d love to participate in\u00a0MiniLD 62 if I have time!<\/p>\n <p>I had fun participating and genuinely look forward to LD34 &#8211; hopefully I won&#8217;t be too busy to join in.<\/p>\n <p>&#8211;<\/p>\n <p>This was not very techy \/ in-depth. I&#8217;ve seen some really interesting post-mortems from other developers detailing exactly how they went about working their magic, and this is not that &#8211; mainly because there&#8217;s nothing innovative or particularly complex in\u00a0the game. However, if you&#8217;re curious about how I went about doing something, do feel free to take a look at the <a href=\"https:\/\/www.dropbox.com\/s\/8wyt7nbbuzaajsl\/Dominion%20Source.zip?dl=0\">source code<\/a>, leave a comment, or get in touch with\u00a0me. Thanks for reading!<\/p>","time":"September 7th, 2015 12:20 pm","title":"Dominion: Post-Mortem"}