{"author_name":"gameXcore","cat":"LD #26","comments":[{"author_name":"","time":"May 1, 2013 2:03 pm","epoch":1367434980,"text":"Really cool. I also made my game using C#\/XNA and went a different route to get a web version. I used a project called JSIL to convert my game to javascript + HTML5 so that it can run in a browser. In general the port was pretty easy, but I did get some help from the developer of JSIL. It&#8217;s cool to see that there are multiple options for deploying XNA solutions beyond just a executable download.","spam":"N"},{"author_name":"","time":"May 1, 2013 2:41 pm","epoch":1367437260,"text":"JSIL, I&#8217;ll have to give that a look, it looks even easier then ExEn. Was there anything special you needed to do, or special considerations?","spam":"N"}],"epoch":1367433960,"likes":1,"metadata":{"p_key":"42860","p_author":"gameXcore","p_authorkey":"7049","p_urlkey":"78495","p_title":"Chroma \u2013 Analysis","p_cat":"LD #26","p_event":"LD26","p_time":"1367433960","p_likes":"1","p_comments":"2","p_status":"UPD5","us_key":"7049","us_name":"gameXcore","us_username":"gamexcore","event_start":"1366934400","event_key":"16","event_name":"LD26"},"text":"<p>So, I have never actually wrote a post-mortem \/ analysis for a game, so here goes nothing!<\/p>\n <p>Chroma is a marble rolling game, where you attempt to navigate a ball through randomly generated mazes themed and created to look like you are playing inside one of Piet Mondrian&#8217;s &#8220;Composition&#8221; paintings. The name Chroma\u00a0\u201cPurity or intensity of color\u201d and is a reference to the importance of the\u00a0colored\u00a0zones within the\u00a0game-play.<\/p>\n <p style=\"text-align: center\">\u00a0<a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-26\/?action=preview&amp;uid=7049\"><img class=\"aligncenter  wp-image-253104\" alt=\"GameLogo\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2013\/04\/GameLogo1-550x275.png\" width=\"330\" height=\"165\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2013\/04\/GameLogo1-300x150.png 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2013\/04\/GameLogo1-550x275.png 550w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2013\/04\/GameLogo1.png 600w\" sizes=\"(max-width: 330px) 100vw, 330px\" \/><\/a><\/p>\n <p>This is the second Ludum Dare I have entered, therefore I felt a knew the ropes and as a result, was somewhat complacent. I didn&#8217;t myself nearly enough time to do things in, allowing other less important things, such as visiting family come between me and my laptop! The result was that I had to fudge a few things here and there, fortunately the theme came to my rescue, what better excuse then cutting mechanics then in the name of Minimalism.<\/p>\n <p>In the end my game had 5 mechanics:<\/p>\n <ul>\n <li><span style=\"line-height: 13px\">Rotating a maze so that a ball can roll around under gravity.<\/span><\/li>\n <li>Find and collect a key.<\/li>\n <li>Get to the exit.<\/li>\n <li>Jumping.<\/li>\n <li>A limited number of lives for a level.<\/li>\n <\/ul>\n <p>By the time I had submitted I kind of wished that I had cut the final two, leaving as minimal a game as possible &#8211; just the 1 mechanic.<\/p>\n <p>The complete list of tools I used:<\/p>\n <ul>\n <li><span style=\"line-height: 13px\">Visual Studio, c# &amp; XNA.<\/span><\/li>\n <li>Photoshop.<\/li>\n <li>bfxr.<\/li>\n <li>Chronolapse for recording a\u00a0time-lapse\u00a0video.<\/li>\n <\/ul>\n <p>Post competition I used\u00a0<a title=\"ExEn\" href=\"http:\/\/exen.codeplex.com\/\" target=\"_blank\">http:\/\/exen.codeplex.com\/<\/a>\u00a0to port the game to Silverlight so that I could host a web version.<\/p>\n <h1><a href=\"http:\/\/www.ludumdare.com\/compo\/ludum-dare-26\/?action=preview&amp;uid=7049\"><img class=\"aligncenter  wp-image-253133\" alt=\"SS1\" src=\"http:\/\/www.ludumdare.com\/compo\/wp-content\/uploads\/2013\/04\/SS12-550x399.png\" width=\"330\" height=\"239\" srcset=\"http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2013\/04\/SS12-300x217.png 300w, http:\/\/ludumdare.com\/compo\/wp-content\/uploads\/2013\/04\/SS12-550x399.png 550w\" sizes=\"(max-width: 330px) 100vw, 330px\" \/><\/a><\/h1>\n <p>&nbsp;<\/p>\n <p><span style=\"text-decoration: underline\"><strong>What Went Right<\/strong><\/span><\/p>\n <ul>\n <li><span style=\"line-height: 13px\"><strong>The idea!<\/strong> I got lucky with the theme, I had given it an up vote and a thought and knew what I wanted to make. The final game didn&#8217;t quite match original ideas but with a competition such as this, design has to evolve.<\/span><\/li>\n <li><strong>Work-pace<\/strong>, coming from a fairly hectic AAA background, a fast work-pace is second nature to me, one piece of advice I would give to anyone reading this thinking &#8220;I just cannot work fast enough&#8221;&#8230; <strong>hack, be messy, don&#8217;t worry about neatness, just get it done<\/strong>. If you care about code cleanliness and what people may think when they look at your code, format it once you have finished.<\/li>\n <li><strong>Sleep<\/strong>, its easy (I did it last time) to think &#8220;I&#8217;ll sit up till 3am, then get back up at 6&#8221;, in reality, you may get more hours in, but they will be of a very low quality, instead, on the Saturday night I had an early night, and a lazy morning on the Sunday, there is of course a difference, however subtle, between well-rested &amp; lazy!<\/li>\n <li><strong>Realistic goals &amp; tracking those goals<\/strong>, basically, if I had an idea, \u00a0I gave it a good think before doing anything with it, before heading headlong into a brick wall and losing 4 hours I would plan the whole thing, including an estimated time scale, basically what this means is<strong> lots of paper, and lots of lists<\/strong>!<\/li>\n <li><strong>Testing<\/strong>. It may feel like your just playing your game, but do it, and then do it some more, and <strong>be critical<\/strong>!<\/li>\n <li>Recording a time-lapse video, I didn&#8217;t do this last time, I did this time, I will do it next time, it looks ace!<\/li>\n <li><strong>Randomly generated level<\/strong>s, randomly generating your levels is a great thing, it means you can have endless level and that you don&#8217;t spend half your weekend making and editor, and the other half making the levels, however&#8230;<\/li>\n <\/ul>\n <p><span style=\"text-decoration: underline\"><strong>What Went Wrong<\/strong><\/span><\/p>\n <ul>\n <li><span style=\"line-height: 13px\"><strong>Randomly generated levels!\u00a0<\/strong>While randomly generated levels are a good thing they don&#8217;t allow you to control the learning pace of your game, I found I was throwing the player into an enormous level without a map. During the twilight hours of the weekend I very quickly threw in 3 tutorial levels which introduced the player to the game, at this point I thought all was well&#8230; not quite so! Now the players are asking, &#8220;why does the difficulty ramp up so much after level 3&#8221;.<br \/>\n <\/span><\/li>\n <li><strong>No real game tutorial<\/strong>, in my experience players don&#8217;t read the read-me, or the &#8220;how to play&#8221; screen, they just want to dive in and learn as they go along, from my point of view I think an explicit tutorial is a bit naff, you introduce every mechanic at once, and almost immediately, the player forgets about them. The best way is to bring your mechanics in gradually, and explain them well&#8230; with reference to the above point, I didn&#8217;t achieve this. As an example, most people don&#8217;t seem to\u00a0realism\u00a0that the little dot points you to your goal.<\/li>\n <li><strong>Audio<\/strong>, audio is massively underrated, without graphics or code, your game is unplayable, however without audio your game is in-complete, the audio in Chroma is thrown in at the last minute and not the best it could be.<\/li>\n <li><strong>Physics,\u00a0<\/strong>for a game based around rolling a physical ball, around a physical maze, my physics sucks! No more can be said on this point.<\/li>\n <\/ul>\n <p><span style=\"text-decoration: underline\"><strong>The Port<\/strong><\/span><\/p>\n <p>I like working with c# &amp; XNA for a number of reasons, the main two being API familiarity, and the turnaround speed of c#, two very important factors to consider when working to a tight deadline, if you attempt to learn a new API\/engine during the weekend, you are destined for failure! This approach does have its drawbacks, this is something I felt during LD25, and something I wanted to avoid for LD26, windows only games will not get played as much as web games, its a fact&#8230; I do it myself! Looking back to not attempting to learn a new API during the weekend, I went windows only, then on Monday morning decided I wanted to do a port, I stuck to the rules of keeping all functionality the same, however getting the port done was more stressful then getting the game made!<\/p>\n <p>I had set myself a side-challenge\u00a0for the port to have it done before the end of the jam, this left me with around 3-4 hours of programming time.<\/p>\n <p>I ported to silverlight using the ExEn librarys, if a little un-documented these did the job fantastically, I would recommend anyone else who made a C# \/ XNA game to have a go at porting it. One major fail I came across was my use of primitive rendering to draw everything, something which I couldn&#8217;t, this meant I had to re-write all the rendering code, and the result was the game being a little bit slow in silverlight, and not looking as nice. However next time, I now have the knowledge to target both Windows and Web during the weekend.<\/p>\n <p><span style=\"text-decoration: underline\"><strong>Final Notes<\/strong><\/span><\/p>\n <p>The weekend was really good, I will be entering the next, and I will be spreading the word and getting everyone else to enter. One of the best parts is writing this, it really gave me a chance to reflect back on what I have achieved. If you are reading this, and have not wrote your own, then right one, and post a comment, I look forward to reading what you have to say!<\/p>","time":"May 1st, 2013 1:46 pm","title":"Chroma \u2013 Analysis"}