{"id":1455,"date":"2014-12-09T13:48:59","date_gmt":"2014-12-09T13:48:59","guid":{"rendered":"http:\/\/astoryisnotatree.net\/?p=1455"},"modified":"2020-04-29T20:49:56","modified_gmt":"2020-04-29T20:49:56","slug":"airship-post-mortem","status":"publish","type":"post","link":"https:\/\/astoryisnotatree.net\/?p=1455","title":{"rendered":"Games from Nothing: Post-Mortem \u2014 Airship"},"content":{"rendered":"<p class=\"p1\">Coding this game was quite a journey. At points in time, I spent 1 to 2 hours dissecting if() statements to fix bugs or things that I didn&#8217;t like about the game. The collision was rudimentary and barely worked at the start, and after I did some thinking and testing, I was able to make it work and be enjoyable for the player. I spent a while making different soundtracks for the game before I was halfway done coding because I wanted to hear what the game would sound like to help me develop it. In total, I only ended up using about 3 sounds, but this game really centers in on minimalism, so I&#8217;m satisfied with the sounds, because they do just enough rather than too much. The first picture in this post shows a rough outline of how ridiculous coding this game was\/how frustrated I was in trying to overcome some obstacles (that I managed to).<\/p>\n<p class=\"p1\"><a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2014\/12\/notes-to-airship.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-1462\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2014\/12\/notes-to-airship-300x176.png\" alt=\"notes to airship\" width=\"637\" height=\"374\" srcset=\"https:\/\/astoryisnotatree.net\/wp-content\/uploads\/2014\/12\/notes-to-airship-300x176.png 300w, https:\/\/astoryisnotatree.net\/wp-content\/uploads\/2014\/12\/notes-to-airship-624x367.png 624w, https:\/\/astoryisnotatree.net\/wp-content\/uploads\/2014\/12\/notes-to-airship.png 1009w\" sizes=\"auto, (max-width: 637px) 100vw, 637px\" \/><\/a><\/p>\n<p class=\"p1\">I started with the basic seeker code, and messed with it probably around 40 times until I got to where I am now. It was originally a bunch of vehicles that were attracted to or repulsed by the mouse coordinates, depending on if the mouse was pressed or not. I played with color and the speed and movement of the vehicles, but it didn&#8217;t seem to be enough.<\/p>\n<p class=\"p1\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-1457\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2014\/12\/air4-187x300.png\" alt=\"air4\" width=\"500\" height=\"803\" \/>\u00a0 \u00a0 \u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-1461\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2014\/12\/air1-187x300.png\" alt=\"air1\" width=\"500\" height=\"802\" \/><\/p>\n<p class=\"p1\">I got rid of all of the vehicles, except for one, and I changed the collision from the mouse coordinates to the coordinates of the one vehicle (triangle). Then, I added a floating rectangle, and played with various movement options, and outcomes from collision. My initial idea was to have a few rectangles floating around, and once the vehicle collided with one of them, it would follow behind, and this would apply to each rectangle, one behind the other.<\/p>\n<p class=\"p1\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-1458\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2014\/12\/air3-187x300.png\" alt=\"air3\" width=\"500\" height=\"802\" \/>\u00a0 \u00a0 \u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-1460\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2014\/12\/air2-187x300.png\" alt=\"air2\" width=\"500\" height=\"802\" \/><\/p>\n<p class=\"p1\">Then, I thought about making the rectangles surround the vehicle on each side, and I had serious trouble doing this. Probably about 2 hours of trouble. It finally clicked in my head, and I assigned a boolean to each rectangle collision check, so the outputs i was making would last past the duration of the collision. I finally did some tweaking and made the rectangles shoot away from the vehicle after all of them are collected and the mouse is released. A short time before this, I implemented some basic wrapping, and then fixed it after I made movement changes in the vehicle and rectangles.<\/p>\n<p class=\"p1\">Parts of coding this game really stumped me, but through double-checking, testing, and tweaking, I was able to rid it of bugs, and be proud of the game in its final stage.<\/p>\n<p class=\"p1\"><a href=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2014\/12\/air5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-1456\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2014\/12\/air5-187x300.png\" alt=\"air5\" width=\"500\" height=\"803\" \/><\/a> \u00a0\u00a0\u00a0\u00a0\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-1459\" src=\"http:\/\/astoryisnotatree.net\/wp-content\/uploads\/2014\/12\/air6-187x300.png\" alt=\"air6\" width=\"499\" height=\"801\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Coding this game was quite a journey. At points in time, I spent 1 to 2 hours dissecting if() statements to fix bugs or things that I didn&#8217;t like about the game. The collision was rudimentary and barely worked at&#8230;<\/p>\n","protected":false},"author":30,"featured_media":1462,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[39,103,50,53],"class_list":["post-1455","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-games-from-nothing","tag-conference-project","tag-conference-post-3","tag-conference","tag-post-mortem","wpcat-5-id"],"_links":{"self":[{"href":"https:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/posts\/1455","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/astoryisnotatree.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1455"}],"version-history":[{"count":9,"href":"https:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/posts\/1455\/revisions"}],"predecessor-version":[{"id":13835,"href":"https:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/posts\/1455\/revisions\/13835"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/astoryisnotatree.net\/index.php?rest_route=\/wp\/v2\/media\/1462"}],"wp:attachment":[{"href":"https:\/\/astoryisnotatree.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1455"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/astoryisnotatree.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1455"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/astoryisnotatree.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1455"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}