{"assets":[],"author_link":"author\/drpetter\/","author_name":"DrPetter","cat":"LD #11 - Minimalist - 2008","categories":["LD #11 - Minimalist - 2008"],"comments":[],"epoch":1211163060,"event":"LD11","likes":0,"metadata":{"p_key":"76118","p_author":"DrPetter","p_authorkey":"0","p_urlkey":"283769","p_title":"Tales from a Cavern","p_cat":"LD #11 - Minimalist - 2008","p_event":"LD11","p_time":"1211163060","p_likes":"0","p_comments":"0","p_status":"WAYBACK","us_key":null,"us_name":null,"us_username":null,"event_start":"1208476800","event_key":"87","event_name":"LD11"},"source_url":"2008\/05\/19\/tales-from-a-cavern\/","text":"<p>Maybe this is what I should have been doing for the last LD\u2026 It took me two days to make and it\u2019s based on the code of my LD11 entry (I didn\u2019t even miss Felicity!)<\/p>\n<p><img height=\"240\" src=\"http:\/\/www.cyd.liu.se\/~tompe573\/hp\/thumbnails\/cavern.gif\" width=\"320\"\/><\/p>\n<p><a href=\"http:\/\/www.cyd.liu.se\/~tompe573\/hp\/project_cavern.html\">Download over herely<\/a><\/p>\n<p>Making \u201cjust a game\u201d was kind of enlightening, since I didn\u2019t have any real technical challenges to overcome and could just get on with content and putting in simple control logic to make it all come together. It\u2019s pretty much an unthinkable project viewed in terms of what I\u2019ve been doing the last few years, but since both development and result were enjoyable it\u2019s a pretty clear hint that I should be doing it more often.<\/p>\n<p>However, I ruin that immediately by having a natural impulse to make some kind of convenient editor\/engine which would reduce the need to write copious amounts of replicated-but-slightly-modified code for instance when I want new enemy types etc. I have made these before, and each time I end up spending weeks or months working on it and then never really use it because I get increasingly unhappy with how it\u2019s built. Still, I couldn\u2019t possibly make a game of say 10x the complexity\/scope of this one without using more structured code at the very least. And defining animations, scripted events, enemy patterns etc would quickly get tiresome and repetitive to do in code+Photoshop if you have more than one or two types to deal with. The grunt of this game (discounting image loading and input code) is a 1500-line C file, where almost all logic is directly in the main loop \u2013 wonderfully spontaneous way to work but of course breaks down with increased program size due to convoluted value\/flow dependencies, loss of overview and the need to repeat code.<\/p>\n<p>The fact that I did manage to create this in just two days though, and that I didn\u2019t run into any major hickups along the way, probably says something about suitable code vs application complexity. If I had gone and made \u201ca perfect design\u201d with fancy classes and streamlined algorithms for everything, I would most likely not be done yet. More importantly, I probably wouldn\u2019t even have started since such a small project doesn\u2019t really justify that kind of work. Not without the prospect of a larger product coming out of it, and if there was one I would probably be too intimidated by the thought of that and keep trying to out-think myself in terms of what stuff I\u2019d need to make that \u201cgreat big thing\u201d work eventually.<\/p>\n<p>I think Derek Yu recently said something about coders being able to \u201cdoodle\u201d games like artists sketch with pencil and paper, and that\u2019s probably an important thing. A sketch is never meant to be used for anything substantial, it\u2019s just playing around with the tools of your trade to make something spontaneous and fun. If it turns out nice then you could potentially do it again from scratch but \u201cdo it right\u201d and expand on it if you wish \u2013 but you should definitely not be doing it the roundabout way to begin with since that would destroy the spontaneity and make it a laborious task instead of a free-minded sketch. When sketching you can only use whatever skills and processes that come natural to you, without considerable planning or conscious mental effort. Of course, with increased experience this set grows larger and some people could probably do advanced class hierarchies without thinking too much about it. All the more power to them.<\/p>\n<p>Since I made this thing in such a short timespan, I have a pretty good overview of all the techniques I used and the bare-bones code needed to make them work. This could provide some extra value when designing larger game systems as I might be able to target my efforts more carefully, and not get overly general or implement pointless things. For trying out pure game ideas though, I still feel that it would be sensible for me to \u201csketch\u201d in a more streamlined tool\u2026 a kind of game maker for sure, but definitely not Game Maker (for the simple reason that I\u2019m incapable of using any tool that is close enough to what I could potentially build myself, which is a most unfortunate condition in terms of productivity\u2026 but creating a tool to fill some (possibly imagined) need of my own is just so very rewarding)<\/p>\n<p>Tags: <a href=\"http:\/\/ludumdare.com\/compo\/tag\/music\/\" rel=\"tag\">music<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/pixels\/\" rel=\"tag\">pixels<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/platformer\/\" rel=\"tag\">platformer<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/rant\/\" rel=\"tag\">rant<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/retro\/\" rel=\"tag\">retro<\/a>, <a href=\"http:\/\/ludumdare.com\/compo\/tag\/sprites\/\" rel=\"tag\">sprites<\/a><\/p>","time":"May 19th, 2008 2:11 am","title":"Tales from a Cavern"}