{"author_name":"Sean Hogan (anodyne\/even the ocean)","cat":"LD #23","comments":[],"epoch":1335384720,"likes":1,"metadata":{"p_key":"55975","p_author":"Sean Hogan (anodyne\/even the ocean)","p_authorkey":"508659","p_urlkey":"91695","p_title":"Naos \u2013 LD23, A post-mortem. Crosspost with wordpress","p_cat":"LD #23","p_event":"LD23","p_time":"1335384720","p_likes":"1","p_comments":"0","p_status":"UPD5","us_key":"508659","us_name":"Sean Hogan (anodyne\/even the ocean)","us_username":"Sean Hogan (anodyne\/even the ocean)","event_start":"1334880000","event_key":"10","event_name":"LD23"},"text":"<p><strong>Crosspost with my wordpress &#8211; seagaia.wordpress.com<\/strong><\/p>\n <p>&nbsp;<\/p>\n <p>This past weekend I made a game, \u201cNaos\u201d, for Ludum Dare 23, around the theme \u201cTiny World\u201d. If you haven\u2019t played Naos yet, you should do so now, the blog post will make more sense.<\/p>\n <p>http:\/\/www.ludumdare.com\/compo\/ludum-dare-23\/?action=preview&#038;uid=7853<\/p>\n <p><strong>The sound.<\/strong><\/p>\n <p>Aesthetics were very important for me in this jam game. So I tried to pick carefully what kind of music I wanted to write. The game wasn\u2019t supposed to represent a wholly realistic thing, so the music sort of reflects that in a haunting\/minimal way (the organ-like house loop, the chime-like thing in the forest). The more action-like piece at the cliff helps to show that there is some action going on there (i ended up redoing this one the most\u2026). As for the intro\/ending thing\u2026I couldn\u2019t really think of a fitting melody, so I added some fancy-ass white noise that I thought fit.<\/p>\n <p>I like the chimes piece the most, and would like to expand upon that. I feel like part of it was definitely influenced by listening to the Fez OST (\u00a0<a href=\"http:\/\/disasterpeace.com\/\">http:\/\/disasterpeace.com\/<\/a>\u00a0)way too much over the weekend \u2013 especially with the bitcrushing it uses, which I felt I may have overused in a place or two. Two pieces in particular I found salient were Spirit and Nature.<\/p>\n <p><a href=\"https:\/\/player.soundcloud.com\/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F44156155\">https:\/\/player.soundcloud.com\/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F44156155<\/a>\u00a0<a href=\"http:\/\/soundcloud.com\/seagaia\/seagaia-songs-from-naos-ludum\">Seagaia \u2013 Songs from Naos (Ludum Dare 23)<\/a>\u00a0by\u00a0<a href=\"http:\/\/soundcloud.com\/seagaia\">seagaia<\/a><\/p>\n <p><strong>Graphics style\u2026WHY? MY EYES!<\/strong><\/p>\n <p><a href=\"http:\/\/seagaia.files.wordpress.com\/2012\/04\/sss4-21nr2.png\"><img src=\"http:\/\/seagaia.files.wordpress.com\/2012\/04\/sss4-21nr2.png?w=590&amp;h=443\" alt=\"\" width=\"590\" height=\"443\" \/><\/a><\/p>\n <p>Admittedly the game\u2019s blur was a bit much. I did think it suited the quiet\/haunting\/ethereal-esque nature of the game, though. I wanted to try the scribbly style. Spending more time would have of course improved\u2026well, everything. In a normal setting they wouldn\u2019t be that rushed, I\u2019d use a tablet, etc. Right now, it looks just good enough to not seem completely sloppy. (But is, still, of course, sloppy\u00a0<img src=\"http:\/\/s2.wp.com\/wp-includes\/images\/smilies\/icon_razz.gif?m=1129645325g\" alt=\":P\" \/>\u00a0)<\/p>\n <p>I was playing a lot with BitmapData objects in AS3 (surprisingly for the first time\u2026why? I don\u2019t know\u2026but now I\u2019ve got a level of comfort). They more or less represent what will be drawn to screen. And you can do interesting things like pull out certain color channels, transform them, and superimpose them on the original graphic. Or, you can blur things at different levels. The way I did blurring wasn\u2019t ideal, I surely could come up with a more plug-and-play way of doing it, rather than the somewhat terrible way I have now (at least it\u2019s organized terribly), which was to copy the sprite\u2019s data, and keep some external data that determines how much to blur it \u2013 essentially, I have a copy of the data \u2013 I copy it to the displayed sprite, blur it, draw that to the screen, etc. The same idea goes for the color offsets. I played around until it looked okay.<\/p>\n <p>I also played with a new logo for Seagaia today. It shows up on the intro screen. I like it. It\u2019s a bit of a rip-off from. It was fun to make, at least the top part. There\u2019s this nice thing in GIMP where you can copy and paste every other row, and then you make it a bit transparent, modify it a bit and superimpose it to get this neat shadow-y effect.<\/p>\n <p><strong>oh so how was the coding<\/strong><\/p>\n <p>Straightforward for the most part. Every room was a different state, with its own events and so forth.<\/p>\n <p>Became an ugly mess near the end with the event coding since I haven\u2019t figured out a nice way to do events with flixel yet\u2026want to definitely figure that out. I\u2019ve been asking around a bit, but not much in the way of detailed cutscenes. x_x<\/p>\n <p>Since I already talked about the graphics coding, the only really interesting aspect was the events. How do they work? Well, for one, it helps to draw a tree of your dependencies with state variables. For example, \u201cE_CLIFF_2\u2033 represents the 2nd cliff cutscene, \u201cDRAWING_1_DONE\u201d represents finishing the second drawing. And so every iteration of the game loop, depending on what screen we\u2019re in, we check to see if we need to start an event. Essentially, events just freeze character controls, and wait for some condition (my player\u2019s x being at some point, pressing x to advance text) to occur. Each event has an \u201cevent_pos\u201d variable that is incremented when that condition is true, bringing the event to the next part (text, movement, whatever).<\/p>\n <p>While this method works for a game jam, it doesn\u2019t really scale well (see the other game I\u2019m making) when it comes to moving many sprites that you don\u2019t want to have to hard code into the game\u2026and it\u2019s a bit hard on the coder with the repetitive switch statements (see.<a href=\"https:\/\/github.com\/SeanHogan\/seagaiald23\/blob\/master\/src\/CliffState.as\">https:\/\/github.com\/SeanHogan\/seagaiald23\/blob\/master\/src\/CliffState.as<\/a>\u00a0JEEZUS.)<\/p>\n <p>An interesting bug resulting from this was that I didn\u2019t nest one of the \u201cif you press x increment the event counter\u201d things deep enough, so if a player pressed X before they should have on the forest screen, you would be frozen when you actually pressed X over the right thing. Thanks to my friend Runnan for showing me that issue\u2026gah!<\/p>\n <p>One way this could have been done better is to have only checked for events once upon entering a screen, or have had some single \u201can event happened\u201d variable to be checked, rather than all of these conditions on every iteration of the game loop. While this is okay because performance didn\u2019t really become an issue here, it would be something to think about in some sort of later implementation.<\/p>\n <p><strong>so what the hell was this about?<\/strong><\/p>\n <p>it\u2019s a secret! well, a few people have messaged me on NG about it, surprisingly. My interpretation of it is more or less solidified, but it\u2019s interesting to see other people\u2019s takes on it as well. In lieu of not looking all pretentious, i won\u2019t write about it here. but if you\u2019d like to know, shoot me a message.<\/p>\n <p>that\u2019s all for now.<\/p>\n <p>if you found this interesting, you should follow me on twitter . http:\/\/www.twitter.com\/seagaia2<\/p>\n \n <p>Tags: <a href=\"http:\/\/ludumdare.com\/compo\/tag\/art\/\" rel=\"tag\">art<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/design\/\" rel=\"tag\">design<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/ld23\/\" rel=\"tag\">ld23<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/music\/\" rel=\"tag\">music<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/naos\/\" rel=\"tag\">naos<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/postmortem\/\" rel=\"tag\">postmortem<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/seagaia\/\" rel=\"tag\">seagaia<\/a><\/p>","time":"April 25th, 2012 3:12 pm","title":"Naos \u2013 LD23, A post-mortem. Crosspost with wordpress"}