{"assets":[{"original":"http:\/\/www.ludumdare.com\/compo\/wp-content\/compo2\/342546\/34877-shot3.png","local":"\/data\/posts\/2014\/05\/82946888e71048534e7c0dc1985d33a3.png"}],"author_link":"author\/totalnerd152\/","author_name":"PixelFeet","cat":"LD #29","categories":["LD #29"],"comments":[],"epoch":1399066020,"event":"LD29","likes":4,"metadata":{"p_key":"81448","p_author":"PixelFeet","p_authorkey":"0","p_urlkey":"290565","p_title":"\u201cWinter is Coming . . .\u201d Postmortem","p_cat":"LD #29","p_event":"LD29","p_time":"1399066020","p_likes":"4","p_comments":"0","p_status":"WAYBACK","us_key":null,"us_name":null,"us_username":null,"event_start":"1398384000","event_key":"22","event_name":"LD29"},"source_url":"2014\/05\/02\/winter-is-coming-postmortem\/","text":"<p>Alrighty, then. Time for my first postmortem. This was PixelFeet\u2019s first Ludum Dare, and we entered the game \u201cWinter is Coming . . .\u201d into the jam (and for the sake of SHAMELESS SELF-PROMOTION, you can play it <a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-29\/?action=preview&amp;uid=34877\">here<\/a>). We are a group of high school seniors who, more than anything, wanted to participate in something that would force us to <i>make<\/i> a game instead of just <i>talking <\/i>about it. We went into this almost completely blind: I barely knew how to write code in Haxe, our \u201cproducer\u201d went on a road trip, our graphics design guy joined the team because he was the only person we could find that didn\u2019t not want to make sprite art, and our musician wasn\u2019t even on the team until Sunday when we realized, \u201cCrap! We don\u2019t have music!\u201d Fun, right? Here\u2019s our story.<\/p>\n<p>\u00a0<\/p>\n<div class=\"wp-caption aligncenter\" style=\"width: 487px\"><img alt=\"\" height=\"641\" src=\"\/data\/posts\/2014\/05\/82946888e71048534e7c0dc1985d33a3.png\" width=\"477\"\/><p class=\"wp-caption-text\">We started out as little seedlings, or some such figurative nonsense. View more images <a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-29\/?action=preview&amp;uid=34877\">here<\/a>.<\/p><\/div>\n<p>\u00a0<\/p>\n<p><span id=\"more-359721\"><\/span><\/p>\n<p>\u00a0<\/p>\n<p align=\"CENTER\"><b>It\u2019s a Good Thing We Didn\u2019t Plan on Pepsi Consultant.<\/b><\/p>\n<p>\u00a0<\/p>\n<p>Because we had such a short period of time to complete the game, Zack and I wanted to come up with an idea for our game as early as possible. That meant looking at the final round of voting and asking, \u201cHow can we use each topic to make a game?\u201d The first idea we came up with is too good to share; we\u2019re going to make it some day, but it didn\u2019t end up fitting the chosen topic. Then we asked, \u201cWhat can we do if \u2018Break the Rules\u2019 wins?\u201d We come up with \u201cBreaking Rulers,\u201d a spoof of Breaking Bad made by people who have never watched the show. That didn\u2019t really seem to work either. So when we saw what the topic was, we thought, \u201cLet\u2019s do a plant simulator-strategy-puzzle-y thing.\u201d And that\u2019s what happened.<\/p>\n<p>\u00a0<\/p>\n<p align=\"CENTER\"><b>The Universe Didn\u2019t Want Us to Make a Game. Seriously.<\/b><\/p>\n<p align=\"LEFT\">\n<p align=\"LEFT\"><em>Friday<\/em>: Zack stays up until 1:00 PM listening to me wrap my head around two-dimensional arrays in Haxe. Then I go to bed.<\/p>\n<p align=\"LEFT\">\n<p align=\"LEFT\"><em>Saturday<\/em>: Most of the day goes swimmingly. I write code that would make my professor cry, and not because it\u2019s so beautiful. I make it possible to place tiles of wood, currently represented by a brown square, anywhere. Then I add the seed. And restrict placement of wood blocks. I do the same with leaves. Later on, Zack calls me so we can discuss the game mechanics and where we\u2019re at. I add resource counters to the game. Then I try and change the text color. It doesn\u2019t work, and I proceed to unintentionally break my installation of HaxeFlixel, and in attempting to fix that I break OpenFL and Lime. We almost give up, but we fix it. I proceed to change the text color. This time I succeed. After adding all of the counters, I go to bed.<\/p>\n<p align=\"LEFT\">\n<p align=\"LEFT\"><em>Sunday<\/em>: Now that the base game is essentially finished, it\u2019s time to add things like water and nutrients and resource generation and resource costs and graphics and sound and a title screen and a win condition and at the very least the facsimile of balance (which you can read more about farther down). So many things yet to do. However, I get through most of them without a hitch: water and nutrients work fine with the root system, I implement Matthew\u2019s graphics, and I add a timer. This is where \u201cwinter is coming\u201d originates. The big problem here, though, is that I don\u2019t have the foggiest idea how to procedurally generate resources, but I \u201cget around\u201d it (again, more on that later). The rest of the game goes smoothly, and we bring in Jonathan, our music guy. He also ends up being our primary tester, and is the reason the score counter presently exists as it does. Eventually, the game is \u201cfinished,\u201d and after some more testing we arrive at what would become the version of the game we submitted. That\u2019s a problem. Zack is supposed to take a final look at it and see if he can work out some of the balance issues. That\u2019s the plan, anyway. Then his car doesn\u2019t start. He arrives home a couple of hours late. No big deal. But his Internet is down. We have school the next day. Crap. I submit the game and hope for the best.<\/p>\n<p align=\"CENTER\">\n<p align=\"CENTER\"><b>We Did This Wrong.<\/b><\/p>\n<p align=\"CENTER\">\n<ul>\n<li>The code is so messy. I know. If you looked at it your brain might melt. I apologize for that in advance.<\/li>\n<li>The game is pretty slow to start. A number of players have suggested a speed up time button. Personally, I\u2019d rather balance the game in such a way that players won\u2019t want to have that functionality. Much of this is down to our method of procedural generation, but there are plenty more reasons on the side, I\u2019m sure.<\/li>\n<li>We don\u2019t know how to procedurally generate resources. Instead, I used the FlxCaveGenerator add-on to spawn water. Then I do the same with nutrients\u2014except I don\u2019t place them if they\u2019re over water. This is far too inconsistent. In one game, players may have a balanced arrangement of resources, while in the next there are only about eight blocks of nutrients.<\/li>\n<li>Resources don\u2019t regenerate. This was a major oversight that we didn\u2019t really pick up on until after people suggested it.<\/li>\n<li>There\u2019s no reset button. It seems trivial, but with such inconsistent procedural generation, it\u2019s actually a necessity.<\/li>\n<li>There\u2019s no leaderboards. But there just wasn\u2019t time. Furthermore, our goal is not just to let players post scores, but rather to post their entire trees.<\/li>\n<\/ul>\n<p align=\"CENTER\">\n<p align=\"CENTER\"><b>But Hey, I Guess These Things Went Okay.<\/b><\/p>\n<p align=\"LEFT\">\n<ul>\n<li>We had a pretty great idea. It\u2019s just marred by inconsistency and bogged down by imbalance.<\/li>\n<li>We actually made a game. It\u2019s about time.<\/li>\n<li>We could find at least two positives. That\u2019s a positive, right?<\/li>\n<\/ul>\n<p align=\"CENTER\">\n<p align=\"CENTER\"><b>Onward!<\/b><\/p>\n<p align=\"CENTER\">\n<p align=\"JUSTIFY\">So where to now? We\u2019re going to expand \u201cTrees.\u201d Yes, that\u2019s what we\u2019re calling it now. But it\u2019ll remain \u201cWinter is Coming . . .\u201d for the duration of the competition. We\u2019ve got so many great ideas, so much more time, a wonderful community, and a lot of motivation. Sounds like fun.<\/p>\n<\/p><\/p><\/p><\/p><\/p><\/p><\/p><\/p><\/p>","time":"May 2nd, 2014 9:27 pm","title":"\u201cWinter is Coming . . .\u201d Postmortem","title_was_empty":false}