{"assets":[{"original":"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/SS3-550x550.png","local":"\/data\/posts\/2014\/05\/d15f58a241f3a785d34e3ccc314a75a1.png"},{"original":"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/11.jpg","local":"\/data\/posts\/2014\/05\/5ee57e5fda517c072b9f1ae605ce6bb6.jpg"},{"original":"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/palette-start1.png","local":"\/data\/posts\/2014\/05\/419124ebcd2c6f8a8cff546c1ee2f92b.png"}],"author_link":"author\/managore\/","author_name":"managore","cat":"LD #29","categories":["LD #29"],"comments":[],"epoch":1399170540,"event":"LD29","likes":21,"metadata":{"p_key":"80535","p_author":"managore","p_authorkey":"0","p_urlkey":"289652","p_title":"The Sun And Moon, a Post Mortem","p_cat":"LD #29","p_event":"LD29","p_time":"1399170540","p_likes":"21","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\/04\/the-sun-and-moon-post-mortem\/","text":"<h2 style=\"text-align: center\"><a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-29\/?action=preview&amp;uid=3479\" target=\"_blank\" title=\"The Sun And Moon\">Click Here To Play\u00a0The Sun And Moon<\/a><\/h2>\n<p>Instead of a standard\u00a0post mortem\u00a0I\u2019ll just talk about the development process I went through when making <em>The Sun And Moon<\/em>.<\/p>\n<p>If you haven\u2019t played it already, I would love for you to <a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-29\/?action=preview&amp;uid=3479\" target=\"_blank\" title=\"The Sun And Moon\">give my game a go<\/a> before reading on! A lot of what I talk about won\u2019t make much sense otherwise, and I think it\u2019s really fun to discover the mechanics of the game for yourself.<\/p>\n<div class=\"wp-caption alignnone\" id=\"attachment_360289\" style=\"width: 560px\"><a href=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/SS3.png\"><img alt=\"One of the later levels in The Sun And Moon\" class=\"wp-image-360289 size-large\" height=\"550\" sizes=\"(max-width: 550px) 100vw, 550px\" src=\"\/data\/posts\/2014\/05\/d15f58a241f3a785d34e3ccc314a75a1.png\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/SS3-150x150.png 150w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/SS3-300x300.png 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/SS3-550x550.png 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/SS3.png 720w\" width=\"550\"\/><\/a><p class=\"wp-caption-text\">One of the later levels in <em>The Sun And Moon<\/em><\/p><\/div>\n<p><span id=\"more-360271\"><\/span><\/p>\n<h2>The Idea<\/h2>\n<p>Long before the weekend I knew I would be out for the entirety of the first day. On the downside this meant I had a lot less time to work on the game than I would like. On the upside, I would have plenty of time to think of a good interpretation of the theme.<\/p>\n<p>By Saturday night I had come up with two ideas.<\/p>\n<ul>\n<li>My first idea was to make either a top down game or a platformer where you could use the mouse to flip tiles and expose what was beneath the surface. By flipping tiles you could create paths, remove spikes, block enemies, and so on.<\/li>\n<li>My second idea involved controlling two characters at once. One would be above water, and the other would be underwater, and there would be multiple ways for the two characters to interact with each other. For example, I thought about the underwater character being able to surface and act as a temporary platform for the above water character.<\/li>\n<\/ul>\n<p>I felt that either of these ideas <em>might<\/em> have had the potential to turn into a good game but that neither was really quite there yet.<\/p>\n<p>So I kept thinking.<\/p>\n<p>In particular, I thought of how the theme <em>Beneath the Surface<\/em> could apply directly to the mechanics of a platformer.<\/p>\n<p>And then I came up with the concept which would eventually become <em>The Sun And Moon<\/em>. Very briefly\u00a0my idea was to have the player control a bubble moving through air and water, but I quickly dropped this in favour of simply moving through air and ground.<\/p>\n<div class=\"wp-caption alignnone\" id=\"attachment_360274\" style=\"width: 610px\"><img alt=\"My Original Game Idea\" class=\"wp-image-360274 size-full\" height=\"164\" sizes=\"(max-width: 600px) 100vw, 600px\" src=\"\/data\/posts\/2014\/05\/5ee57e5fda517c072b9f1ae605ce6bb6.jpg\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/11-300x82.jpg 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/11-550x150.jpg 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/11.jpg 600w\" width=\"600\"\/><p class=\"wp-caption-text\">My original concept<\/p><\/div>\n<h2>The Features<\/h2>\n<p>I knew from this point that my game was going to be about using and building momentum to move through the level. I was starting to get ideas for puzzles, but wanted to lock down what elements the game would have before I started designing these particular puzzles.<\/p>\n<p>Firstly, I considered having both passable ground and impassable ground, as this would give me the tools needed to make lots of interesting puzzles. I felt that, without impassable walls, the player would be able to find easy ways to move through each level which would limit the different ways I could challenge them. After some thought I dropped the idea of impassable ground as I felt it would make the levels feel too closed in; I didn\u2019t want to build a wall around the player and force them down a single route. I wanted my game to feel open and free. On the other hand, I couldn\u2019t let the player have complete and utter freedom of movement through each level so I introduced the spikes.<\/p>\n<p>I thought about adding more features to the game, features such as enemies, moving platforms, ground that would make you weightless, buttons, springs and so on, but I decided against it. I wanted to keep the game as simple as possible and I wanted to challenge myself and see how much I could explore the central mechanic. I really like the idea of creating complex gameplay out of simple concepts.<\/p>\n<p>When I added the collectible bits I hadn\u2019t decided whether to make them bonus collectibles or a requirement to beat the level. After I made a few levels I found that making them compulsory allowed me to introduce more interesting challenges into levels by forcing players to move in and out of an area.<\/p>\n<p>I spent about two hours while in the car planning\u00a0the features.<\/p>\n<h2>The Code<\/h2>\n<p>I used Gamemaker: Studio, as it is fast and what I\u2019m most familiar with. I also used my <em><a href=\"http:\/\/managore.wordpress.com\/2014\/04\/17\/beaver-engine\/\" target=\"_blank\" title=\"Beaver Engine\">Beaver Engine<\/a><\/em>\u00a0for collision detection, tiling and camera control. There isn\u2019t much I can think to say about the coding process. I knew what I wanted the game to do, and I knew what to code so that the game would do it, so for the most part I was simply on autopilot. The exception being that the following things all took a considerable amount of time and effort to get right: the player trail, the level select screen and fine tuning the player movement\u00a0so that it felt exactly like\u00a0I wanted it to.<\/p>\n<p>Overall I spent about four hours coding, but most of this was interspersed with graphics and sound.<\/p>\n<h2>The Graphics<\/h2>\n<p>All my graphics were made in Photoshop CS6. I started off with a very basic Gameboy-esque color palette and over time I added more colors as I needed them.<\/p>\n<div class=\"wp-caption alignnone\" id=\"attachment_360277\" style=\"width: 138px\"><img alt=\"Original Palette\" class=\"size-full wp-image-360277\" height=\"128\" src=\"\/data\/posts\/2014\/05\/419124ebcd2c6f8a8cff546c1ee2f92b.png\" width=\"128\"\/><p class=\"wp-caption-text\">Original Palette<\/p><\/div>\n<div class=\"wp-caption alignnone\" id=\"attachment_360278\" style=\"width: 138px\"><img alt=\"Final Palette\" class=\"size-full wp-image-360278\" height=\"128\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/palette-complete.png\" width=\"128\"\/><p class=\"wp-caption-text\">Final Palette<\/p><\/div>\n<p>For the parallax background images I created Render Clouds in Photoshop and used blending options to make the lighter half of the image transparent. By making the Render Clouds 1024px by 1024px they automatically tile. I really like this technique as it\u2019s an easy way to create interesting, abstract shapes. So I made two images this way, colored each with a solid color and added parallax scrolling at different speeds to each. Much later on I added horizontal scrolling as well, to add more activity and life to the game.<\/p>\n<div class=\"wp-caption alignnone\" id=\"attachment_360284\" style=\"width: 560px\"><img alt=\"Render clouds\" class=\"size-large wp-image-360284\" height=\"550\" sizes=\"(max-width: 550px) 100vw, 550px\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/clouds-before-550x550.png\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/clouds-before-150x150.png 150w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/clouds-before-300x300.png 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/clouds-before-550x550.png 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/clouds-before.png 1024w\" width=\"550\"\/><p class=\"wp-caption-text\">Render clouds with transparency<\/p><\/div>\n<p>For a while the player was a simple blob with no eyes or trail. I experimented a lot with different trails before I came up with the current version. In the current version, at each frame I created either a \u201clight\u201d or \u201cdark\u201d trail at the player\u2019s position. For the light trail, it draws circles all the same size but of decreasing opacity. For the dark trail, it draws a line from (x,y) to (previous_x, previous_y) and the line thickness slowly decreases. I originally had it drawing circles of decreasing size but this had a few issues, mostly that as you began to move fast enough the circles would separate from each other and look terrible. Because I wanted my game to include really fast vertical speeds I needed a better approach.<\/p>\n<div class=\"wp-caption alignnone\" id=\"attachment_360279\" style=\"width: 610px\"><img alt=\"Tileset\" class=\"size-full wp-image-360279\" height=\"384\" sizes=\"(max-width: 600px) 100vw, 600px\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/full-tileset.png\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/full-tileset-300x192.png 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/full-tileset-550x352.png 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/full-tileset.png 600w\" width=\"600\"\/><p class=\"wp-caption-text\">Sprites and tiles<\/p><\/div>\n<p>Lastly, I wanted to make sure my game felt really responsive and so I added sound effects, screen shake and screen flash to various events. The intensity of the response varies depending on the event. For example, when you hit the ground the screen shakes relative to the speed you were travelling at.<\/p>\n<div class=\"wp-caption alignnone\" id=\"attachment_360287\" style=\"width: 610px\"><img alt=\"An early example of what the game looked like\" class=\"size-full wp-image-360287\" height=\"400\" sizes=\"(max-width: 600px) 100vw, 600px\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/early-game-style.png\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/early-game-style-300x200.png 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/early-game-style-550x366.png 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/early-game-style.png 600w\" width=\"600\"\/><p class=\"wp-caption-text\">An early example of what the game looked like<\/p><\/div>\n<p>I spent around four hours on graphics, though much of this was spent testing different styles.<\/p>\n<h2>The Audio<\/h2>\n<p>I used\u00a0<a href=\"http:\/\/www.bfxr.net\/\" target=\"_blank\" title=\"bfxr\">bfxr<\/a> for the sound effects and FL Studio for music. Early on the Sunday I spent a long time trying to come up with an interesting melody for my game but with no success. It was only a few hours before the deadline that I came up with a track that I was relatively happy with. If I had had more time I would have made the track much longer and much less repetitive, but I\u2019m happy nonetheless that I was able to include what I would consider adequate sound effects and music. In my previous Ludum Dare game, <em>Javel-ein<\/em>, the lack of music was one of my biggest regrets.<\/p>\n<p>I spent about four\u00a0hours working on the audio, but\u00a0a lot of this was unproductive.<\/p>\n<h2>The Levels<\/h2>\n<p>I kept a notebook (the paper kind) with me at all times, and any level ideas I had I would quickly sketch them down. I found this really useful as it meant I could focus on keeping the coding, visuals and sound on track while slowly building up pages of level ideas. Then, when I wanted to take a break from some other aspect of the game which wasn\u2019t working, I could begin creating levels without having to think. I made a large number of levels then began to play through them and test them for difficulty, uniqueness and fun. Any levels that weren\u2019t unique or fun enough were modified or removed, then I ordered the levels.<\/p>\n<p>Of course the main factor in ordering the levels was difficulty, but I also tried my best to order the levels so that levels with a similar structure or featuring a particular mechanic didn\u2019t appear too close together. For example, levels 13, 17 and 26 all involve jumping from a large height and diving deep into a solid block. I wanted to keep similar levels far apart from each other so the player didn\u2019t grow tired of a particular mechanic. I also didn\u2019t want the difficulty curve to be simply increasing. When players beat an unusually difficult level I wanted to reward them with a fun, easier level.\u00a0<a href=\"http:\/\/www.gamasutra.com\/blogs\/JonBrown\/20100922\/88111\/Difficulty_Curves_Start_At_Their_Peak.php\" target=\"_blank\">Here<\/a>\u00a0is\u00a0one of many articles on this concept, which explains it much better than I have here.<\/p>\n<p>I introduced the controls and mechanics across the first two levels and introduced spikes in the third level as I felt this was the fastest way to get the player used to the main ideas of the game. I purposefully left the central mechanic of the game up to the player to discover. I set up the second level so that (if all went according to plan) the player would find themselves in a pit too tall to jump out of, with instructions on which button the <em>action<\/em> button was and with nothing to do except try to figure out what this button did.<\/p>\n<p>I also included a level select screen as I wanted a way for the player to track their progress as well as skip and later return to levels that they were stuck on.<\/p>\n<p>Here are most of my level idea sketches. If you\u2019ve played <em>The Sun And Moon<\/em>, a lot of these sketches should look familiar to you.<\/p>\n<div class=\"wp-caption alignnone\" id=\"attachment_360281\" style=\"width: 610px\"><img alt=\"Level ideas\" class=\"size-full wp-image-360281\" height=\"1044\" sizes=\"(max-width: 600px) 100vw, 600px\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/2.jpg\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/2-550x957.jpg 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/2.jpg 600w\" width=\"600\"\/><p class=\"wp-caption-text\">Level ideas<\/p><\/div>\n<div class=\"wp-caption alignnone\" id=\"attachment_360282\" style=\"width: 610px\"><img alt=\"More Level Ideas\" class=\"size-full wp-image-360282\" height=\"952\" sizes=\"(max-width: 600px) 100vw, 600px\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/4.jpg\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/4-189x300.jpg 189w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/4-550x872.jpg 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/4.jpg 600w\" width=\"600\"\/><p class=\"wp-caption-text\">More\u00a0level ideas<\/p><\/div>\n<div class=\"wp-caption alignnone\" id=\"attachment_360285\" style=\"width: 610px\"><img alt=\"Even more level ideas\" class=\"size-full wp-image-360285\" height=\"945\" sizes=\"(max-width: 600px) 100vw, 600px\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/3.jpg\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/3-550x866.jpg 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/3.jpg 600w\" width=\"600\"\/><p class=\"wp-caption-text\">Even more level ideas<\/p><\/div>\n<p>I spent about 5 hours making and testing the levels.<\/p>\n<h2>The Plan<\/h2>\n<p>Finally, something I\u2019ve had trouble with in the past was keeping myself on track and making sure that everything got done in time. For this, I constantly referred to my online To Do list to make sure I was always working on the most urgent and important aspect of the game. I used <a href=\"https:\/\/trello.com\/\" target=\"_blank\" title=\"Trello\">Trello<\/a>\u00a0for this and I highly recommend it to everyone. On reflection, I could have made my To Do list much more in depth and extensive but it worked well enough anyway.<\/p>\n<div class=\"wp-caption alignnone\" id=\"attachment_360293\" style=\"width: 560px\"><a href=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/to-do.png\"><img alt=\"To Do list\" class=\"wp-image-360293 size-large\" height=\"269\" sizes=\"(max-width: 550px) 100vw, 550px\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/to-do-550x269.png\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/to-do-550x269.png 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2014\/05\/to-do.png 807w\" width=\"550\"\/><\/a><p class=\"wp-caption-text\">To Do list<\/p><\/div>\n<p>Thank you for reading this and I hope you enjoyed my game! If you have any comments or questions I would love to hear them.<\/p>\n<p>Tags: <a href=\"http:\/\/ludumdare.com\/compo\/tag\/ld29\/\" rel=\"tag\">ld29<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/postmortem\/\" rel=\"tag\">postmortem<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/the-sun-and-moon\/\" rel=\"tag\">The Sun And Moon<\/a><\/p>","time":"May 4th, 2014 2:29 am","title":"The Sun And Moon, a Post Mortem","title_was_empty":false}