{"author_name":"asiekierka","cat":"LD #21","comments":[{"author_name":"","time":"August 23, 2011 1:22 am","epoch":1314080520,"text":"I love reading posts like these.","spam":"N"}],"epoch":1314078000,"likes":0,"metadata":{"p_key":"63716","p_author":"asiekierka","p_authorkey":"507656","p_urlkey":"99501","p_title":"The Melancholy of Right 31, part 2","p_cat":"LD #21","p_event":"LD21","p_time":"1314078000","p_likes":"0","p_comments":"1","p_status":"UPD5","us_key":"507656","us_name":"asiekierka","us_username":"asiekierka","event_start":"1313712000","event_key":"7","event_name":"LD21"},"text":"<p>I guess I could write up how I <strong>coded<\/strong>\u00a0the thing as well. (The thing being my game, also time is shown from 00:00 being the beginning of Ludum Dare. Add 4 hours to get the time in my timezone)<\/p>\n <p><strong><span style=\"text-decoration: underline\">Beginnings<\/span><\/strong>:<\/p>\n <p>A day or two before the Ludum Dare I realized i&#8217;m going to my grandmas, which meant <strong>no PC<\/strong>. I was, therefore, stuck with an Asus EEE Pad Transformer &#8211; a tablet running a Tegra 2 clocked at 1.2GHz\/core. It also had two cores.<\/p>\n <p>Thankfully, someone fixed the build of Ubuntu available for it to support the touchpad, making work on it a few times easier. Granted, the driver was quite experimental, but I used it anyway.<\/p>\n <p>After fixing the WiFi issue, I was ready to go.<\/p>\n <p><strong>06:00: <span style=\"text-decoration: underline\">Let&#8217;s go!<\/span><\/strong><\/p>\n <p>I downloaded the JDK, then XChat and Pidgin. Configured everything so I could easily and effortlessly work. I also set up scrot to take screenshots every minute. On this part, no problems appeared.<\/p>\n <p><strong>06:50: <span style=\"text-decoration: underline\">Coding!<\/span><\/strong><\/p>\n <p>First, I wrote the basic canvas code. Next I added scaling for it (I decided lo-res pixelart is easy enough to draw for me.). It scaled from <em>160&#215;128\u00a0<\/em> (the resolution of the game) to <em>640&#215;512\u00a0<\/em>\u00a0(sorry, VGA screen owners, you&#8217;re out of luck).<\/p>\n <p>Next, I drew the tiles. I decided they&#8217;re going to be 16&#215;16, creating a tile resolution of&#8230; <em>10&#215;8<\/em>. Yes. That made everything easier.<\/p>\n <p>Then, I created the code to load tiles.png and render it from an array. Good.<\/p>\n <p><strong>07:30<\/strong><\/p>\n <p>After a while, I added code to make it scrollable. After a few bugfixes, it worked. By <strong>08:40<\/strong>\u00a0into the LD (I had breaks, mind you) I drew and rendered the player properly. Finally, I coded a simple mapgen (whose general concept stayed up into the final).<\/p>\n <p><strong>08:45<\/strong><\/p>\n <p>Until <strong>09:30<\/strong>, i was preparing mencoder\/ffmpeg for timelapse rendering. Then I took a break. Up to <strong>10:20<\/strong>\u00a0i was busy IRCing and IMing, as well as replying to people on \/compo. Then, another break.<\/p>\n <p><strong>11:00<\/strong><\/p>\n <p>At this moment, I started adding physics for the player. At <strong>11:45<\/strong>\u00a0I was improving the mapgen code. \u00a0Then, mostly community activity from <strong>11:50 <\/strong>to <strong>12:30.<\/strong>\u00a0Finally, <strong>another<\/strong> break.<\/p>\n <p><strong>12:50<\/strong><\/p>\n <p>I tried setting up the microphone so I could live stream. That failed (stupid buggy drivers). At <strong>13:00<\/strong>\u00a0I was designing the enemy &#8220;bug&#8221; graphic. By <strong>13:40<\/strong>\u00a0they kind of worked. Major IM\/IRC activity until <strong>14:20<\/strong>, then a break.<\/p>\n <p>From there, I forgot to timelapse, but IIRC i was improving enemy\/player physics code.<\/p>\n <p><strong>16:20<\/strong><\/p>\n <p>Code\/IRC intertwinned until <strong>17:00<\/strong>. \u00a0Then I released the first beta (of mostly working singleplayer). I showed it off to people, finding bugs, chatting, procrastinating and fixing a bug until <strong>17:45<\/strong>.<\/p>\n <h1><strong>SLEEP<\/strong><\/h1>\n <p>(remember, it was 21:45 in my timezone!)<\/p>\n <p><strong>27:07<\/strong><\/p>\n <p>I&#8217;m up and running again! Time spent chatting with GreaseMonkey and coding until <strong>27:25<\/strong>, after which I went fully into coding mode. At <strong>27:45<\/strong>\u00a0i released another beta on IRC, because why not? I spent time discussing it with people until <strong>27:53<\/strong>. Then,\u00a0<span style=\"text-decoration: underline\">EARLY MORNING LUCKY STAR WAKEUP SCHEME<\/span><\/p>\n <p><strong>28:15<\/strong><\/p>\n <p>Until <strong>28:35 <\/strong>I was bugfixing. Then, I designed the &#8220;story&#8221; title board until <strong>28:50<\/strong>, at which point it was in the game. Then I started work on wraparound and called off singleplayer as complete. Mostly chatting until <strong>29:30, <\/strong>after which I rendered the first part of my timelapse (on an ARM tablet, in &#8220;high&#8221; quality!) and uploaded it to YouTube.<\/p>\n <p><strong>30:30<\/strong><\/p>\n <p>Hardcore mutliplayer Googling\/coding with minor IRC. (I had some knowledge on how to code multiplayer right from a sandbox game, <strong>64pixels<\/strong>, that I made in 2010-2011.) At <strong>31:00<\/strong>\u00a0I took another break.<\/p>\n <p><strong>33:00<\/strong><\/p>\n <p>By then I had multiplayer about 50% done. But enemies were a <strong>LAGFEST<\/strong>. Too many packets, even for loopback :&lt; Tried fixing until <strong>33:20<\/strong>, then IRC. Fixing\/IRCing until <strong>34:15<\/strong>, then break.<\/p>\n <p><strong>34:30<\/strong><\/p>\n <p>Screw enemies, I was trying to get block throwing work right. Of course, I couldn&#8217;t, because ENEMIES ATE ALL THE BANDWIDTH (and CPU). Then, IRC from <strong>35:00<\/strong>&#8211;<strong>35:10<\/strong>\u00a0and I was forced to go outside for 3 hours.<\/p>\n <p><strong>38:10<\/strong><\/p>\n <p><strong>THE PERFECT IDEA<\/strong>\u00a0&#8211; I made the client do enemy movement prediction! Sure, I had to throw out random movement but <strong>IT WORKED!<\/strong>\u00a0Multiplayer was closer to being completed than ever. Hardcore fixing until <strong>39:10<\/strong>.<\/p>\n <p><strong>40:00<\/strong><\/p>\n <p>Hardcore fixing\/online testing until <strong>42:00<\/strong>\u00a0ON MY OWN, FAST COMPUTER. Yay!<\/p>\n <p><strong>42:30<\/strong><\/p>\n <p>I realize I made a fatal bug after release. Can&#8217;t sleep.<\/p>\n <p><strong>48:30<\/strong><\/p>\n <p>I wake up, realize I can&#8217;t fix the bug anymore. Major depression until <strong>49:50<\/strong>, including crying and loss of sanity.<\/p>\n <p><strong>50:10<\/strong><\/p>\n <p>PoV saves the day, telling me crash bugs are fixable. Attempting to fix a few (with lots of breaks) until&#8230;<\/p>\n <p><strong>57:30<\/strong><\/p>\n <p>I fixed all but one, released a &#8220;fixed version&#8221;, then stopped it.<\/p>\n <p>&nbsp;<\/p>\n <p>&nbsp;<\/p>","time":"August 23rd, 2011 12:40 am","title":"The Melancholy of Right 31, part 2"}