LD21 August 19–22, 2011

Dungeon Exit – Post Mortem

my first ever competition, and i’m pretty happy with what i achieved. although it didn’t look or play as i had originally imagined (mostly because of a lack of artistic ability) and i got stuck on some very simple programming, it feels good to have a game out. had some positive feedback too, including:
– is it supposed to be so pink?
– it made my ears hurt
– i want to barf
– so where exactly is the “game” aspect

really selling my game here. here’s the link if you want to play it.
http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=5579

i’ve found some really great games too. some people have mad skills. i’m tearing through my random ratings. the WYSIWYG blog post thing isn’t working right at the moment, but keep playing the games here, there are some genuine gems!

Comments

angrygeometry
23. Aug 2011 · 16:04 UTC
i’m gonna update this with a longer post when the editor works for me

About game bugs

Is it allowed to fix a level bug?

Comments

23. Aug 2011 · 16:20 UTC
Yes, it’s been confirmed on IRC and Twitter.

Flashpunk and A* and escape, Oh my!

 

Astar Postmortem

http://www.ludumdare.com/compo/ludum-dare-21/?action=rate&uid=3309

 

Tools used

Flashdevelop – $0

Flashpunk – $0

PXtone – $0

ASEprite – $0

Postmortemdinner – $16

Total cost – Not going to laser-tag with my friends on Saturday D:

Learn from my mistakes –

– and don’t leave butternut squash soup out for 48 hours, it goes bad. Also, making games is hard:

The first risk I took was implementing the A* pathfinding algorithm into flash, which beforehand I had only ever done in Gamemaker, and that was a looong time ago. So I opened that up for reference and away I went.

The first implementation “worked” but had some sorta hilarious path results. I wish I had a screenshot but it looked somthing like this ->

My professional representation of pathfinding gone wrong

 

The Second issue was sound. I knew I needed music and I had a nebulous idea of the type of feeling I wanted from the music. “Puzzle-y music” I thought… “Puzzle-y music”… So I started to fool around with some violins and realized I sucked at that. So I ended up using my old friend the Sin-wave and was glad I did. It took about three tries before I had the sound I wanted.

 

So I suppose the lesson here is to experiment, because my favorite part of this compo/exercise is the risks I took and learned from.

 

blah blah blah, you can play it here.

P.S. I secretly have a crush on every participant, don’t tell. Great job everyone!

 

 

Comments

tcstyle
23. Aug 2011 · 17:48 UTC
That really is a hilarious pathfinding.

LD21: End of File postmortem

After breezing through two previous LDs, I felt this time I should push my game design out a bit further, both technologically and in design. I wanted something that I knew would be challenging; not just a game I knew I could complete in the timeframe.

With this in mine, I added some goodies to my game such as an upgrade system, expansive map sets, multiple weapons, and complex enemy types. I looked at parts of games I loved and used them as foundations for various game mechanics. In the end I had a lot more than I could hope to achieve, so i had to trim some fat, and began coding.

At first progress felt a lot slower, dangerously slow compared to previous LDs. I was worried I wouldn’t make the deadline so I trimmed out multiple weapons, shortened the game a bit, and scrapped additional enemy types. I figured I could add these back in later as time allowed.

When I woke up on Sunday I was pretty unhappy with the game. The nature of projectiles made them frustrating when facing Banshees, which were the most common enemy type in the game. I tried nerfing the banshee’s move speed and changing the movement patterns, but nothing really helped.  The game had content and was going well progress wise, but it wasn’t fun. I actually considered throwing in the towel here.

After about an hour of level design to take my mind of gameplay, I had a bit of an epiphany. Prior to LD I had been playing Quake 4, and started drawing connections to my gameplay flaw and my frustrations with Q4’s nailgun. Ultimately the machine gun worked better in Q4 due to not giving Strogg any time to dodge your attacks. While the AI in my game didn’t dodge, the movement patterns were hard to properly lead. So I changed the player’s gun to an instant fire laser.

Everything just clicked at once. Suddenly you could easily hit most targets with minimal issue if you lined up your targets well; and early game energy limits prevent you from just spamming down everything in a quarter of a second. Upgrades made you choose between various gameplay styles. The aiming mechanic of enemies made sure you couldn’t just camp one spot and shoot when everything lined up; but instead rewarded you moving WITH the banshee, constantly leading its shots but still keeping lined up.

After taking some time to balance upgrades and flesh out some levels, I was cutting it a bit close so I ran a final polish run on the level set (though I would have liked to expand it), and submitted.

In the end I have mixed feelings about the final result. The endings aren’t really “proper” endings, and there’s no menu/config/pause/etc. It feels incomplete to me. But despite having some spare time at the end where I could have mocked up some quick simple menus, I was sick of coding it when I submitted; and I felt that a rushed menu would be worse than no menu at all. On the other hand it’s a lot more than I could have done previously, so as a progress indicator it’s great. LD is never about winning to me, it’s about seeing what you can do. Testing your limits and learning new things. Seeing what you’re capable of…. And in that regard it’s been a roaring success.

Play/Rate: http://www.ludumdare.com/compo/ludum-dare-21/?action=rate&uid=3130

I’ll see you nerds in October :3

 

tmlps

Here it is. I kinda screwed it up though when I stopped and restarted chronolapse…sometimes it didn’t record. So some hours are missing. Better luck next time, and I’ll try to have one of these neat on screen clocks.

 
My entry: elastic prison

Tags: java, lwjgl, timelapse

Postmortem: Poor Ball

Poor Ball - Click the image to rate the game !

Poor Ball – Fififox – Competition Entry

Now that the stress of coding/packaging/testing/submitting is gone, the time is right to sum up what I’ve done, the good choices and the bad choices.

What I’ve done right (based on my previous and first LD experience, LD19):

  • I finished my game (I haven’t been overly ambitious);
  • I only made graphics and sounds after the game was working;
  • I made something (relatively) nice and with good sound effects;
  • I made a title screen and wrote a short story to introduce the game mechanics;
  • I spent time on IRC, but only time which I didn’t miss as the deadline approached;
  • I didn’t feel stressed until the very end !

What I’ve done wrong:

  • I thought that good ideas would come by browsing dictionnaries and wikipedia and probably lost time by not really concentrating;
  • I got used to my game’s difficulty and didn’t see that removing the two easiest levels was a bad idea.
  • I spent a long time trying to repair a library instead of just replacing it by another one directly;
  • I tried to cross-compile my game and the libraries I was using instead of booting that old slow Windows box.
  • I should have written more progress reports instead of being on IRC for time.

What I’ve done during those days:

First day:

  • 9 am (theme announcement at 4am for me): Woke up and looked for some ideas using theme list / dictionnary / wikipedia;
  • 10:00 — Created a base system in C++ with SFML2;
  • 10:20 — Thought, not looking at the computer;
  • 11:00 — Tried to write down an idea;
  • 11:40 — Threw that idea away and thought again (also played prototypes seen on IRC);
  • 13:00 — Back to code, looked in detail at the SFML API;
  • 14:00 — Suddenly had an idea: posted the idea on LD blog and started coding like mad;
  • 14:45 — Had the basic physics working, so screenshot and lunch on LD blog;
  • 15:00 — Kept working on physics;
  • 16:00 — Took a break;
  • 17:00 — Back to code, added controls;
  • 17:30 — Created a minimal user interface, worked on graphics;
  • 20:00 — Had the physics working, posted progress report and screenshot on LD blog which is getting slow, tweeted, talked on IRC;
  • 20:40 — Created some bad background music (removed from the final game, was very bad 😛 );
  • 22:00 — Tried to get music working, SFML uses OpenAL, which is apparently badly broken on my computer, tried to find a solution to that (but I didn’t);
  • 02:00 — Stopped searching, went to bed.

Second day:

  • 08:00 — Woke up, 20 hours remaining, eating some croissants (yeah, I’m french 😀 );
  • 08:30 — Took a crash course to use FMOD for sound in my game, and set up background music;
  • 09:00 — Heard about LD server failure;
  • 09:15 — Tweaked physics and changed gameplay idea, implemented some GUI;
  • 11:40 — Added some graphics;
  • 11:45 — Fixed a race condition-related segmentation fault, added levels, lives and death to the game;
  • 13:30 — Got tired of adding game code to the physics thread and edited some graphics;
  • 13:35 — Talked on IRC and looked at some other sound libraries;
  • 14:00 — Got back to gameplay, and eventually broke the whole physics/gameplay thing, causing dead locks every now and then, but somehow I got it working nearly seemlessly;
  • 15:40 — Talked on IRC, helped testing some games;
  • 16:20 — Wrote a progress report on the really slow but working LD blog, while still talking on IRC and failing at finding FMOD documentation on compressed sound;
  • 18:00 — Added code for sound effects and created some, which made me remove the background music;
  • 19:45 — Refactored a part of the physics code to remove an old feature which looked more like a bug from the outside;
  • 20:10 — Created other sound effects, reworked the sound load/play system;
  • 21:00 — Talked on IRC, posted an update on the LD blog, and tweeted;
  • 22:00 — Rewrote the GUI and added a graphical title screen
  • 00:00 — Sumbitted my entry with description, screenshots, sources and Linux x86_64 executable.
  • 01:00 — Wrote a post about my entry on the LD blog;
  • 01:10 — Talked on IRC and started packaging for Windows and Linux i686;
  • 03:00 — Read about FMOD’s API on Windows which doesn’t support C++ (only C) when using MinGW, converted the source to use FMOD through it’s C API, compiled, packaged and sent;
  • 03:30 — Reuploaded different versions with more and more libraries for people to play the game just by unpacking and running: thanks to people on IRC who tested my game until the very end, at 04:00 for me !
  • 05:30 — Encoded my timelapse and posted it on Youtube and on the LD blog.

Tags: postmortem

Zero Gravity Escape playtrough and hints

As most people say they find my game too complex decided to make a little video of my passing it and give few advices.

Here is the video:

And some advices:

  • Use space to pause the game and issue many commands at once
  • Remember about center of mass when you try to push
  • Relaxed parts absorb shocks, stiff ones bounce, so its a good idea to be relaxed when you don’t want to bounce, or stiff all parts when you want to push with maximal force
  • And it is space, if you are flying in right direction just relax and wait, no need to go crazy and ruin your right direction :)

Hope this will help some.

Go to the entree page and try yourself 😉

Tags: gameplay, video

Streetlights – Postmortem

I’ve been looking at the LD compos for a couple years now, always wanting to do one, but due to various life events (generally, caring for my toddler) I was unable to join in.  This year was different.  We were on vacation, and would be driving home on Saturday.  This gave me 5-6 solid hours in the car to work on it, so I figured, why not!

Once the theme “Escape” was given, I was instantly unable to figure out anything.  I knew I didn’t want to do a standard, expected type of game… something predictable.  And I knew that I would be writing it for iOS, meaning that basically 98% of the reviewing audience would likely not be able to rate it, instantly guaranteeing that I will not come anywhere near placing… which is fine.  The reason to do this is to do it… to get my brain working… to get something accomplished… and I did.

I started thinking out of the box a little.  Journey had an album called “Escape”, containing the hit “Don’t Stop Believing”.  Seems like a good point to start with.  But honestly, I didn’t really settle on this until Sunday morning.

I spent Friday night thinking about something to do, a game mechanic or somesuch.  I also got the git repository started up, and came up with a codename for it in my current codenaming theme, cheeses.  “Raclette”.

Personally, I find that I can’t get started on a project until I have a name for it, and can start the source repository… so I started using code names with a cheese theme.  It works for me.  It let me get the project going, and got the process of naming it out of my head so that I can just start working on it.

Saturday afternoon, in the car, first I made an icon for the game, a fancy “R” for Raclette.  I know this seems like the wrong order to do things, naming it then giving it an icon, but it was necessary for the way my brain works.

Next, I started up the Xcode project.  OpenGLES template project, removed GLES2, added BL2D (my 2D sprite and tilemap library, released last fall), did other general GLES2 cleanups.  Then I brought in the hooks for the BL2D engine, cleaned up the sprite and tilemap PNG spritesheets to bring them back to “font only” condition, to satisfy the rules of the compo.

Note: all of this is visible in the following timelapse video, 0:00 thru 0:23 or so.

One of the other things I added in the car ride was the game state engine.  After working on “The 7th Guest: Infection” I came to realize that for the way I work on games, having the state engine in place earlier rather than later is very much welcomed.  I had worked on a state engine for a game last week, so I essentially worked out a new version of that from scratch.

At this point, about 6 hours of work in, we got home.  I spent much of the evening helping out around the house and unpacking.  I got a few extra minutes in to integrate the tile/sprite engine a little more.  I

Sunday, I was able to spend a lot of time in the afternoon to work on it.  I managed to somehow clean the entire house, and play with my kid beforehand as well, so that was nice.  While doing all of this, I thought about a game mechanic that involved clicking or drawing on the screen, and it color cycling.  I wasn’t sure where it would take me, but I felt it was an ok place to start.  It was also about this time that I almost gave up completely, feeling unable to finish in the time available to me.

Then it hit me.  The lyrics to the song were the basis for the game.  E5c4P3.  Don’t Stop Believin. Streetlights, People.  Escape the streetlights.  You’re Steve Perry.. too specific.  You’re Perry.  Got it.  People attracted to streetlights like moths.  When you hit some streetlights they go out.  There we go.  Run around, hit streetlights, people attracted to them will scurry away.

I then spent a lot of time getting simple cheesy people graphics and a horrible streetlight graphic worked out.  Horrible graphics are better than no graphics.  By the time dinner rolled around, i had the basic mechanic of the game working, but no real goals or score or anything.  My wife suggested that the guy gets zapped from the lights.   Danger! Great!  Then I added health bar in a half hour.  Added a few more states to the game state machine for “died”, hook the state paths around, and i have a basic, mostly feature-complete game!

The initial engine effort i made was essentially abandoned, but I did use a remnant from it to do the color cycling background for the intro screens, so all was not lost.

 

So what’s left for it?  I want to get it into the App store asap, so that people have more of a chance of trying it out.  After judgment period, I’ll be adding in things I ran out of time to do: sound, progressively harder levels, more clever people, graphics for the “street” rather than just black, a time limit, and perhaps high score saving.

I know it’s not the best game ever, but I made it.  I made it in about 16 of the alotted 48 hours to do it.  I know I could do better, I know I have done better, but I started it, I did it, and I got it done. And I think it’s a fairly amusing stretch from the song.

And here’s the gameplay…

Link to the compo page for “Streetlights”. To build it, you’ll need Xcode 4 with the iOS SDK (included with Xcode 4).

Escape… post-mortem

If you haven’t, check my game out in here!  It’s bound to get lost among the 599 we got!

Some of my ramblings about the project to follow..

This is the first time I’ve managed to enter an entry to the compo – I’ve tried several times but due to mix of IRL stuff happening and just generally not being able to pull it off I haven’t finished an entry before. I did have to go to work on Saturday this time as well which cost me some time, but hey, can’t help it.

At first my game was going to be something completely different and a lot more gamey, with some puzzley-platforming elements. The thing was, in secret I’ve been working on a platform game and quickly discovered I was doing pretty much the same thing I already had – just from scratch. Repeating the same work I’d already done didn’t feel right to me in a sense, so I decided to scrap the idea and take into a different direction. Plus I knew if I wanted to take it further, I’d have to start building tools and soon all my time would’ve been used on that! Or tweaking collisions.

Instead of focusing on the gameplay, I stripped all the gameplay elements to a minimalistic core and focused on writing – however much there is of it -, art and sound. My intention was to also make something I could release quickly, though in the end, that proved not to be the case as much as I initially thought!

I had bounced the theme Escape around in my head and had a concept about a guy locked in his room in deep depression. Dunno where it came from, but there you have it. At first, the idea had some grim turns with suicidal implications but I thought taking it that route might be going too far. Instead, I wanted to portray the idea of seeking help.

Basically, the intention is to get the protagonist out of his room. The game has two phases, dark and light. Dark phase is meant to represent the protagonists current “true” state of mind, where the whole world is bleak and dark and in this phase, escaping from the room is actually impossible, as the character is unable to function normally. Every action takes an extra effort. The way I went about this was implementing a hidden meter which increases every time you try to use an item until the main character finds it in him to pull through the action. At first even moving was implemented by forcing the player to tap move buttons while in the dark phase instead of letting them be held, but during playtesting I soon found it a bit annoying so for my own sanity I just made the PC move at half speed while in the dark phase. The protagonist’s fears manifest as monsters which attack him raising his anxiety, if he stays put. So he has to keep moving to stay functioning, which is one of the concepts I wanted to explore a bit. If he chooses to stay, eventually the monsters of his mind overwhelm him again.

The one way out is by grabbing the healing item, which calms the protagonists inner turmoil, his anxiety level resets and his view of the world shifts more to a normal one. This is represented in the world by the world outside the windows turning light blue instead of black, and black clouds turning white. Now he’s able to open the door and leave his room. But I wanted to portray that while he’s out, he’s not okay really… yet. The sky’s still cloudy with no sun to be seen. Also the song that plays as the screen fades out is slightly distorted.

Holy crap reading what I wrote I do sound like an art douche, goddamnit.

What went wrong

There are some things I didn’t get to implement. I planned to make the house represent the main protagonists level of anxiety, with walls pounding and moving in a heartbeat like fashion in the dark world – accelerating as the anxiety levels climbed. My intention was to present the house in more of an organic manner that way while also solving another problem – lack of any on screen indicators for anything. I didn’t want to make a HUD or any indicators for the fact that it would make my game more game-like.

I also initially had a bit more interaction in my game but took nearly all of it out due to my implementation not really liking having too many objects which would overlap in x-dimension. Also, no indicators for what you’d be interacting with, again. A problem I didn’t get to solve in time.

I think the game is a tad too obscure or artsy to really get into. It certainly is not fun, but it’s not intended to be.

I also got a bit sick during the LD, so there’s that!

My code is awful. No surprise there! During the second day I really just decided to do some pretty ugly stuff, just to get it done and over with. Oh well!

What went right

I got it done! Hell yeah!

I managed to implement most things I wanted to. I have an actual soundtrack. I have hand drawn animations. I have hand drawn graphics. Those are the things I set to do, those are things I did. Quality is another matter!

What’s next

If I choose to go back to this thing, first thing is to clean up the code. Then I’m going to implement rest of the features I missed and maybe even some gameplay. Sky’s the limit. Well, Skyrim’s the limit. Once that bastard is released I’m unable to do any actual work…

Other than that, I’m going to be working on some fun things. I have my github at github.com/shinD and my webpage at digitalcheeseplate.com or conspiravision.net and if I get something released, those are the places to find about them!

Tags: postmortem

Time for a Post Mortem…

This was my first (but certainly not last) Ludum Dare participation, and it was a real blast. I had already made a game in 48 hours but it didnt have the same thrilling atmosphere I found on the IRC channel and on this blog. I think it was quite epic (in the original sense of the word) to see hundreds of people struggling against time to get their games (or website) running before the deadline. Thank you all that was great !

Title screen

And now for the Post Mortem. I kept a text log of my activities so it should be pretty accurate. I got up on saturday at 10, 6 hours after the beginning of the compo and the theme did not inspire me much. I tried to think over it during breakfast and shower but it didnt bring much of an idea. Three quarters later, I ended up deciding I would make a somewhat conservative platformer featuring vertical gameplay in procedural levels to escape from rising water. My scratchpad also had a few notes about a science fiction game involving unlocking gates before some ship autodestruction, but that’s probably because I was listening to Farenheit Project Part 6 at that time.

I spent the rest of the morning in photoshop, producing base graphics to get me started. I know most people like to start coding right away and make games with red and blue rectangles, that’s probably a more reasonable thing to do but it doesnt motivate me as much. By lunch, I had the most important assets of my game : Ernest, a jewel, three platform tiles and two water tiles (none of them animated). I think that’s about the time I posted my journal entry =)

The afternoon and evening were spent coding the core mechanics (platforming, dying, changing level) and animating the graphics. I gave up procedural generation quite early because I found it would take ages to get it to make interesting levels. I think I avoided a major pitfall there. After that, I ate tons of food (as in 400g of pasta + sauce) and drank enough beer to get motivated for the rest of the night which was spent level designing until 5AM (I made the first 10 levels in that period. Yes, this also means I got the idea of the balloon level around 3AM after lots of beer).

Since I did not have a map editor, I set up a crazy workflow (image below). I made an “editor” image in photoshop which was simply a big file with grid enabled and some measurements added on the sides. I drew my levels in this file, then measured everything and hardcoded the data in the game.

Level design in photoshop

At that point, I was too tired to make more levels so I made the title screen instead. It had an artwork but it was so awful I trashed it away (that’s the only thing I did not keep for archives’ sake). Then off to bed for 5 hours.

I woke up at 10AM again and I felt more motivated than ever. I’m sure the neighbours loved my speakers and I blasting WHEN I’M UP I CAN’T GET DOWN, CAN’T GET DOWN !” super super loud. Designing the last five levels took me a while and they were done by 3PM. I made the end game content ((terrible artwork), congratulations message, credits etc.) and from this moment on, the game was playable from start to finish. I was still considering the addition of more levels but I had basically run out of ideas around level 11 or 12 so it didn’t happen.

At this point, I thought I should start making music but I really wanted to add torches in the background. So torches time it was. I quickly made them in Photoshop and started adding some torches to the first levels. the problem is that I had not saved some of my photoshop level sketches and that it was very hard to guess the coordinates where I should put the torches. I came up with another dirty trick for this : I made a debug build where the character had infinite jumps, could not die, and would output his position to the debug log when I pressed “T” (for “Torch”). I flew around the levels and hit “T” everytime I was on a potential torch position and then I got all the necessary coordinates from the debug log. The entire process took only half and hour. Pfew.

I spent the next few hours making the end game music (which was supposed to be the title screen music at this point) and the main music. Then a friend of mine popped in and I tied him to a chair so he would play the game on and on, reporting bugs while I was fixing them. Since I still had a bit of time, I made a different music for the bonus level, changed the title screen, added the oxygen gauge someone suggested on IRC and polished a few things. Of course, the huge collision bugs (falling through elevators) started showing up 1 hour before the deadline and I hastely hid them the best I could by slowing the elevators and called it a night.

After submitting the game (20 minutes before the deadline), I laid back on my chair, removed the cap on my very last beer, and there was a huge grin on my face. I felt a fantastic sense of accomplishment as I was leaving the almost trance-like state this competition (and beer) put me in. The game was far from perfect, but I was still baffled by how much content I had made in comparison to my previous 48h competition.

What went well :

  • Having a dedicated tester. Having someone spending more than a couple minutes testing the game was very very helpful because it saved ME lots of time and brought to my knowledge some bugs I would never have seen. Hanging around IRC was also very helpful.
  • Bacchus. This competition was a great occasion to try using my custom HaXe game framework and see if it was really usable. Turns out it is. It never got in my way and provided lots of useful features and some useful error messages.
  • Sticking to an idea. Almost all of the work I did ended up somewhere in the game. The only things I wasted are a shitty artwork, 30 minutes of code trying to generate procedural levels and a crackled tile.
  • Rushing art. I consider myself a very slow artist, I like to polish things for hours. The competition made me rush things and I think it doesnt show too much. Picking colors super fast turns out to be a decent alternative to carefully selecting them, it did yield surprisingly good results.

What could have been better :

  • Theme and game idea. I did not make much out of the theme and my game is very classic. I had the same problem last time I made a game in 48 hours so that’s something I’ll try to improve next time. Thinking outside the box is a quality I envy.
  • Preparation. I had problems making Chronolapse work and gave it up. If I had done that a few days before I would have a sweet timelapse by now. I also did not do the weekly shopping before the compo so I ended up starving on Monday night. No good. Also, I should have borrowed a screen because making a game on a single 15″ screen is not very comfortable.
  • Spaghetti code. My code started nice and clean, but as time went on, I allowed myself more and more dirty hacks. It’s still ~readable (at least by me) but definitely NOT pretty. I would probably have had the time to notice and fix the remaining bugs if I had been careful all the way through.
  • Level design and balance. I’m still in the process of collecting feedback but most of the issues raised so far related to level design and difficulty. I agree with that and I think a few levels are very uninteresting. There are a few ones I like a lot though.
  • My favorite bug. If you listen to the end game music, you’ll notice that the lead instrument doesnt play in your right speaker. Here’s the reason why :
    Propellerhead's Reason. OOPS.

TL;DR : I love you and I love LD.
And here’s my entry.

Resources used :
Tools

Comments

RichMakeGame
23. Aug 2011 · 18:26 UTC
great writeup! gotta love reason :)
RichMakeGame
23. Aug 2011 · 18:27 UTC
wait, did you just make an epic pun
23. Aug 2011 · 18:43 UTC
That was unintended 😀

Postmortem for Scratchy Get Out!

The Planning (or Lack Thereof)

It’s funny the way things turn out. Every time the contest comes around, I hope that I have honed my game-making skills so I’ll really be ready to make something great. The reality is that I only make games as a hobby and I don’t have that much time to spend on it, so I’m always ill prepared when the time comes. I think I know what language and framework I’m going to use, but I’m always watching the board to find that Magic Bullet to help allow me to spend more time making the game and less time on all the other crap.

So this time the Magic Bullet that would save me was Stencyl (at least I was praying), which I noticed in posts on here a few times. It is a tool that lets you make games without coding. It is one of those, do-it-all game making environments like GameMaker, Multimedia Fusion and Unity. Out of those three I only really like Unity, but I don’t think it’s ideal for contests like this one because 3D tends to add a lot of complexity that can keep you from making a great game in the time frame allotted.

Stencyl is a java based IDE that generates flash games. Internally, It uses many popular frameworks such as flixel and box2d. I guess the idea of it is based on some sort of MIT project. Basically it lets you code your game with “lego-like” blocks that you drag and drop around. Here’s the funny thing. It actually works. It saves time. And it’s fun. It lets you visualize all of your code in one page, which is pretty amazing.

The Coding

Wait, there was no coding actually. I wrote not a single line of code. Now you can do that with GameMaker and such, but I always found them limiting. Building your game with Blocks in Stencyl did not feel nearly so limiting to me. Here’s the thing. When I started I knew nothing about Stencyl. The first thing I did when the contest started was build the 15 minute game which allowed me to create a few actors and behaviors and create a scene. I had something working immediately.

But I had no idea of what kind of game to make. All I knew was that I wanted to make something that looked like a classic arcade game. I was tired with doing experiments and weird stuff and wanted to try making a platformer for the first time ever.

Scratchy Get Out actually just came about through playing with the actors, deciding to try something, creating an actor or behavior, and seeing how it turned out. I was amazed at how quickly I was able to add AI details that I never would have had time to do if I were just coding this in FlashPunk. Every actor has multiple AI behaviors. All of the behaviors are simple but there were so many, that the game started to develop into something I had not comprehended before. I was very simply able to lay out accurate collision boxes (or other shapes) and control what actors interacted with what. For example, the crane was probably the most complex AI. It could catch boulders or players showing different animations for each action. When it was loaded, you could control it. It passed messages to tell the player to halt all movement. Then you could release the object the crane was holding (actually the crane created the object) and it would reset itself and reactivate everything. I know from my past experiences, that I’ve never had time in one of these contests to delve into such AI details and polish things as much as I was able to.

The thing is I didn’t have that much time so I was only able to do one level. I had to do all the graphics (including animations) and I barely had time to create some sound effects with SFXR. But later I made another level. A totally cool indiana jones style levels with falling boulders that would shake the screen when they hit the ground. I think I could easily pump out ten more fun levels today if I set my mind to it because stencyl makes level design so ridiculously easy.

And even though Stencyl was easy to learn, I did learn a ton over that 48 hours. If I was to redo it, I know some things that could probably cut my work time in half. I’m now aware of some things I was doing the hard way or incorrectly that should be much easier now.

The Graphics

I am really crappy with graphics. Stencyl really helped for this though. What I did was just design my game by picking out placeholder graphics provided by the Stencyl community. I think this has a big advantage to just making quick temporary graphics. I was able to pick out images that I actually liked and enjoyed playing with during development. I think it helped with the actual development because I was inspired by how cool things looked. Then when the game was completely done and I was running out of time, I fired up the Stencyl graphic editor and created my own likenesses of the graphics that were in placeholder. Because I kind of knew what I wanted, it was really easy and I actually think some of my art turned out better than the fine placeholder art (like the cannon for example).

The Sounds

I was determined to get sounds in. Usually I try to do something ambitious with my synths and effects machines, but I just didn’t have time on this one. I only spent about an hour on sound, generating a few sound effects with SFXR which is a wonderful time saving tool. Ok, it’s a classic must have for when you only have ten minutes left in a contest and you want sound! I mean what else is there for that?

What Went Right

Well, everything went right this time. I’ve done this enough to know every time the contest starts, the experience is going to be different. Sometimes it’s going to be easy as smooth sailing and somethings things are going to go so badly that I will want to kill myself (or at least just give up, which I have done more than once). This time I felt very calm the whole time because when using stencyl I was spending about 95% of time actually making the high-level AI for the game. I knew that at any point, I could just add a couple more actors and behaviors and whip up a game of some sort. So the whole time I could just work with total confidence and spend the time adding more and more cool game AI like fun death scenes and little animation details like the player’s head stuck in the crane.

What Went Wrong

I wish I had had another few hours because I really didn’t get to utilize one aspect of Stencyl which is its great level designing tools. Once I had the first level done and the art and the sound and all those actors and behaviors, I could have easily built ten more cool levels in a matter of a couple of hours. I mean, just with the actors and behaviors I created, I left so much on the table that the player will never see that it is kinda sad. Because of that, I’m going to work up about 40 levels or so and release a new version later on. Hopefully it will have the things I didn’t have time for like a menu screen and all the features a game should have.

Final Comments

As always, it was a wonderful experience. I look forward to trying everyone’s games. I hope all of you got what you wanted out of this contest as well. In the end, we aren’t competing against each other, but against ourselves and if there’s one thing I learned is that doing as many of these contests as you can, will only make you better and better at making games.

For the next LD48 should I do web?

Since this was my first LD48 I used what I knew. Java and Jmonkey.

What is peoples opinion of platforms to use?

Seems like the web based games are a lot easier for people to access. Maybe next time I should do HTML5?

Comments

bitbof
23. Aug 2011 · 18:47 UTC
Go for it! Sound still seems to be quite of an issue though…at least with the entries I tried.
GigaClon
23. Aug 2011 · 18:51 UTC
Use Flash JS(what you would be using) doesn’t have any libraries like Flixel or FlashPunk. Also there are lots of issues. Flash is pretty universally at least on the same OS.
sfernald
23. Aug 2011 · 19:27 UTC
I’m weird, but I always like to try out something new during each compo.
23. Aug 2011 · 21:53 UTC
I have noticed that the least-rated games are all Linux/Windows downloads. And I know I play all the web games first and then go back for a second pass because downloading the game before playing it is just a little too much hassle. Web is clearly the most accessible format…

Hell Fortress Postmortem

Well, this was a harrowing weekend. As usual, I decided to shoot for the moon and make yet another adventure platformer type dealie — and I’m happy to say that not only did I finish more or less on schedule, it was the biggest LD48 I’ve done so far (75 whole rooms!). The last time I did this, the result was a paltry dozen rooms or so. What was different this time? The simple answer is: better tools.

One of the biggest hurdles during LD19 (Grand Mystic Quest of Discovery) for me was making all those rooms. At the time I used Tiled; a fine editor with a file format that’s easily parsed in AS3, but being limited to a single tilemap at a time (thus a single room at a time) and a clunky entity editing system made making all those rooms very, very time-consuming. This time, I had a secret weapon; Unimap, a personal tile editor project of mine, built specially for my needs. (The screenshot below contains spoilers, by the way, so don’t look too closely if you want to explore the game yourself.)

A screenshot of Unimap with the Hell Fortress world file open.

I’m not going to harp on about why Unimap is awesome; my point is to say that having a tool customized for you personally really helps in time-constrained situations like this. Every minute spent fighting against your own tools is a minute wasted. So here’s a lesson to be learned: The rules allow you to use any tools at your disposal without restriction; take advantage of that. Don’t limit the kind of technology you allow yourself to use for no good reason. Use whatever tools you are comfortable with that offer the least amount of resistance. And don’t be afraid to repurpose an existing tool if it will help you reach your goal more easily.

The missing Ring item.

Originally, I had planned for a lot more than actually shows up in the game. The place where this is most obvious is the unsightly hole in the inventory between the Dagger and Flute items; there was originally a Ring item that was supposed to increase the number of Talisman projectiles you could fire at one time. If you’ve played the game, you might be confused, since there is no limit to the number of projectiles you can fire anyway.

The plan at the start was to have a lot more combat situations than made it into the final game. My opinion is that any game needs a variety of elements to be successful; even though puzzle-solving is fun, if you make the player spend all his time solving puzzles, he will be burned out. The same can be said for dexterity sections (“jumping puzzles” as some strangely call it) and combat. In short: too much of a good thing is a bad thing. Unfortunately, around Sunday noon I realized there was no time left for me to implement more features (as opposed to producing more world map content).

No new features meant no new combat mechanics and no new enemies, and at that time there was really only the Knight enemy that could be killed at all. In the end, I decided that finishing the game with strong puzzle and dexterity sections was more important than spending effort on rounding out the combat sections. The downside of this was that the Dagger is practically useless and the Ring never got made at all. The upside, however, was important, and that’s lesson two: Don’t be afraid to jettison features if you risk overextending your game design. If I had attempted to finish the combat sections as originally planned, the world layout and puzzles would surely have suffered. If your choice is between two mediocre solutions on the one hand, and one great solution and one kinda lacking solution on the other, choose the latter.

That being said, combat is the part of Hell Fortress that is lacking the most. If I revisit it for a post-competition version (and I might!), that is the first thing that will be remedied for sure.

Hell Fortress has no sound. I have a tendency to skip out on that. If I had another chance, would I go back and make audio a higher priority? Maybe. But it’s a big maybe. This comes back to what I said above; would I rather have some mediocre audio (I have no talent in this area at all!) and risk the rest of the game suffer, or focus on a polished visual experience? I chose the latter, but I don’t know if this is the right choice for everyone.

Somewhat complicating the question is the lack of good tools for generating MSX-style audio, at least that I’m aware. If there’s a lesson to be learned here, I guess it is that if you are unsure of how a feature will come out, it is best to cut it and focus on the things you know will have a strong impact. Again, though, I’m not entirely sure my choice was correct, in the end; the final product absolutely did suffer from its silence. If you feel confident that you can deliver a compelling audio experience, great! Make that your strong feature.

All in all, though, I am very happy with my entry this time around. I hope you all have had a fun time, and made some great games, too! Good luck in the voting!

 

P. S. My personal record for beating the game with 100% item collection is 77 deaths in just under 20 minutes. See if you can beat it!

 

Comments

24. Aug 2011 · 22:52 UTC
“Don’t be afraid to jettison features if you risk overextending your game design.”

Thieving Fingers – Post Mortem

“Hold on a minute… ” I hear you cry, “that game wasn’t submitted!”
Indeed it wasn’t… for if I had not been chasing imaginary rendering bugs two hours before the Jam deadline, it would have been.
There’s logic in restarting your machine now and then…

Anyway, the curious can still play it, as links and stuff will be provided at the end.
For now, sit back and listen, for I have quite a tale to tell….

 Deciding that being overly tired is bad and produces silly mistakes, I decided to sleep normal times on the Friday and woke up about 6am on the Saturday – three hours after the theme had been announced. Ironically, after going through the theme list before heading off, I actually quite liked the look of Escape and had inadvertently designed the game before going to sleep, so was rather surprised to see it when I woke up! As such, I dove right into code.

Speaking of which, I brought along a bit of base code… the little bits of an engine I had been working on, complete with shiny new Resource Manager that I had just fixed the previous day.
Or so I thought.
Well.. actually, I had.. but I had not committed it to the repository, so when the bugs started appearing, I was none the wiser that the fixed Resource Management code wasn’t actually in until I noticed some parts were missing and went checking on my other machine.
I think in total, the Resources stuff was rewritten a good three or four times this weekend… so that’s black mark number one.

Saturday went about as well as you could hope, considering the major bits of my framework were quite broken and needed rewriting… I managed to load up something though, and make a start on the framework for the game itself along with a SpriteFactory to take in a good old fashioned Sprite Sheet ( or Texture Atlas if you want ) and split it up into a bunch of meshes; so I got something on the screen at least and a bit of movement with the mouse.

The game I was aiming to make harkens back to the 8bit days of flip-screen rooms with a larger scrolling area to run around in. Each room filled with traps and things to kill you. Your job, as a thief named “Fingers,” was to test the security of a Mansion on the owner’s behest. You had to steal the Star Diamond – a large and priceless artefact – while avoiding the security system. If you made it out, you got to keep the Diamond and anything else you might’ve pocketed on the way. They didn’t go into much detail on what would happen otherwise, but as you hadn’t failed a job yet, you didn’t put much thought into it… least you didn’t till you saw the spikes, crushers, spotlights and pressure pads that awaited you just as the main door slammed behind you.

Here lies black mark number two. Due to the engine being very young, there’s no real data pipeline, so everything ended up hard coded into it. There’s also no bound scripting language as I had in my previous engine, so iterating room and trap logic was highly tedious… I reckon I probably could’ve bound Lua and still done a better game in the same amount of time. Assuming the other bugs hadn’t caught me that is!

Sunday comes around and I pick up where I left off… some stuff on the screen, basic controls, and a camera that follows the player around.
I then began working out the logic for the rooms.. deciding that I’d have three floors, each with 7 or 8 rooms interlinked. Obviously having not learned from Derelict and Moons of Subterrane that planning out lots of content is always a bad idea! Black Mark Three!
The morning was spent again wrestling with the Resource system… and were it not for a feint glimmer of hope when the Room framework started to work nicely, and I was able to traverse the Mansion, I’d have given up here.
The afternoon rolls round, and I lay out a plan of action… detailing what was missing and what I drastically needed to do to try squeeze it into the Compo.

  • Traps.. any traps.. just something to kill the player!
  • Ability to push stuff around – particularly the titular Star Diamond we’re meant to be after.
  • Puzzles would be nice to keep the player involved.. though this comes in with the Traps.
  • Probably need to cut down the size of the Mansion.
  • Game Over/Completion State
  • Keyboard Controls
  • Fix this worrying frame rate issue that’s starting to appear….

By the Evening, I did have a couple of traps in, and some basic enough physics to detect collisions and push things around as needed. I had also drawn everything bar the Game Over and Completion graphics that I’d needed, as well as put in the Keyboard Controls making it much easier to deal with ( rather than dragging the character around with the mouse as I had, and still do if you want to try it! )
However, the frame rate was steadily plummeting for no apparent reason.. so all my efforts suddenly started to focus on that…but as the deadline for the Compo loomed, I decided to postpone it to the Jam.. and get some sleep as a fresh mind might spot something wrong quicker.

Now, I hadn’t really planned on pushing it into the Jam originally, so I hadn’t much of a plan for Monday short of sleeping, and fixing another black mark – that the engine only currently works on Linux; there’s no support for Windows, Mac, or anything else ( apart from the Pandora… though I haven’t tested if the game runs on one.. I’d imagine it should though. ) There’s no Sound support either  – which is yet another black mark – and something I had planned on doing on Sunday. In fact, my plan was framework and engine bits on Saturday, content and extra bits on Sunday, quick port and sleep on Monday.

Anyway, Monday was rather worthwhile actually, as I implemented about half a dozen trap types and started cleaning up the code a bit to try make room generation somewhat less painful. It was also clear that my resource management system, which I had designed to be simple, was utterly broken and was insanely complex if I wanted to keep track of anything. The fact I had to have a helper struct to find things through the Resources system says enough, I think. By the evening I was making great strides, and as long as I didn’t draw too much on the screen, the frame rate was bearable.. I had also tested it on my main desktop machine at this point and it ran full speed, so I was putting it down to my laptop being a bit old ( and being the same one I used in LD11! )
That said.. when it suddenly started chugging at single digit FPS… I dragged out gDEbugger and had a poke to optimize everything I could… I managed to get it up a bit to 10FPS, which was enough to finish four rooms, and stuff the Star Diamond in another room with a single lowly health pack to help you on your way back.
Oh yes… you had to push the Star Diamond back through the Mansion to escape with it.
Think yourself lucky that the version I’ve linked here only has five rooms, and only one of them is really going to cause you trouble, as that’s the main one you have to go through with the Star Diamond.

An hour before the deadline, however… I gave up.

I couldn’t get it running any faster… it just was not playable in it’s current state and I couldn’t fathom why… so I didn’t submit it.
I now regret this in hindsight, as this morning when I turned the laptop on, it ran in a frame without any hassle. I shall point out that during the weekend, the laptop was not reset once.. it ran constantly… so the only thing I can think of to have caused it was my graphics driver going a bit funky and getting itself into a state it couldn’t get out of until I restarted; as I had been checking for rogue processes to kill when the FPS originally started to fall and found nothing.

Oh well.. it’s the experience which counts! but I could’ve been lucky 600!

Should you want to play Thieving Fingers, you can do so from here: http://www.stuckiegamez.co.uk/gamez/ludumdare/ld21/ where a bunch of screenshots are also included.
It’s been compiled on 32bit Debian Lenny so should run on most things as the only dependency is OpenGL.. if not, the entire source is also available here: https://stuckieworld.net/publicsvn/ludumdare/LD21/ … just ignore that self-signed certificate 😉
There is an amusing oddity on 64bit machines though.. because I’m using floats to store delta time, and I optimized things a bit much.. the delta can alias to zero and you get a stutter. It took me a while to figure out what it was too as obviously sticking in printfs and suchlike is going to slow it down!.. but yes, the game runs so fast, it aliases a float… that’s optimization!

Will I know better for next time? Perhaps… scary thing is though, I almost made it.. if I hadn’t been dealing with the resource system as much as I had, I’d likely have finished it in time for the Compo… and if I had reset even just each night.. I probably would’ve submitted for the Jam.

Oh well… for now, it’ll sit in peace for a while, until I brave the courage to go back in and redo the resource system once more…

Comments

johnfn
23. Aug 2011 · 20:28 UTC
Wow dude, that ending is incredibly painful. Since you did finish the game in 48 hours, you just didn’t think you had, maybe you could message the moderators about it?
24. Aug 2011 · 05:40 UTC
Nah it’s fine :)

I didn’t quite have anything playable by the end of the 48 hours, but the 72 hours certainly had something ( and the SVN logs can be checked for this as the final commit was 02:50:17 +0100 .. ten minutes before the deadline in the UK! ) but it’s my own stupid fault for not checking my own stuff properly, anyway!
johnfredcee
24. Aug 2011 · 05:44 UTC
Never mind, given this experience you should be able to knock the ball out of the park on the next LD!

“When I Was Human” – Post-mortem

Check (and rate) the game here:

http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=1947


 

Making a game in 48 hours is never easy, but thankfully it was less hard this time. Mainly because I decided to use tools I was more familiar with, instead of using the weekend to learn a new tool or framework.

I started the weekend with the idea of making a super-hero canabalt. Something that lends a bit of variety to the one-button run genre. A constant threat from the rear, a path that makes it difficult to stay out in front and some kind of upgrade system.

I structured my development a lot more than usual, with index cards and a vague agile methodology (and the entire living floor). I tried to sleep well during the weekend, getting 6 hours on Friday night, and 9(!) on Saturday. I also ate well, cooking rather than the usual takeaways, and only drinking one energy drink the whole weekend. (I did manage to polish off 5 pots of coffee though, which was around 25+ cups.)

 

 

What Went Right™

Organisation – I didn’t feel stressed much at all during the weekend. I managed time for music and even some graphics polishing at the end (not much mind, I’m not an artist and it’s hard to make faeces shine). All in all, I always felt like I knew what I was doing, what I had done, and what I would have to do.

 

Tools – I normally take a sackcloth-and-ashes approach to development: “If it can’t be done on the command line, then… you’re lying, because everything can be done on the command line. Fiend!” – But this weekend, I used FlashDevelop and worked on windows most of the time. FlashDevelop really is unparalleled when it comes to Actionscript coding.

 

K.I.S.S. (Keep It Simple, Stupid) – I nailed down the initial mechanics early. Platformer with tilemaps, jumping, double jumping. I did it all with multi-coloured squares too, sprites were an afterthought. I didn’t try to invent a new genre, and I didn’t try to rewrite the entirety of FlashPunk’s BitmapData handling (see: LD #19). I took a simple idea, and made it.

 

Asset Pipeline – I learned the workings of D.A.M.E. very early on in the weekend. Got familiar with its output format, its awkward, awkward tools, and it’s habit of refusing to write to CSV on occasion because it believes MXMLC is still holding on to the files (although this is more likely Adobe’s fault). I got much better at using Graphics Gale for initial pixel pushing and animating, and then using Photoshop to touch up and bake in some vague lighting.

 

Emitters! – Who doesn’t love little objects that fire random things in random directions? More Emitters, I say. More. I wish I could have Emitters every day of the week. My next game might be made entirely out of Emitters.

 

Guinness – Thanks to my first point, Organisation, I afforded myself an hour on Sunday for a few relaxing pints of Black. Boom.

 


 

What Went Wrong™

Tilemaps – I spent a lot of time trying different ideas on how to procedural generate the maps. I had never made a platformer before, nor any game that made use of tilemaps. My first 30+ hours, I simply used a very very large tilemap, ~10000 tiles wide. This allowed me the ability to continue working and come back to this issue.
Eventually I decided upon much smaller (200 wide) tilemap segments. These were manually arranged in sets within the Level class, with each set corresponding to the players current powerup progression, and then randomly appended to the scene when the player was < 1600 pixels from nothingness.
This worked fine for a while, until I realised that these tilemaps were persisting, and even being called in collision routines LONG AFTER THE PLAYER HAD MOVED PAST…. Some rewriting here, and some destroy()’s there and we gained a little bit of performance back.

(It’s worth noting however that I didn’t infinite-ize ALL of the tilemaps in the game, and getting more than 2000m will cause the world to end in a dramatic, double-buffer kind of way, go-on, I dare you.)

 

Helicopters – See those bombs that keep dropping? Aye, they’re coming from a helicopter. Do you know why you can’t see the helicopter? Because I suck at drawing helicopters.

 

Wall Jump – Not as easy as I first thought, I had it working early on, but it didn’t feel right and it looked weird. Definitely a brick for the post-compo window.

 

Communicating with the player – Even in a relatively simple game (perhaps more so if its a well establish genre, actually), its hard to communicate certain ideas, goals and hazards to the player.
My intention for this game was for the player to only lose if they got caught (or, more accurately, blown up). This meant you didn’t lose any health if you fell down a hole.The holes served simply as a setback, in order to close the distance between you and the doom of fiery sky-bombs.
Seemingly, people missed this, and thought it either odd that health wasn’t removed by falling down, or that it was cruel that health wasn’t restored when returned to the last checkpoint. In the post-compo version, I will address this with 2 changes.

 

First, I will record player position AND bomb position at each checkpoint, and restore on death, as opposed to just the player position being restored as it is now (and then the bombs being teleported to a nearby threatening location).

Second, when a player dies, I will animate the scrolling of the screen back to the checkpoint position, display both player character and distance from danger. I will then visually display a reduction in this distance, to reinforce the punishment.

 

 

What’s Next?

Aside from the aforementioned changes, I have a few other ideas I’m going to be implementing in the near future, including, but not limited to:

Story mode, with a number of discrete, designed levels, catered to the current unlocked DNA.
New DNA’s, including Spider-Monkey, Electric Eel and Mole.
Highscores, self explanatory!
Better graphics, self revelatory!
High Definition Jazz Kittens, only at participating stores.

 

Crazy Idea?

Passive Multiplayer

After a playthrough, a replay of the players run, along with the generated map of their run would be saved with their highscore. Next time someone plays, instead of getting a freshly generated map, they would retrieve one from a server, along with the “ghosts” of everyone else who played that map. Allowing for an indirect, asynchronous level of multiplayer competition.

 

Conclusion

What a bloody great way to spend a weekend. I always enjoy it too much. This time I feel more accomplished and I’m looking forward to working on this game for quite a while to come. Hope you all had a great time too!

 

Timelapse

Tags: as3, flash, Flixel, postmortem, timelapse

HTML5 / Javascript gamedev postmortem

So I chose to make a game with HTML5 / Javascript using the JawsJS html5 gamelib.

I used the <canvas>-tag since I wanted to make a freeform level with pixelperfect collisions, basically I made the whole thing in graphics gale, could as well have done it in paintbrush.

The new HTML5 <canvas> tag makes it easy to get the data in raw format, basically an array with RGBA values. From there on it’s to check collisions.. 1 pixel at the feet is a decent start.

The most annoying thing is probably the audio-formats that’s supported for the new <audio>-tag.

Safari doesn’t play OGGs for some lame reason, and Firefox doesn’t do MP3s. So all audio has to be provided in 2 formats.. also you wan’t detection at asset-loading time etc. I could have lived without that cruft.

Otherwise Javascript has become amazingly fast, I think V8 is faster then ruby and python. All browsers come with good debugging possibilites.

Javascript doesn’t have the traditional classes and inheritence, but rather prototypical inheritence.. which can be confusing at first.

What I love is the dynamic nature of objects in Javascript.. basically all objects are big key-value storages (hashes).

So you can whenever you want just set a new flag/property on whatever object.

/* Player.dead has never been defined or used at this point */

if(player.dead) { … do sometting …} // won’t throw any error.. played.dead will just return undefined

player.dead = true

if(player.dead) { … do something .. } // played.dead is now true and code will be executed

The biggest upside with javascript is ofcourse ppl not having to download anything. No virus-scan etc etc. Just instant gaming. And the big players are making the javascript engines faster on a daily basis.

Play my Javascript game here:

http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=108

Here’s a teaser-shot from the game, you start in the “west prison” and have to find your way out of a huge castle.

 

Tags: canvas, html5, javascript, postmortem

Escape Artist postmortem pt 1 (of 3?): Is python/pygame feasible?

This post is about if python and pygame is feasible for LD48. But first… an action screenshot!!

So. How good is Python/Pygame for making games?

Good parts:

  • Python is a lovely language, an absolute joy to program in compared to just about anything else. It is definitely superior to any brand of ActionScript. I never got bogged down in syntax or trivialities, and bug fixing/iterating flew by.
  • Programming in Vim, favorite native text editor by far*, was orders of magnitude better than being relegated to some IDE, or worse, Flash’s cobbled-together editing environment.
  • I was worried that a lot of the things that I loved about the rapid development cycle in Flash would be lost in python/pygame, but I turned out to be almost completely wrong. For instance, I liked that in Flash you could just draw something and instantly have it in game, but as soon as I wrote a nice abstraction layer I had that in Pygame too. In flash I really like how you get animated sprites for free with keyframes, but that was about 5 lines in Pygame. There was some oddness about text not being multiline by default, but I managed to fix that quickly by taking some open source code. Which leads me to my next point:
  • Pygame has a fairly respectable community. Every time I have encountered a bug (so far), I have managed to fix it just with a simple Google search.

Bad parts:

  • One big missing thing from pygame is the wealth of neat filers and effects in Flash. I really wanted to do some nice TV static or something over my game, and make some stuff glow, but I was simply incapable, and I felt like in general my graphics were a bit worse than they could have been in Flash.
  • Another really nice thing in Flash: Tweens. And then even better is the open source Tweener library for AS3 which does a lot of really slick transitions and effects. I hand coded these in Escape Artist, and Flash could have saved me some time.
  • Now for the absolute worst part about python/pygame: porting. Turns out not too many people are excited about taking your raw source code and compiling it. py2exe and py2app are the standard for Windows and Mac porting, respectively, but it was still really hard to get them set up, and in fact I’m hearing reports of really obscure crashes in the Mac port – something that I’ve never encountered in my Ubuntu testing.
  • It actually took about 24 hours to port, which was really sad for me since it (understandably) got no votes during that period :(
So, is Python/pygame viable for Ludum Dare? Sure – if you plan out how to port beforehand. Now that you’ve read my postmortem (the first part, anyway), you should go play my game! Tell me what you think. * If you have never heard of Vim or Emacs, you absolutely must try them out. They have a steep learning curve, but you’ll soon be flying through code like you’ve never done before.

Tags: postmortem

Comments

23. Aug 2011 · 21:19 UTC
Cool, I also used pygame for my game! I think your comments are mostly right on. I don’t know Flash, though, so it’s harder for me to compare. You’re right that porting is the biggest pain, especially since I usually run Ubuntu, and I find Windows so hard to use by comparison.

Post-mortem – MoveOut

Day 1

This weekend I started with a game where you had to escape from jail by warping around, teleporting, picking up keys, and by avoiding or killing guards. That game almost worked except for the guard part (click), and I had added particles that where being moved by a fractal noise. worked most of the Saturday on that game but than i decided that it wasn’t good. And i came up with  a better idea. In this game you had to get to the other side of the game. But there were walls, lots of walls that are in your way. So to get to the other side of the room you need to move those walls. Sounds very simple. So i made a level loader first (click) and added some graphics. Next thing what i did was let the player move and detect the walls. Dit a simple check on my 18×18 level bitmap if the pixel was white. If that was true you could go there. I got that to work pretty fast (click). But than I had to move the walls. I’m not very good with math… So that was a problem. how could i ever select those walls. I’ve tried some scripts where it checks the first pixel you click and than checks up/left/right/down and so fort. but that didnt work. The rest of the day i only hurt my brain more and i played some games.

Day 2

I came up with the idea that I could select them by color. So I build that. And it works. It checks every 18×18 pixels and if the color is the same as the clicked one it would be stored in an Vector. Than i made something to move those blocks and check if there are no blocks in the way. I did that a little bit too fast. now you can only move 1 block at a time. and it goes very buggy. Sandly toke too much time to fix before end of LD21.  And than. a error from the compiler: Not_Found. that was all, nothing more.. 30 minutes of searching… a Compiler bug. added one line non-related code to a function and it worked again, pfew.

What i used:

  • haXe
  • FlashDevelop
  • A modified Autotracker-C
  • SFXR
  • Paint.NET
  • Photoshop (but nothing of that is used in the final product :P)

Still i’m happy that i finished this game. It works good except for the movement and it looks nice too. Just bought a domain. pixelhead.org time to make myself to a Indie game developper.

See you all next LD

 

Corné

Tags: flashdevel, haXe, post-mortem

Time-lapse Released!

I’ve finally managed to crunch 95 GB of images into a time-lapse for my game, Facilitated Escape. You can view at the link below:

Ludum Dare 21 Time-lapse

Comments

wallacoloo
24. Aug 2011 · 00:29 UTC
95 GB of images and it only turned out to be a 4 minute long 360p video? Even at 60 fps, a series of raw bitmap 360×480 images should only take up 2.5gb/minute = 10gb total.
wallacoloo
24. Aug 2011 · 00:30 UTC
Oh, but nice timelapse. I liked seeing how you shaded your graphics, I think I’ll try it that way next time.
04. Sep 2011 · 22:27 UTC
@wallacoloo No, no, it was 6,472 PNG images at 2560×1440; I had to compress the video a lot.

Timelapse for Abigail’s Descent

[ Abigail’s Descent | timelapse (youtube) ]

I admit I don’t really “get” the whole timelapse thing – it’s too fast to see anything that interesting. I had my webcam this time (although it stopped working on Sunday) since I was going to be LDing in a variety of cool locations (you’ll have to watch the video to find out where!). I put a big countdown clock on there too, sacrificing a good 30% of my screen real estate for the sake of this video. I still don’t think it’s that interesting! :)

Anyway, if anyone has any tips for making a better timelapse video, lay them on me!

Comments

vandriver
24. Aug 2011 · 01:36 UTC
schism tracker! high five! were you an impulse user back in the day?
24. Aug 2011 · 04:27 UTC
I like the timelapse-videos.

Momentum Post Mortem

Well we did it.  We survived our first Ludum Dare and came out feeling like we accomplished our goal.  So now we are going to go over the experience.

Idea

When the comp / jam started, we took immediately to talking through any idea that we could come up with.  We went from being stuck in a house, to being stuck in a prison and even a few others.  As Friday night dragged on, we went back and forth several time without settling on a game idea.  Sleep, we decided, would help us think.

On Saturday morning, the idea started.  It was very simple at first.  You are in a tunnel and trying to escape.  What you were trying to escape was irrelevant at that moment.  We had a direction.  Immediately the coding began.  At first is was a cube and there was a square corridor.  The movement was the first thing to be put into the game.  The thought was that using physics and gravity, we could come up with an interesting game.  It might not be very deep, but we were hoping it would be fun.

Momentum Main Menu

What Went Wrong

Several things went wrong during the weekend.  Things from choosing the right idea, time taken by family, the day job taking time and a lack of play testing.

From the beginning, we wanted to do something unique and original.  We wanted something that stood out from other games for being unique.  In the end, we should have focused on making a fun game.

Family things got in the way pretty quickly.  Most of our time on Saturday was taken on a trip to my Mom’s house.  It happens, but better planning on our end could have helped us to minimize the impact.

On Monday, I had to get back to the day job.  This takes a lot of my time and energy dealing with the everyday IT stuff.

The family and job stuff really came back to hurt us.  There were several game features that we really wanted to do, but we ran out of time to get it done.

The final thing that went way wrong; We did not have anyone play test our game.  This could have helped us refine the controls a little more and ensure that the game idea was fun for other people.

What Went Right

We did a really good job of sticking with a simple game idea that would be easy to finish in the allotted time.  Having been in 3 previous 24 hr game jams, we were fortunate enough to have seen this first hand.

We managed scope creep very well.  There were several planned game features and graphical enhancements for our game.  The smart decision on our end was to get the game play working and then go back and add polish.  Had it not been for this, we could have easily became bogged down in trying to overload the game features.

The art turned out very well.  The models were mostly low poly with the details handled by the textures.  The textures themselves were part of a pack that we had purchased from Dex-soft.  They were purchased early this year in anticipation for a sci-fi game that we had in mind.

The sound and music selections worked well with the art and overall style of the game.  We used sfxr to generate the sounds for the game.   The sounds were randomly generated until it sounded right.  The music came from several music packs that we bought from Artieria.  Again these were bought in anticipation for another game.

Overall

It was a great experience and just getting a game done is more than enough reward.  I’m hoping that at least a few people enjoy the game, but even if you don’t be sure to give us some constructive feedback.  We might choose to continue working on the game idea … only time will tell.

 

 

Under a Watchful Eye – Postmortem

Balance is a difficult thing to achieve in a video game, especially in one that lacks any beta testing. My games for the Ludum Dare thus far have turned out to be unfairly difficult to the point of being unbeatable. My game for the LD20 actually had no win scenario because of a bug. My new game, Under a Watchful Eye, is so incredibly difficult that only a handful of people were able to make it out alive.

In this game, you are the captive of a giant floating eyeball that is patrolling a mountainous region. You cannot leave its immediate vicinity without it firing a laser at you. In order to escape, you need to use the terrain and rocks as cover while making a mad dash for it. At this point, the eye will rise into the sky and begin hunting you. The player then needs to reach a control point in the middle of the map to deactivate the eye’s hostile mode and survive.

The problem is, there was only one real escape route in the whole level, and even then, one needed to think just like me in order to make it through. Some people would run into this route backwards, unable to see the obstacles ahead. Others were unwilling to get hit by the laser at all (you can survive the laser for a few seconds before dying). Most just couldn’t find the exit, dying in a hopeless rush and giving up.

I spent Friday on the concept, Saturday on the basic code and art, and Sunday on refining the code and AI. I should have put some time into the actual level! I’ve leared a great deal from this past weekend’s competition. It was an exhilarating experience and I loved every minute of it! Next time, I’ll be sure to complete the whole game before devoting so much time to art.

I’ll be working on a post-compo version of my game to have a little something for my resume. I wish to break into the game industry, but it’s tough being a solo act! I’ll be incorporating some of the things I learned this weekend into my main project Against the Wall, which is itself a giant learning/portfolio project. I’ll see you at the next LD!

Under a Watchful Eye - Postmortem

Post-Mortem is very appropriate

post mortem of 'I was a teenage Hipster!'

'I was a teenage Hipster!' - Post Mortem

 

So this was my second LD – I’ve been obsessed with making games for a long time now (fair to say I’m very likely in similar company :P) and this was the perfect way to continue to learn more about the process. Like many recent newcomers I found out about this whole thing through Notch (thanks!)

What went right:

  • choosing python – wow I am blown away by just how fun it can be to code in this language; it’s very intuitive so even though I’ve only been using it for a couple weeks it felt very comfortable to get into.
  • pygame – makes simple game development a joy
  • putting a more wacky spin on the game – my last entry was very simple in terms of story and I didn’t want to repeat that. This time I put alot more time into the writing, fleshing out the setting and plot without coming across as overly verbose, tightening the dialogue, etc. I had alot of fun coming up with the various snide/cynical quotes uttered by Trevor at the beginning of each level and upon picking up special items.
What went not right:
  • py2exe – first off I wanna say I still really appreciate that this module exists, without it I’d have no real chance of sharing my game with anyone not running python. But it does seem to possess a few bugs or atleast quirks that you have to be aware off in order to get it to work correctly in conjunction with pygame. It’ll do things like not bundle certain DLLs required by your application which you have to do manually. Normally this would be no problem but the added time pressure of LD makes it all the more challenging.
  • time-management – my initial vision for the game was ambitious (atleast for my skill level haha) and while I did end up finished about 95% of the features I wanted to include, I missed the 48-hour deadline in the process and had to submit under the jam. What’s frustrating is that if I had just been more disciplined with my approach I’d have stood a good chance of making the first deadline.
  • too much caffeine – ‘oh there’s two hours left till deadline and I haven’t slept for twenty hours and have already consumed enough tea for a week? Haha that’s not important give me another cup wait why can’t I feel my face?’
Anyway I’m looking forward to LD22, if anyone knows of a good language/platform for quick and easy deployment to the web I’d love it if you would share your knowledge :), I’m leaning towards flash but am confused by all these frameworks like Flixel, FlashPunk, etc. and which is best for what. Thanks for reading!

Tags: LD #21, post-mortem, why did i spend so much time on the picture at the top?

Comments

Felipe Budinich
24. Aug 2011 · 02:35 UTC
Flixel and Flashpunk are both awesome (and strikingly similar from an API perspective, under the hood, that’s another story). I would suggest you to do basic tutorials on both of them and then pick the one that makes you feel more comfortable.

Who else used Java or Processing?

Hey all!

I can’t figure out a way to search the games by the technologies used to create them, and I’d love to see what else other people have created using the same languages as me.

It’s really inspiring to see the awesome things people can do, so if you used Java or Processing, I’d be really happy to take a look at your game!

Edit- Here’s a link to my game, available as an applet, web start, runnable jar, and OS-specific executables: Escape from Monster City

Tags: java, processing

Comments

24. Aug 2011 · 00:32 UTC
Haha I’ve used processing actually. It’s the only programming language other than php I’ve worked with for the past few years so it was either that or nothing :)
24. Aug 2011 · 00:33 UTC
I was considering doing Processing, but decided against it for no discernible reason. I think the next LD, I will be using Processing, if for no other reason than for more people to be able to try it out. (I used the tech set that I’m most familiar with – iOS – which probably has the *smallest* audience who can try it out. heh.
8bitmuse
24. Aug 2011 · 00:34 UTC
Hey Kevin, I don’t know if you want games specifically from LD 21 but my entry for LD 20 was made with Java and jMonkeyEngine. Have you tried uploading your games as applets by the way? When I was trying that I remember encountering alot of roadbloacks. It would end up running for only windows and nothing in IE.
24. Aug 2011 · 01:00 UTC
I’d love to see what you did for LD20!
sfernald
24. Aug 2011 · 04:45 UTC
Oh yeah, wow, I almost forgot. I did a Processing entry back in 09 called Brinie.
sfernald
24. Aug 2011 · 15:57 UTC
I forgot to mention is that I really enjoyed my experience with processing.

What’s better?

Hi all. My name is Aaron and I am thinking of entering the next Ludum Dare compo, and this would be for me to get better at that language. I am just stuck on one problem. Which language is that gonna be?

I have heard from multiple people that C# is good and Java is easy to learn. I know both of these fairly. But I want to continue learning this language so I come here to find out what language is best to use in game programming. I know there are some professional’s here and know what a good language is for games, and all I am is a noob. So, if you wouldn’t mind, could you please comment on what a good game programming language is.

Thanks a bunch,
Aaron

Comments

24. Aug 2011 · 01:18 UTC
Different people are going to have different opinions, and it’s entirely subjective. It’s a bit like saying “which is a better color, red or blue?”
24. Aug 2011 · 01:46 UTC
Also, a good way to look at programming languages is to see them as tools, like a hammer or saw. You can’t really ask “which is better, a hammer or a saw?” because they each have their own pros and cons depending on what situation you’re in. So, see what you can use C# for, see what you can use Java for, and decide from there which language suits your needs best.
Felipe Budinich
24. Aug 2011 · 02:20 UTC
“My advice is to try both, work through the basic tutorials of both, and see what fits into your head the best.”
bitbof
24. Aug 2011 · 04:41 UTC
Programming languages like C#, Java and Action Script 3 aren’t all that different. And it’s getting ridiculously easy to make games with any of them. I’d say find a game on here that you really like and take a look at its source code. And then just go for that language.

Run Run Robot: Run Run Game Dev

Yay.

We did it!  Three days, one game.  Hooray!  There were some scary last minute bits due to out of date drivers on a testing machine, but everything came together and Run Run Robot got released.  You can check out our game here or read on for my clumsy summary of the development process.

 

The Process:

We used LÖVE as our game engine and wrote our game logic in Lua.  I did a lot of art and direction, but the vast majority of code was pumped out by the heroic and capable Brian and Eric.  Art was done in the copy of Photoshop Elements that came with my Wacom.

We used Mercurial and the excellent Bitbucket for our version control.  I’ve previously only used Mercurial for individual projects, but I have to say that having multiple people work on the same project on this time scale meant a lot of merges.  I hope I was doing something wrong, because I don’t want Mercurial to be that hard.

Day 0:

The topic was announced at 7PM our time, so our first day of work was just discussion, design, concept art, sleep.  Designing and talking over IM was a pain in the ass.  We’ll try to meet in person next time, or at least have a shared whiteboard and voice chat online somewhere.

Day 1:

Brian wrote animation loading code, made a random level/enemy spitter-outer and handled our basic collision code in top notch time while Eric wrote most of our weapon/shooting code and added the boss.  I painted all of the level graphics and player animations.  Lame croppings of the original concept art were used for the initial boss and enemy graphics.  Our animation loading code uses individual PNGs instead of strips, which seemed totally worth the performance hit.

Day 2:

Powerups, health, tons of discussion and tweaking to make the game as fun and playable as we could manage while still keeping it a little too hard.  I drew the boss animations and finished up the win/lose screens.  I’m pretty new to 2D animation in general, but this watercolory style of animation was especially new to me.  I enjoyed it.

Eric also took it upon himself to sneak a Jedi mode into the game, which was way too cool to hide behind the Konami code as originally intended :).  The only way to kill the boss is to reflect his own shots back at him with a light saber.  I suck at it.

Day 3:

It was Monday!  We had to go to work :(.  During our lunch breaks and after work we fixed a couple crucial bugs, added more instructions and added a life bar to the boss so the player can know just how close he is to winning.  We also made Jedi mode easier to get to as a rather good last minute decision.

Submission time was mostly composed of Eric screaming at me to redraw the victory screen for Jedi mode to have a light saber in it and me insisting that we just didn’t have the time.  “WHY DID YOU HAVE TO DRAW HIM IN THAT POSE??!” he shouted, fists clenched to heaven.  The cries shall haunt me forever.

The victory screen really does look like he should be holding a light saber.  Sigh.

 

You can view Run Run Robot’s Ludum Dare page here.

Problem with Entry Links?

As I’m going through everyone’s post mortem, I click on the links to their entry pages to play and rate their games. But the page it takes me to doesn’t have the rating form. It does allow me to leave a comment, and it shows my dashboard bar at the top, so it knows I’m logged in, but the rating form is just missing. I have to manually go to the “all entries” page, search the name, then navigate to the entry page that way, and the rating form shows up. Is anybody else having trouble with this, or am I doing something wrong?

Comments

24. Aug 2011 · 01:48 UTC
That’s because usually when you access the game page to see the comments, it enters as “preview”.

Check the URL, it should be “action=preview”. Just change that to “action=rate” and it should work.

Woo, my first Ludum Dare was a blast

I really feel like I learned a lot about getting something designed and finished in a short time.  I wasted waay too much time coming up with awesome ideas and class designs, and I spent a lot of time on stuff like thread safety and timer rollovers, since my day job is writing real time embedded software that doesn’t do a whole lot, but what it does has to be done completely perfectly under all circumstances.  I think next time around I’ll be in the right mindset to just hammer out something functional as quickly as possible, so I have more time to focus on putting in more fun

(pro tip: It turns out that the Battletoads speeder bike level isn’t fun or difficult if there are no jumps involved)

Escape the Flood – Post mortem

When the LD48 v.21 competition started I was on the Loas border taking a short break with my girlfriend. I contemplated going home to Chiang Mai but insisted to myself that cutting my holiday short would probably mean that I was inevitably going to get killed and I’d spend the next six months trying to Escape the wrath of my better half. So, I figured I’d leave it and enter next time. Usually when I want to do something, nothing much stops me.

I traveled from Chiang Khong on the border down to Chiang Mai, Thailand. A journey that took about 7 hours (4 of which I was chatting to a nice Swedish guy with a questionable hair piece) Anyway, I arrived back in Chiang Mai, got a taxi home and sat chatting to my work mate. The competition was well underway, so I didn’t think about it too much. I went over to my computer to see if anyone else had submitted games and couldn’t believe, there was a rook of entries already and I saw the keyword… That was it, 14 hours to go on the board… I need to make something. 😮

I needed an idea so I threw a couple around… “You need to escape from the government”, “You are a rioter, and need to escape from the police”, “You are dead and need to escape the afterlife”… you know, the non-sense ideas (Maybe the last one isn’t so non-sense) ^_^

A few weeks ago, the same friend bought an xbox, the first game he bought for it was “From Dust”, a game I’d found through @photonstorm via twitter and keenly showed my friend. (I’m still yet to play it, although I have seen the gameplay). When thinking about escape games, it jumped into my mind and even though it was demanding to write a prototype of such a game in Flash, I had a full 14 hours… 😉

The result is here: http://bit.ly/pCvKDo

OK… The rights and the wrongs.

RIGHTS

  • It’s visually quite impressive for Flash
  • I got more that a single level in
  • Its nice to play with as a sandbox
  • The characters have different walk speeds and recovery rates
  • The game is quite small due to some procedurally generated environments using fractals
  • Environments look organic
  • The point and click mechanism is nice for a 3D game in Flash

WRONGS

  • The game is unbalanced for the requirements of this competition
  • I’m getting feedback that the controls are quite difficult
  • I’m getting feedback that the CPU usage on some machines is high
  • The camera is not bound and can pass through the terrain
  • Level design is generally poor
  • Game mechanics are lacking
  • UI is poor, because my FlashBuilder trial ran out and I would usually have used that

All in all, I’m happy…because I was able to build a working game in 26 hours (remember the 12 hour extension? Yes, I needed it all- no sleep for 35+ hours)!! I had super fun with the hallucinating finish where pixels were moving and I was thinking…”Hang on, I didn’t code that in??”)- I loved the spirit of the competition.

WHAT I’LL DO DIFFERENT

Yes, I have the bug so hopefully LD22 will see an entrr from me next time and I’ll be prepared… In fact, that’s my main tactic, organization. Get my workflow for all game elements ready and use the full term. I think I’ll probably prepare a screen cast since I saw some of Notches screencast and it’s probably good to read back to see if there are any constructive comments within the flame flood. Anyway, thank you LD for a fun time and see you at LD22.

Peace

Super Kommandant Extreme Post-Mortem

Alright so i had a ball this Ludum Dare, really glad i entered anyway, rather then writing a huge essay i will just write a few short(ish) points:

What i did right:

  • Stuck to my guns! i had an idea and even though i found it very challenging to implement the basic game mechanics i feel a great sense of achievement as a result.
  • Slept at least 8 hours each night and ate a reasonably healthy diet.
  • Pulled myself together on day two despite feeling quite restless and distracted.

What i would change next time:

  • The idea i picked and the way i implemented it ended requiring a lot of instructions for not that deep game play, looking back on it now i feel i need to adjust my designs to allow for  ease of learning, stick to mechanics which are self explanatory or familiar.
  • I made the fairly bad mistake of choosing to do ‘quick and dirty’ code ignoring years of good practice with dynamic systems, even though i thought these would save me time i believe they ended up costing me extra in the end and potentially limiting the players experience as a result.

So whats next?

To me Super Kommandant Extreme is an unfinished game with which i can do a lot more then i am presently so once i have settled down i will begin working on a post-dare version with the following features:

  • Many varied enemy types!
  • Day time, allowing the player to control the ins and outs of prison life!
  • Expand and customise your prison!
  • New victory condition : Become a General! every German officers dream!
  • Host functions, Embezzle funds and get investigated by the Gestapo!
  • Manage your daily budget and save up for that extra watch tower you have always wanted!
  • Re-done Graphics, sounds and sooooo much better AI!
  • Better lighting efficiency so we can put even more light sources in game!
  • Customize guard behavior, patrols and more!
  • Deal with Sabotage attempts as well as escapes!
  • Many more!

Sitelock madness!

So, I had some hard time preventing my LD20 (the previous one :P ) game from spreading around the internet like mad, so i thought about sitelocking it this time. So I did, and during the short period when it was on Kongregate, someone already put it on his site. I wouldn’t mind, but since I decided to take it down from Kong and continue development, I didn’t want it to spread over the internet beforehand.

And to my astonishment, the simple sitelock worked and the game didn’t launch :) So I immediately got this idea in my hand: if I can rule out playing that game, I can pull off a prank :P So, I changed the sitelock to play the special ending right away if the sitelock test fails :)

Uhm…. I guess you would need to see the special ending to get the joke :P So I’m gonna shamelessly plug my entry into this post

tl;dr – Someone stole my game – it was sitelocked – changed sitelock to a pranky one – win – ps, play my game

0

This entry was posted on Wednesday, August 24th, 2011 at 3:40 am and is filed under LD #21. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

This Weekend’s Big Score

Hey the real good news this weekend was that I took late friday night off from the compo and managed to score a $99 HP TouchPad. Woot!

Welcome to the hotel TouchPad,
Where you can check out any time you like,
But you can never leave.

Untitled Gameplay Video

I added a link to the Gameplay video to the Submission page.

You can download, play, and rate the game:

http://www.ludumdare.com/compo/ludum-dare-21/?action=rate&uid=3966

You can watch the video here:

http://www.xfire.com/video/4c77ef/

 

Its always fun participating in Ludum Dare, my goal was to make a nice game demo, and not necessarily a full game. I accomplished what I wanted to in 48 hours, and have started refining areas of the game now.

The first thing I did was ditch the old controls that are present in the Compo version, in the compo version you moved with A and D but to change colors you used 1-4 and to deselect you used Q. Not very intuitive or easy, when I first watch the gameplay video was when it really hit me how slow it was to hit the number. I knew adding a GUI would be one solution, it was an idea when I first started, but I don’t care for GUI’s because they are either starkly obvious, or they blend in really well with the background. My solution then was to change the controls over to use the mouse, You now have to point and click on the color you want to make transparent, right clicking clears your selects (makes them all solid) you still move the same way. So far it has proven to be a much faster way to play the game.

The next thing that I have started on is the score, I want to make your chooses effect score more, and reflect a bigger difference. I plan to add an online highscore table, but for now I’m tweaking the scoring system a bit.

I’m not sure when I will have a post-compo version out, but it is coming. This weekend I will write up a Post Mortem, that will go more into what went right and wrong for me.

Dee Tea Arr Jay – A post mortem of sorts

This man is not George Takei (although I do see the resemblance)

He’s still a cool guy though.


A game about being trapped by menacing, science-y boxes.

And escaping their cold, firm grip.

With the power of your electromagnetic bracelet! ( or at least that’s what I’m going with )


What I learned from this here Ludum Dare:

– Eating is nice, don’t forgot to do it.

– When you do remember, read the cooking instructions

– Try writing a song or using music software before winging it in a competition

– I sure do make a lot of top down games

– Nobody seems to think my spaceman looks like who he is

Final Thoughts:

– I should make something not top down

– puzzles are usually harder to solve than to design

– stat tracking is super fun and super easy to put into a game

Let me know if you can beat my stats, I’m sure it’s possible. (<– not sarcasm )

Comments

24. Aug 2011 · 10:24 UTC
I think he looks like The Rock!

Lost in the Depths – Postmortem

This is my second Ludum Dare entry, my first being in LD20. For this one, I really wanted to try making a multiplayer game, as I it seemed like an interesting thing to do in 48 hours. My concept was a roguelike game where the player was part of an adventuring party who must escape from a dungeon after things go wrong. Because I figured many people would end up playing the game solo, I also wanted the ability for players to carve messages into the floor (an idea straight out of Nethack, I’ll admit). I was thinking that maybe people would carve hints or some such.

What Went Right

The Graphics/Audio/Networking Library
I was using a modified version of my base code from the last Ludum Dare, with a networking component I grabbed from another one of my projects and added to my base code. It generally worked really well, with few notable problems. I worked out most of the kinks last time (mostly related to applet startup/shutdown). I did have to fix a single performance issue with the renderer, though.

Server Performance
My main game server is running on a small virtual server, and I was worried that it would run out of CPU if more than a few people connected. But so far, it has handled the load very well. There also have been no problems with bandwidth on the server side.

Backend/Threading/etc.
I went with a weird architecture that had a separate thread for each zone (which was a bit pointless in retrospect as my server only really has one core). Still, I’m happy that it works without crashing excessively. Even with a few players connected CPU utilization is low on the server. Also, I was a bit concerned that the communication between the threads could lead to some kind of deadlock, but that doesn’t seem to happen, which is good.

Pathfinding
I wanted to give the player character the ability to path around obstacles, which would make the game more user-friendly. To do this, I made a simple implementation of the A* pathfinding algorithm. Because the pathfinding was server side, I was worried that it would overload the small server. But it actually works pretty well with no noticeable stutters. There is the slight issue that you can order it to path to places where the entire path isn’t on screen, though. Using this trick a player can find paths to anywhere onscreen, even if the actual path runs all over the level.

What Went Wrong

Responsiveness
As any good UI designer will tell you, a good GUI must be very responsive, aka it must respond immediately to user actions. To ensure this, most multiplayer games use client side prediction to create the illusion that the game responds instantly to player actions. However, to simplify things, Lost in the Depths uses a “dumb client” model where all game logic is processed on the server side, and the client serves as a sort of glorified renderer. As a result, any action requires at least double the ping time to the server before the user sees any response. This problem is exacerbated by the fact that the server only runs 4 logic ticks per second, so the request must wait for the server to get to the next tick before it processes it. Finally, there is an error in my code that delays all actions by an additional 1 tick (250ms), which does not help either.

Testing
My design for this game was somewhat complex, probably too complex. I did not have enough time to completely test and balance all the components, and as a result there are several balance issues. Plate armor is grossly underpowered, and robes are probably overpowered, just to name a few. Another issue came up on the last day when I was about to test multiplayer. The problem, of course, was that there was only one of me so I couldn’t fully test actual multiplayer, in an allegedly multiplayer game. As a result, the multiplayer game itself isn’t very well balanced.

Level Design
I’m fairly happy with most of the level design, except for Level 2, the Labyrinth. It is supposed to be a bit of a confusing maze, but the result is way too confusing, and there are too few monsters, making it boring to play. This is exacerbated by the lack of an auto-map, leaving players wandering.

Artwork
In my LD20 entry, a lot of the main graphics were made in Blender, and were of robots, which are a lot easier to draw then people. In this game, I relied more heavily on hand-drawn graphics, and unfortunately, I’m not very good at drawing. It also didn’t help that I ended up making most of the graphics last, and at 3 in the morning.

GUI
Some parts of the game require text input, and my plan was to use the Swing part of Java to get this input. The problem was my graphics library was based on AWT and wasn’t designed to work with other GUI components. This wasn’t a showstopper, but it did take a few hours of tweaking to get this right.

Overall, it was an interesting experiment, but I’m not that happy with how it turned out. Working on a complex entry like this was fun even if the result is a bit sluggish. If I were to do it over again I would simplify the game a bit and focus more on tweaking the network performance to make the game more responsive.

LD21 Post-Mortem

So, this was my first Ludum Dare, so when all is said and done, I’m happy that I submitted something that was essentially complete. Not to mention, I had an absolute blast participating!

Language and Tools
Before starting I was debating between multiple options for which language I wanted to use. I considered both C++, the language I’m most familiar with, and Java/WebGL, since it’s fresh in my mind from projects I’ve done at work. I ended up using AS3 with the FlashPunk library, and I couldn’t be happier with my decision.  Throughout the weekend, I did not at any point feel that the technology I was working with was a barrier. I was able to quickly get what I wanted into the game. The most time I spent debugging actually ended up being FlashDevelop itself – I was using version 4.0 Beta, which had a bug with auto-completion. Thankfully, I quickly found the patch to fix it.

I also used OGMO for building levels. I do wish that I had taken some time to learn it a bit before starting, as my Friday night was mostly spent learning it.

Theme
I went into “hour zero” with no idea what I wanted to make. I actually purposely did not come up with anything, because I didn’t want to go with one theme, then have my old idea stuck in my head. So, once the theme was announced, some intense brainstorming took place. I felt pressed for time, so came up with a partial idea – escaping from a “pleasurable” place. I don’t think I got the idea across in the end too well, but I tried taking the theme on two levels, the player must “escape reality” in order to “escape the resort”. Thus, the main mechanic was to avoid dying of boredom. You “survive” by watching TV and eating exciting foods. Feeling pressed for time, I took this snippet of an idea and ran with it.

Level Design
Now I personally think that I had a strong game mechanic, but I think I fell a bit flat in terms of how I put the pieces together. The game is a platformer, and when it came to building the different rooms, my creative juices really were not flowing. The result: a short game that feels pretty linear. Part of this was due to the fact that I wanted it to feel a bit more “realistic,” and not a random labyrinth of tiles. I would guess that most people building platformers levels struggle with this.

Art
You may tell me differently, but I think my art came out well. I don’t consider myself an artist, but I’m definitely more confident in my “programmer art” skills after this weekend. I sort of arbitrarily decided to make my tile size 16×16 – this ended up making it easier to create new art, but was a bit too small. The final game is actually scaled to 200%. I do think the final look is cool. Again, the “realism” thing hurt me with art. I wanted rooms to look unique – in the end, I probably could have created a longer game, if I had settled for having redundant rooms.

Sound
I used sfxr and musagi for sound and music. I hadn’t touched either before this weekend. I ended up with both simple sounds a short music loop. I’ve gotten good feedback about the music, and the song has been stuck in my head for three days now, so I guess that means success!

Things I Wanted To Add

  • Intro Tutorial 
  • More Rooms and Keys
  • Puzzle Elements
  • Different Particle Effects to Signify Boring-ness
  • A More Creepy Ambiance
  • Paintings as Checkpoints
  • A More Rewarding Ending

Conclusion
Overall, the competition went smoothly and I’m glad that all the pieces fit together in the end. My goal for the next LD (which I’m definitely doing)  is to come up with an idea that is not so dependent on art and level design. I worked as long as I could, as hard as I could (about 6 hours of sleep each night), and just barely finished, with no time to polish. Again, I had so much fun, and am simply in love with this community! See you all next time!

BATHOS – post mortem

For my third LD I knew from the beginning that I would have less than one full day to complete the game. Knowing that, I first planned not to join, but when I saw the theme I thought that I should at least be able to do something small.

Again my weapon of choice was AS3 and low res pixel graphics. This time I tried out FlashPunk (thanks to Sos’s framework posted earlier) and even if I used very little FP code I was quite happy with my choice.

All together it turned out more or less like I imagined it to be. If you haven’t played it I strongly suggest you do so before reading any further as the game is quite spolier fragile. Feel free to try the game here:

http://www.ludumdare.com/compo/ludum-dare-21/?action=rate&uid=608

What went wrong
– story
I wanted to really put the player into the action and let the player imagine what had happened before for herself. This had could been done a lot better and I’m not happy with the intro and outro texts at all. They worked, but nothing more. I think better texts could have emphasized the point of the game and the players’ reactions even more.

– framework code
I hadn’t used FP before so when I found out that Sos had posted a quick and dirty platformer framework I decided to use it right away. The framework was good for most parts (thanks Sos!) but there where some minor glitches that stopped me from adding some of the polish I wanted in the end. Since there is so little platforming actually in the game I might have been better off writing it from scratch.

– not much
I tried to think of a third thing that didn’t work out but failed. I didn’t eat very much, but that was expected. Next time I really should take more breaks and eat better – pomodoro style!

Base functionality complete! Time for graphics!

What went right
– scope
Knowing that I wouldn’t be able to pull any all nighters I decided to try something very special and short instead of generic and large. Usually I want to make levels after level, but this time I was smart enough to realize my weaknesses and use them as strengths.

– graphics
While I usually dabble with pixel graphics, I wanted to try a new style this time. Normally I’m very much about child-like proportions, big eyes, and black outlines. In BATHOS I aimed for a realistic style in order to make it feel more real. Wether I actually achieved the latter or not, I’m very happy with the looks of the game and it is something that I will surely use again.

– framework code
Although there were some minor kinks in the framework I used on top of FlashPunk it allowed me to dive straight into the game mechanics. This saved me a lot of time and I think it was the first time in many years that I didn’t write any engine code for a game. Big thanks to Sos and Chevy!

– the name
Reading the initial response I am very happy with positive comments, something which I am very grateful for. There are of course people who don’t like the game and/or hate the ending, which it why I named it BATHOS ( = anti-climax ). :)

Final look of the first room.

On a final note, let me recommend WolframTones for quick music. It requires some clicking to get the desired result, but it beats composing for a musical newbie like me.

And that’s it! I’m really loking forward to try the entries of this LD, a lot of great looking entries. Extra kudos to Phil and PoV for putting in the extra time and effort to keep the site running – thanks a million!

Tags: postmortem, screenshot

Comments

24. Aug 2011 · 07:04 UTC
You did a great job for the graphics :) Love the style!

Thanks for your postmortem, and especially for the WolframTones link : I didn’t know this tool, this a MUST have for musical noobs like us!
24. Aug 2011 · 07:24 UTC
Woah, that’s a huge improvement in the graphics department. Post-mortems are good marketing, I’ll check this one out.
24. Aug 2011 · 10:08 UTC
I’ll check this one out. It looks quite interesting.
24. Aug 2011 · 10:33 UTC
I spent quite a while trying to figure this one out, great work! I especially like the realistic art style 😛
24. Aug 2011 · 11:41 UTC
I really enjoyed it. I’m glad that you did push through and make a game.

And thanks for the tip on WolframTones! I didn’t know about that!

Daily Fourth? O_o

Daily Fourth? O_o

I somehow managed to get the Daily Fourth on Newgrounds yesterday. I’m amazed :D

Escaping Ludum Dare

I guess I’m going to write a bit of a post-mortem here about Escape the Fate. My other blarg post focused on bugs, this is more about the development process.

See, I’m a first-timer on Ludum Dare. I initially didn’t think I’d have a finished game in the end, I just wanted to try it out and see how far I’d get in two days. It turns out I can work quite efficiently under pressure. Simply having a submission exceeded my expectations, but not being ashamed of it was even more of a milestone.

I did know about Ludum Dare before, but I hadn’t thought about entering. The TIGSource community mentioned it shortly before it started, and this time I went with the flow. There were some promising themes in the voting; I was hoping for something specific enough to narrow down the entries a bit, but also something general enough to not produce gimmicky games. Waking up and finding out about the “escape” theme was satisfying in that sense.

The event started at 5 AM local time, so luckily I had gone to sleep early enough to wake up at 7 AM. Didn’t even need an alarm clock; it’s as if my body was ready for the competition.

I realized most games would take the theme literally, as in there would be a threat you’re escaping from. I wanted to do something different, and the idea of “escaping your body” by killing yourself quickly struck me. It took me just about half an hour from getting up to getting down to business.

I decided to follow others’ advice and do most coding on Saturday, leaving the fancy presentation stuff for Sunday. Since I’m still a bit hazy in the C++/SFML department, I went for the safe choice of Python/Pygame. Once I had a basic engine running, I started designing levels.

So indie.

Then ideas just started flowing, and I repeated the cycle of adding a level/programming a game mechanic for the rest of the day. Moving platforms, switches, blocks activated by them, collectibles, springs… They’re very universal and recognizable features, but in the context of a suicide game, I managed to give them whole new meanings. It was interesting trying to prevent the player from killing himself before the intended part. I paid special attention to the level progression: the first levels are more puzzle-like, the later ones require more reflexes.

I found myself ahead of the schedule, so I started making graphics and music in the evening. It was an okay decision for me. Meanwhile many other people, even previous participants, were still only trying to think of an original idea at this point. This reaffirmed my previous beliefs that schadenfreude is motivational.

I went to sleep early and quite optimistic, with something playable and occasionally fun on my hands. But as you might expect, Sunday was more problematic. My code was fast becoming unreadable, and even worse, broken. The pushable blocks in particular caused incidents that were hilarious when they happened, but tragic when I realized I have to fix them somehow.

Luckily, I managed to avoid that for a while by derping around on IRC and polishing the presentation to what it looks like now. I fell into a coding trance in the evening and escaped my own body, but I did eventually have something to submit. Little did I know it wouldn’t work on anyone else’s computer.

I’m impressed by how py2exe packaging was still incomplete after all the added weight. I did manage to isolate the cause to the freaking font and repackage painfully, making unnoticeable perfectionist tweaks after each upload.

–

The consensus on my game seems to be “polished and challenging” in a nutshell. The concept is distinctive, the levels are memorable, the controls are responsive, the graphics are a step up from programmer art, and the audio suits the mood. However, people have asked for more instructions on the experimental game mechanic. While figuring out level solutions is in the spirit of a puzzle game, I think it’s a reasonable response, and I now know what concerns to address if I ever do an improved post-compo game.

What I regret most is that I had a bit of a rough release. At least I’ve tried to swiftly fix any game-breaking bugs that didn’t show up on my end. If I could do something differently, I’d make more people test my game before submitting, so I would have to do less patches afterwards. Even though bugfixes are allowed after the deadline, I’d love to have just tossed the game on the site before running away and not looking back.

help

i know ludum dare 21 is over now except for voting but i was wondering if your entry had to be a .exe or could it be in its original type (for xample if i made a game in python could it be .py or does it have to be .exe?)
any help is appreciated.

Comments

bluescrn
24. Aug 2011 · 11:31 UTC
You can submit pretty much whatever you want – for whatever platform you want.
24. Aug 2011 · 11:31 UTC
Both. You have to include a download to the source code and the .exe.

Android post-compo version

Did a little post-compo work on my LD48 “pinball” game, Bounce-onium: Escape from Prof. Kitty von Doom’s Laboratory – there are now 25 levels, a level select screen, cool chiptune music and most notably: SPIKES!  Lots of polish added – for example, your mouse/ball now spins properly and there are lots of new block types that can be used for level designs.

I’ve also used PhoneGap to compile my HTML5 + box2d source code into a native Android app and it runs GREAT on my phone with super smooth FPS.  Coming soon to an app store near you… =)

Anyone who made an HTML game, be sure to check out PhoneGap – you can compile your app to Android, iPhone, iPad, Blackberry, etc.  Completely free, open source goodness.

Tags: android, PhoneGap, screenshot

EscApe Deluxe (Super Monkey King Edition)

Not that my game is that interesting, or have some kind of potential, but I spent a few hours today adding some of the original planned features and touched up some of the graphics.

Unfortunately it has pretty much 0 replayability so it might not be so interesting for those who already solved it (unless you really like monkeys with their arms swaying hypnotically).

Still no sound effects though 😛

Tags: deluxe, post-compo

Find comments you’ve left?

Hey again all,

I’m looking for a specific game that I know I commented on, but I can’t remember the name of it or the name of the developer. Is there a way to list all my comments?

This would also come in handy for keeping track of the various conversations I’ve entered in comment threads.

I know I can go to the comments section and search my name, but that only returns the most recent 20 comments. Is there a way to see them all?

Comments

JohanAR
24. Aug 2011 · 13:27 UTC
I think the comments section only include your blog post comments, not those made for games.
24. Aug 2011 · 14:45 UTC
google that!

Escape from Shimishland-Post Mortem

Wow, my first Ludum Dare was a lot of fun.

Some things I think we did well:

  • Practically as soon as the theme was announced, me and my artist came up with an idea. A simple one, and we decided to stick with it and not bother brainstorming other things.
  • Letting the level designer…well, design levels. He spent practically as much time as me working, and I liked the end result.
  •  Last minute decision by me, the programmer, to redo the artist’s stick figures into something a little nicer.

Some things that went wrong:

  • Last day spent begging people to test, and fixing their tiny suggestions, while ignoring the big problem-the collision engine.
  • Artist only worked for about 2 hours, so she never had time to make helicopter animations or anything.

What’s next:

Well, I liked how those human sprites turned out. I’m working on a game using them as a template now. I don’t think I’ll keep working on Escape from Shimishland. Depends on what my team thinks.

Postmortem: Poor Ball (part 2)

This is a second part of the postmortem for Poor Ball, read the first here.

Global impressions on this LD:

This LD was my second and it went much better, I’ve had more time to think about my game and to implement it (even if I haven’t had the idea directly) thanks to less chat on IRC, but I still talked quite a bit, because not being alone is what’s awesome in LD. I haven’t been affected by the site issue as much as I thought I would be, simply because it was slow but not unreachable when I needed it…

Impressions on my game and its creation in C++:

The development went very smoothly as I didn’t loose time on features I could obviously not create in time (I lost some time struggling with a library bug, though). I could easily add the things I wanted to because I didn’t force my to do an object-oriented design (I prefer using well-designed OO APIs like SFML but I cannot design good interfaces in a short time) and simply had one function per thread: display + input, gameplay, physics and music (which was handled by FMOD without my intervention); and one function to asynchronously play sound effects. Simple as that! I had to refactor some physics code in a new function and that’s all. The game was finished in time because I used placeholder graphics until the game was actually playable.

Impressions on the graphics and sounds:

The graphics in this game are really simple:

  • A dark background image putting an emphasis on the limits of the terrain and on the danger near them with a blurring effect;
  • Simple ball and wall sprites with brighter colors;
  • A title menu with some nice text giving a small background story (you can cry or laugh at it, as it is kind of simplistic and unrealistic 😛 ).

The sound effects are nearly perfect in my opinion: I used some bell sounds and small melodies instead of visual feedback for this such as level up, loss of life, etc, as the game requires a high focus on the ball’s position. Using sounds let the player know what happened without having to look at the HUD, which nevertheless exists.

Conclusion:

I enjoyed that LD as much as (or even more than) the first and I’m really happy to have a complete game, which I am proud of as I am not a professional (game) developer (yet) !

Congratulations to everyone and see you soon at LD22 or before on IRC !

Tags: postmortem

Viral Post Mortem

Viral – Entry

Viral represents my first entry into the Ludum Dare. I’m quite pleased to have actually finished it. I’m not entirely pleased with the results, but I will bring that up in the What Went Wrong section of my post mortem. The objective of Viral is that the player is a Virus and has to run away from the big scary anti-virus programs. To assist with the virus’ flight, the player has the ability to lay two traps which hinder the pursuing anti-virus programs.

I chose to complete the Ludum Dare in AS3, using Adobe Flash CS4 as my IDE. I ran into some rather annoying issues during development, including the debugger no longer attaching itself to my game when I tried to debug. Unfortunately, I didn’t really have the time to figure out why. This particularly was painful, as many bugs that could have been caught much more quickly relied on the ‘ole debugging standard of dumping trace messages to the screen.

I have plans to clean up and further develop the game. I feel as if it has a strong base and a good potential to be fun with (much) more polish.

What Went Right

Planning
Surprisingly enough, within 30 minutes of the theme being announced in IRC, I had already determined what the game play was generally going to be. I was able to get a significant amount of code done Friday evening before going to bed. This was instrumental to being finished on time.

Productivity
This sounds funny, but I started from scratch. No base code or libraries were used. This meant I had a lot of work to do. A lot. I was able to get it all done. I ended up writing just a silly amount of code on Saturday. I had generally high productivity through-out the entire 48 hour period. This was the sole reason as to why I was able to actually finish on time.

 

What Went Wrong

IDE
Maybe I’m just spoiled by Visual Assist X and Eclipse. I just feel that Adobe Flash CS4 is just not up to the task of heavy duty Actionscript development. I’ll be trying out other Flash IDEs for any future projects in Actionscript.

Just-one-more-featureitus
Before the compo, I decided that I would feature freeze on Sunday morning and spend all day Sunday polishing. Of course when Sunday rolled around and I was behind in my envisioned complete feature set, I decided to just add one more feature and then one more, and then one more. My third anti-virus was implemented about 30 minutes before the end of the compo. In fact, I had almost no time to play test. I had other people do my play testing while I was busy implementing features, composing a 4 second loop of music, etc. Next time compo, I will definitely enforce a hard feature cutoff, which allow me to polish and play test more.

Wasting time on things that should have not happened in the first place
I wasted around a total of 3-4 hours on things that should have not happened in the first place. I spent a significant amount of time trying to debug a chunk of code. I eventually just got fed up re-coded the whole chunk. Surprise surprise, it worked nearly perfectly. Additionally, I lost a significant amount of time on a character encoding issue. Flash was treating my text file as Unicode locally when I would parse it. However, my FTP program uploaded the text file in ASCII. As a result, Flash would treat the file after upload as ASCII, which resulted in my game not loading properly at all.

Comments

Fififox
24. Aug 2011 · 14:42 UTC
Tools going wrong, that happened to me too! It’s really annoying to try fixing a bug you didn’t cause by any means, and after having lost a few hours, you decide to use something else and it just works directly. Then you realize you should have done this from the beginning, but I guess that’s what happens under tile pressure: you don’t want to try something else when what you have seems right!
24. Aug 2011 · 15:53 UTC
I strongly recommend FlashDevelop for writing AS3 code, it’s one of the best tools around, and it is free.
Felipe Budinich
26. Aug 2011 · 12:59 UTC
+1 FlashDevelop

Escape from the Dungeon, a Postmortem.. ish

Well, first off  “post-mortem” suggests this game is dead, that’s far from the case. In fact I will be enhancing and completing this game for some time yet and have some cool things planned. So instead of a postmortem think of this as more of a summation of the contest and the game to date.

When ever I approach something like the Ludum Dare contest I try to focus on a specific discipline with the aim of using the contest as a vehicle to improve my skills in that area. For this contest it was art and I think that although it went very well in general I spent perhaps a bit too long on polishing things and this hurt other areas. Also I really had no idea how to make good tile sheets! Hint for anyone reading this, there is a very handy plug in for GIMP that will help!

As for code, well I started with no pre-crated material at all, I like to write everything as much as possible within the contest. To me, starting with nothing seems more inkeaping with the spirit of the challenge, mostly though this way I end up with a bunch of new code that I can pull the gems from that might not have been written if I was locked into an existing framework. Using HTML5 and JS for this game was a lot of fun, and I am left with the feeling that I have barely scratched the surface of its capabilities. It will be excited to continue experimenting with it in the future. Choosing a language that I have relatively little skill with did prove to be a challenge but I think adding something new into the mix helped keep me motivated and interested. So over all it was a good choice.

And then we come to sound, well yeah, that should say it all really. Sound was very neglected in my game and really only got bodged in in the last 30mins before submission. Its a real shame that a tool as powerful at creating emotion, interest and atmosphere as sound is so lacking in my own person skill arsenal. So, improving this will be the focus for my next Ludum Dare!

Finally  the tools I used, I develop on Linux and my tool choices reflected that with one exception,  Mappy. This little tool is windows only and so I had to run it through Wine. Really the only reason I picked it as my map editor was familiarity, the tool itself isnt bad but using it via Wine was very cumbersome. So, inspired by tools like bfxr I will look into building an online tile based map editor using the tech I created in this LD. Hopefully this will prove useful to other LD’ers as well. Other than this I used GIMP, bfxr, MyPaint and Geany IDE, all were really good bits of kit and I will be using them again.

So thats a wrap, but look out for future versions of my game as well as a new map editor that may help with your next LD!

– Callidus

 

P.S. I guess I should link my entry here, on the off chance it gets a vote or two. Link

 

 

 

Your Favorite so Far?

As I’m going through and rating your games, I try to keep a mix of less-rated games (for fairness) and more-rated games (to check out the more popular ones). I’ve stumbled upon quite a few really awesome games, good work everyone!

That being said, do you have any favorites that I might have missed? Have you seen any games that you think deserve particularly high ratings in a particular category? Or even just games you’ve enjoyed for no specific reason?

I’ll start things off with a link to my favorite so far: Coin Runner

Comments

24. Aug 2011 · 17:06 UTC
I tried writing a post with my current favorites, but realized I’d be blamed for trying to skew the already skewed ratings. People on Ludum Dare are kinda anal about keeping a level playing field for all entries, and that’s why you can’t even see your own score, let alone anyone else’s.
sfernald
24. Aug 2011 · 18:02 UTC
Yeah, you should definitely wait until after the voting for these kinds of threads, out of fairness.
24. Aug 2011 · 23:40 UTC
Hmm okay, I was thinking this might be a good way to share the unnoticed games, but I’m all for keeping things fair. :-/

My game needs a walkthrough

http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=258

The feedback coming in is that my game is way too hard. The level that I managed to build would normally be like the last level of a 20 level game. It has everything thrown in it and I made it as hard as possible. If I had had more time I could have made the tutorial levels necessary to make it not so frustrating for players. The one thing I really screwed up on was running out of time before I could build more levels. I had this wonderful toolbox ready and I could have easily built more levels (especially easier ones) if I had just had time. Oh well, I learned a lot with Stencyl so next time my progress will be better. Game difficulty is something that I just need to start considering when I’m developing these games. It’s just something else that I’m going to have to add to the list. Hopefully I learn for the next entry 😉

Due to people having so many issues with making progress, here is the walkthrough:

SPOILER*******************
Jump over the growlers and get a boulder. Climb the rope and jump on the cannon. The boulder should load into the cannon (if you aren’t standing on top of the cannon). Then the cannon should fire the boulder into the crane. Drop the boulder on the blue rock by controlling the crane. the rock should break if you hit it. By the way, due to a bug, always wait at least 10 seconds after loading the crane before dropping a boulder. Ok, now you have a way to get back down and get more boulders. Keep doing so and reloading the cannon and try to kill off as many of the obstacles (knifers and growlers) that you think you need to to make it easy to get more boulders. Once you feel safe, start dropping the boulders on all of the things above the exit. Once you have cleared a path to the exit, then this time load a boulder but stay on top of the boulder. This might take a few tries (you have to be on the boulder just right). But then if done correctly the boulder should shoot you up into the crane and you will be stuck in it. Now move the crane over to where the exit is and release down. You have escaped!
END SPOILER ***********************************

Post Mortem

The following content is a copy / paste from my personal website so there are maybe some useless information…

 

 

This game was made for the Ludum Dare 21 on the theme Escape.

When I was student, we had to make a game in 5 days and it was in team. That was hard. But the ludum dare performance is different for the following reasons :

  • working alone is easier for the organization
  • working alone involved to be skilled in the different domain (and’s that not the case for a lot of people… including myself)
  • working alone doesn’t help to find brilliant ideas… Especially when there is a short development time
  • 48h hours is twice shorter than 5 days…

What Went Right

No big issue with the development

I didn’t across any difficulty to develop the different features of the game. All the gameplay is simple, and unity offers lot’s of functionality easy to implements.

The music

Thanks to Otomata, I succeed to make a music in less than 5 minutes which is not too bad. It’s one of the thing I’m the most proud in this game. I think I’ll reuse this great tools!

What Went Wrong

The development choices I did

In hindsight, I don’t think I did the best choices. I should have work more on the narration, the atmosphere of the game instead of producing a game in which the player can absorb. It’s maybe the point of a game : talk to the player. If you don’t succeed, your game is useless… I might have done an useless game…

Lacks of skills

I have knowledge to design and develop a game but I’m not skilled in graphic and sound design… And without that, it’s hard to construct a coherent game.

What I’ll do for the Next Ludum Dare

Less Content More Feedbacks

Like I said earlier, my game is not really accessible… I should have develop less gameplay and add more feedback about what’s happening in game and add more clues.

Next time, I think, I’ll try to do something simpler and more accessible in term of gameplay. Here I tried to do something maybe too strange. Building a meta riddle which is not explain to the player is maybe not the best way to entertain people..

Upgrading my skill in the meantime

I have to do more games until the next Ludum Dare in order to improve my graphic and audio skills as well as my design and development ones!

For that, I’ll finish the development of a game I began three weeks ago, and then I’ll begin a new one I want to do for years. I think I’ll useFlashpunk or Flixel to develop it. But I have to try both before to choose between them or maybe do you have some advice?

A time lapse

I wrote a time lapse of my Ludum Dare on Monday. To avoid this boring and difficult exercise, I’ll directly record my performance next time! It’ll be more interesting and easier to share =)

A flash game

I’m currently working on a game made with flash. And it will be the same with the next one. That’s why I think to use Flash for the next Ludum Dare. I haven’t used Unity for few months before this week end so I lost precious time with stupid bugs… (like onTriggerEnter instead of OnTriggerEnter…)

Tags: 8 ways, cccp, post-mortem

The Getaway Car – postmortem.

Having never done a competition like this, I wasn’t really sure what I would be able to do.

As it turns out, I’m pretty proud of what I was able to do in such a short amount of time. I’ve only had my hands on the App Game Kit for a few months, and during the first 2 months it was in Beta, so it was a bit unstable and commands were unfinished. It was officially released on Monday August 15th, just 5 days before the competition.

What I’ve learned from this experience:

  • It takes a VERY long time to get good at making art assets.
  • Under pressure, and with some family support, I can accomplish more than I thought.
  • I love the App Game Kit. While it’s early in it’s development, it’s a great tool for making games.
  • Sirens are hard to implement in a game without them becoming annoying.

In the end it’s a game that I only spent 48 hours making, and still took time out of that to go have dinner with my family, and get a good 8 hours or so of sleep Friday and Saturday night.

All things considered I’m happy with it, and after some fixing up it will make a nice game to release commercially.

 

 

URTH escape gameplay video

I’ve gotten a little addicted to my own game, but much to my frustration I’m not the one with the high score. Since I’ve been playing it between ratings I decided to upload a short gameplay video.

The goal in this game mode is to get as far away from the central star as possible. There’s also a story mode which has puzzle elements to it. I might upload a play through one of these days.

VIEW VIDEO ~ VIEW GAME PAGE PAGE 

In case anybody wants to try beating my score even more, it’s worth nothing that only the web version submits to the leader board(and only after adding a name).

Tags: gameplay, video

Aftermath: The Collapse

Now, a couple of days went by and i got a lot of positive feedback, thanks to all of you <3

I must say i am pretty satisfied with my entry. But some comments had me frustrated (not the comments in particular, but the cause of them). People were experiencing crashes, or the game not starting properly, and if it works, they get stuck because i made some design fails in the early levels. Poeple weren’t able to experience, what i had worked on so hard, just because i made some mistakes in the development. It felt devastating.

When i read that submitting fixes were allowed, if they are dependant on having the game working, i was rejoicing. It still leaves me with a crappy level design, and that can’t be helped just yet. Just take it as a challenge. They are definately solveable.
I would love to record a play-through but my machine is too slow to have the game running and fraps recording at the same time :( I might be able to do it at a friends pc the next couple of days though, so look forward to it :)

So to mention the issues that came up:

1: Crash on startups
There were few occasions of startup crashes. One of them was a fault at the model loading in the collada parser. I used float.parse() without the ‘i-dont-care’ parameter (CultureInfo.Invariant) so it crashed for some localizations ( using ‘,’ / ‘.’ delimeter ). That was obviously fixed pretty easy once i knew whats wrong. I just had to add some basic exception handling to the code to find out about it. I should have added that long ago, anyways.

2. Levels only getting loaded partially or not at all
The building and collapsing animation of the level geometry was written in the last hours of the development, so it was a rather hackish attempt and i knew it wouldn’t be perfect to begin with. I also knew that my timing sucks, as i was using GetTickCount(); which is rather unprecise, only getting updated about every 16ms. Not quite enough for a solid physics simulation.

I started playing around with different timing methods that are available in .net, which boil down to GetTickCount()/Environment.TickCount and QueryPerformanceCounter()/Stopwatch, not being satisfied with the results of the latter, as it was jittering like hell. As i figured out after a couple of hours, the actual problem lies in the game loop. After reworking some basic orders (i fooked around in it while working on the game) it worked like charm. Physics feel alot smoother, and the levels construct/deconstruct correctly.

3. The goal model was not showing up for some
Actually, i have no idea what the cause was, i still don’t. It was fixed with the time/gameloop fix though. So it comes for free. (Although it still looks ugly whiteish as the texture is not working correctly. I won’t fix that for the entry, cause i’m not allowed to :p)

4. There is still a reported crash, without putting out some error message, besides “error” apparently, which i can only hope is unique to that one user. Although i’d love to fix it, i have no way to do so at this point. Sorry about that alexlarioza :\

 

If you experience crashes or other bugs, please let me know. You can find me on Twitter or irc://irc.afternet.org/ludumdare as wzl or redwater\wzl,

Thanks, it is really appreciated

 

Finally, thanks again to all of you providing constructive feedback. It really helps designing a solid concept to work on. If you liked it, you should look forward to the next iteration of the game :)

 

Enjoy playing, and good luck with your entries fellow luders \o/

Ludumdare Kajaani was a success!

Ludumdare Kajaani was a great success! We had 15 dedicated participants joining the competition and jam last weekend. Thanks to everyone who were involved!

Here are some games that were made during the event!

 

For more info you can check : http://ldkajaani.blogspot.com/

Comments

24. Aug 2011 · 19:23 UTC
Aijaa, Suomessakin järjestetään LD:hen liittyviä tapahtumia. En asu Kajaanissa päin, mutta kiva tietää.
24. Aug 2011 · 20:03 UTC
Varmaan etelämmässä majailis enemmänki LudumDare daveaajia ja ois hiano saada ympäri Suomee porukkaa devaa samaan mestaan vaikkapa Kajaaniin tai Helsinkiin dusailee LudumDare tuotoksia.
25. Aug 2011 · 00:23 UTC
Even after checking out the link, I’m still confused… what is Ludum Dare Kajaani?
26. Aug 2011 · 02:06 UTC
Congratz guys for another successful gathering. :)

Love users: Upload executables

I’ve found more than one Love user now who uploaded nothing more than their game’s .Love file. Now technically this is fine, since it’s everything needed to run the game AND source! How convenient!

Unless you don’t have the Love game engine installed.

Now in a normal circumstance it might be reasonable to ask someone to install the engine to run your game. However, in the case of Ludum Dare, we have a mere 599 games to play, test, and rate. When I find games that require much more work than “click link and play” or “download, unzip and run”, I find it very tempting to just move on to the next entry.

The fantastic part is that there’s a very easy solution to this! As detailed here, you can easily build executable packages for windows, linux, and mac! These binaries will be easy for users to download and run without being burdened with installing whatever additional software you might have happened to use in your project, making it quick and painless to rate.

Note that this process falls under “Porting” which you can do at any time after the submission window! So go forth my minions and make your entries ready to run!

and just like that – director’s cut music!

I’m fist-deep in the Director’s Cut for my LD21 entry (“and just like that“), and I just finished off some music for the challenge mode.

Check it out here (note that the first bit IS EXACTLY the original piano exercise sounding melody)

Comments

24. Aug 2011 · 21:47 UTC
YE WHAT HAVE HEARTED THIS, I HEART UUUUUUUUUUUUUUUUUUUUUUU

It *finally* works in Windows!

Well, I finally got my entry, Fred the Astro-Miner, compiled for Windows! It was such a pain! I tried Visual Studio, but after spending hours modifying my (valid) C++ code so it was happy and finally compiled .o files, it refused to link. Hours later, it linked. And it didn’t work. I threw more hours of work into it and then I got a window to appear! Yay! But it always segfaulted at startup, no matter what I did -_-

Then I thought,”Why don’t I use Eclipse and G++, like I do in Linux?”. So many more hours later, after compiling GLEW from source and remembering to use Mingw libs instead of VS ones (!!!) I got it to work! Then much jumping around my room screaming with excitement ensued (I’m not joking. I was that happy). I didn’t need to modify my code at all by the way, except for replacing gl.h includes with glew.h. I’m pretty happy with that!

So you can check out my entry here, now in Windows!

http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=4920

Comments

25. Aug 2011 · 07:24 UTC
Turns out glDrawArraysInstanced isn’t supported in OpenGL 2.1 and gl_InstanceId isn’t supported until GLSL 1.4, so GLSL 1.1 or 1.0 shaders is a no-go, sorry =(

Post-Mortem: The Man Who Sold The World

Creating a game is a passionate experience. Doing it in 48 hours is equal parts divinity and torture. As such, a lot goes down during the development process, laughs are had, tears are shed, and ultimately you arrive at the end product – your game.
Well, maybe I’m being overdramatic. But you definitely learn a lot upon completing a development cycle, even one as short as two days. The post-mortem is a great way to share that knowledge, imparting wisdom upon those who seek it. In this I’m going to examine what was successful, what were failures, and what just plain drove me nuts during my development of The Man Who Sold The World.

Play The Game Here

 

Play &quot;The Man Who Sold The World&quot;

 

The Good

Level Design Workflow (or “Levels are the meat of the meal“)

I had an excellent workflow for creating levels in TMWSTW. One of my favorite aspect of game design is creating levels, so I made sure that process would be as smooth as possible. This meant creating a method of designing, developing, testing and finaling levels in a minimum of time.

The first thing I did was create the character and camera systems, including physics and collision detection. This allowed me to get right into levels, as I knew how my player acted and moved within the first wee hours of development. The result was over a dozen enormous, hand-crafted levels that made it in-game; not only created, but tweaked and tuned for an ideal gameplay experience.

I had the time to fully explore what I wanted to with my level designs, creating many worlds in different environments, and even get experimental with more abstract locations. The process was effective, informative, mentally invigorating and, most importantly, fun.

Source of Inspiration (or “Why the Repeat Button is Your Friend“)

You’ll notice upon launching TMWSTW that a splash screen reads, “Inspired by David Bowie’s conceptual album and story, ‘The Rise and Fall of Ziggy Stardust and the Spiders From Mars'”. That’s there for a reason – it may sound silly, but I listened to David Bowie’s “Greatest Hits” album on repeat for nearly the entire Ludum Dare – having it on repeat allowed those songs to be constantly in my consciousness, influencing my design choices. Having that aural feedback not only encouraged me to keep working, but did wonders for keeping me focused and following a coherent vision for the game.

I did the same thing when I developed Nyan Cat FLY!, listening to the Nyan Cat song during development – I’ve spent over 100 hours of my life listening to that atrocious tune, but it helped the game reach its final state. Nyan Cat FLY!, like the meme itself, is cute. TMWSTW is, like the story it’s inspired by, an epic tale about the decline of humanity.

Plus, Bowie is pretty rocking, and helped me get through the long hours of the night.

Audio Design & Implementation (or “If it’s there, use it!“)

I’m proud of the audio in TMWSTW. I spend a liberal amount of time creating game audio tracks, and like to think I’m getting better at it. I primarily use Sony ACID Music Studio 8, of which I’m lucky enough to have amassed a liberal amount of assets I can use to develop custom music. However, that’s just so much bandwidth-drinking data unless you can get it to actually sound off in-game. Flash is notoriously awful at handling audio effects, and I didn’t want to struggle through creating my own audio manager in AS3.

This is where external classes and APIs come in. Guess what – you’re not the only programmer in the world, and other people have come across the same problems. I wish I’d realized this sooner, especially for audio. Matt Przybylski has creating an amazing tool in the AS3 Sound Manager v1.4, which controls the sound in TMWSTW (and all future AS3 krangGAMES projects). Unfortunately I implemented this system fairly late into development of TMWSTW, and had already lost time trying to foolishly use my own code. Had I gone straight for Sound Manager, I could’ve saved plenty of time and effort. I won’t make that mistake again, and if you ever use audio in AS3, I highly recommend looking into it.

 

The Bad

Unclear Art Direction (or “Know Your Limit, Play Within It“)

By no means am I an artist. I have a confession to make: while my LD19 entry PRIOR won 8th in graphics and was lauded in being beautifully stylized, the art is only the way it is because at hour 47/48, I realized, “Oh, this game needs some better art than the debug stuff.” I then proceeded to slap a gradient texture on every background I could find.

However, that was not the case in TMWSTW. Forgetting that I’m not an artist, I -wanted- to make custom retro/pixel art for every environment in the game. Ultimately, I lost several hours of work to something I ended up simply not using. The pixel environment art I made was ugly, low-quality, and took far too much time to develop (especially including the process of moving from Photoshop to Flash, then implementing it into the game). I finally abandoned that vain attempt, and moved to Flash-generated stylized art, similar to PRIOR (though, thankfully, with a bit more color. I’m kinda getting sick of black-and-white, and actually spent a few hours on the art this time.)

The moral of the story: Don’t be something your not. If you have to, do it in the easiest way possible.

Misallocation of Time (or “Why Your Brain and Time are NOT Friends“)

In Ludum Dare, time is not just a commodity, but a deceptive bastard of a resource. What I mean is, your psychological interpretation of time is never representative of true amount of time left. Even when you KNOW that you’re running out of time, you can still very easily lose track of it and waste it on badly prioritized endeavours.

If you’ve been reading this post-mortem through, you know how much time I lost working with audio and Photoshop (more on Photoshop in a moment). This happened primarily because I misjudged both the amount of time required on these tasks, and the amount of time remaining. Admittedly I’m vastly unfamiliar with Photoshop and couldn’t make a proper work-time estimate there to save my life, but that’s a poor excuse for losing the number of hours that I did. Estimating time and collecting those estimations into a proper timeline is incredibly difficult, and it’s all too easy to misjudge that and stray too far from the path of your development.

I suppose the best method to avoid this tragedy is to quantify everything you have to do objectively, at the beginning of development. What I’m going to do for the next Dare: create a task list of everything I need to do and estimate the time it’ll take to do it. Then add 15% to those tasks. Then reserve at least six hours for polish and miscellanea, and strip away everything of low-priority that pushes me over the 48-hour timeline. Hopefully, that’ll keep me on time.

Lack of Sleep (or “Quality Is Better Than Quantity“)

Here’s an unsurprising truth: you lose sleep in Ludum Dare. There’s no way around it, making a decent game in 48 hours will suck away time like nobody’s business. Spare time doesn’t come from nowhere, so if you want to make a decent product, you’ve gotta cut something away, and sleep is the most obvious victim.

Don’t get me wrong – there’s nothing wrong with that, at least from the Dare’s perspective. Staying up late can be fun, as any eleven-year-old would attest, and the constant flow of energy and creativity that arises from game development is exceptionally invigorating.

But there’s an fine-yet-extremely-important line between sacrificing sleep and neglecting your needs. Time limit or not, your brain needs sleep, even if only for a few hours. Staying up too late under a naive notion of “If I sleep, I won’t have time finish” is one of the most dangerous things you can possibly do.

Lack of sleep will take its toll, a far worse toll than spending three-hundred minutes unconscious will. Your focus will drift, your quality of work will decline, and your overall product will suffer for your self-negligence. Taking a four-hour powernap and a shower upon waking up will do far more for your product than an extra five hours of half-baked development, followed by more hours of ever-increasing tiredness. At one point I was falling asleep at my computer – it sucked, and my game knew it. So learn from my mistakes. Go take a nap.

Either that, or adopt the Uberman Sleep Schedule.

 

The Ugly… Sotra

Theme Interpretation (or “Livin’ By Your Own Rules In Someone Else’s House“)

The theme for Ludum Dare 21 was “Escape”. I’ve noticed that people tend to treat the theme differently. Most people take it literally, which is fine, and often produces some pretty excellent gameplay experiences (such as NMcCoy’s excellent “Planetary Mission“, which I recommend trying out). Others view the theme in a different light, more like a guiding star than a criteria point.

This is how I viewed it in TMWSTW. Make no mistake – “Escape” is the dominant theme in my game, and it’s represented metaphorically through the player’s final actions in the game. This is not some kind of excuse for my game design, nor is it an attempt at being a pretentious douche. It is simply my interpretation of the theme, and how I chose to represent it through a video game.

Ludum Dare Compo Rule #3 states “Games must be based on the theme.” Ludum Dare is all about rapid development, and creating a product out of unfiltered passion. Basing the entire development cycle on a theme, like what the Dare has done, is ingenious, and manipulating that theme in your own fashion is an exciting thing. No matter how you interpret the theme, you’re taking a universally acknowledged concept, and making it your own. So do so however you see fit.

F**k Photoshop (or “No, seriously.“)

Please, bear with me for a moment while I depart from a more eloquent dialog and instead relinquish to the world a personal opinion that I hold, in the most base and understandable form possible:

F**k Photoshop.

For real. I love Adobe, I’m a huge fan of Flash (as anyone who knows me can attest), and the entire Creative Suite is a great product. But Photoshop and I have a beef, and I’ve gotta address it. I’ve stated on several occasions that I am NOT an artist, and as such I don’t pretend to have any level of skill in Photoshop, or Illustrator or even creating advanced artistic elements in Flash. But I do know a thing or two about product design, and creating features for users of all skill levels.

In this case, the chip on my shoulder comes from Photoshop’s inability to mass-modify colors on different layers, and then export them. You simply cannot find-and-replace colors on multiple layers (or at least, after a few hours of forum-sifting, I couldn’t find a way). As my player character had many different layers for animation, this was a huge issue. I could simply place a layer mask that changes all layers beneath it, sure, but then you can’t mass export those assets – the layer mask is not included in the export, and only default images get created. Ultimately I made a keyboard macro to duplicate the layer mask, combine it with the layer below, export that layer only, delete the layer, and move the original mask down to the next layer. Lather, rinse, repeat – a major pain.

I lost over four hours to trying to change BLACK and WHITE to ORANGE and BLUE. Four hours. Now, feel free to go off and rant, “You were using a poor method/That’s easy to do if you know how/there’s technical reasons it can’t be done/You’re a PS noob!” or whatever other retorts you may have. My point is, usability design has to take novices into account – a program SHOULD be intuitive enough that users can perform simple tasks. And replacing one color with another should be a simple task, and it is, if you’re only working on a single layer. I’m no slouch when it comes to finding solutions on online forums or hunting for methods of completing tasks, but when it takes you over four hours to jury-rig an impromptu solution to a presumably simple issue, I’m left at the conclusion that Adobe dropped the ball. Photoshop is a great program, but it’s far from perfect.

</rant>

Scope, and Knowing Yourself (or “The Uplifting Conclusion“)

I think I’m masochistic. Maybe that’s more than you wanted to know, but that’s the only explanation for the decisions I make during Ludum Dare. I’m constantly pushing myself beyond my self-determined reach in terms of development. In Ludum Dare 19, I crafted a facility larger than a standard city block and populated it with a complete, twisted back story. In LD20, I created a fully-functional level editor and allowed players to not only take the game into their own hands, but record the fruits of their labor and share them around. And in LD21, I wove a Universe. With David Bowie at my side, I explored love, spirit, daring, and the fate and frailty of humanity.

Those lofty reviews aside, the point is I established the scope of my development as HUGE. I did this intentionally, for a few reasons. One reason is, I simply love creating stuff. “Stuff” is the correct word there: I love creating levels, NPCs, obstacles, stories, music, everything that goes into a game experience. So I set ludicrous goals for myself, and push myself beyond my reach. It’s risky, and it isn’t for everyone, but it’s how I generate the best personal results (usually).

The point I’m trying to make here, is be true to yourself and your habits. Take every bit of advice with a grain of salt, and find your own best practices. Biting off more than I can chew works for me, but it can be catastrophic for others (just as trying to do pixel art nearly did me in, while some people are savants with retro graphics). We’re game designers. Only through creating games can we get better at our craft, and only by being true to ourselves can we really create a game. Anyone can build a game, but to really create an interactive experience, you have to play to your skills, nurture your muse, and be true to yourself. That’s where games come from.

 

In summary: David Bowie rules. F**k Photoshop. Thanks for reading. <3

 

<3 Nick Yonge
Founder, Director, MCS-EOOEJ, krangGAMES
www.kranggames.com
nick@kranggames.com
Facebook ~ Twitter

 

 

 

 

 

 

Tags: as3, final, flash, LD #21, motivation, post-mortem, postmortem

Post Mortem incoming

Just a heads up that I’ve been out of town since the end of the compo, and will be posting a post mortem when I get back (in a few days).

I’m sure everyone has been holding their breath in anticipation!

Tags: journal

Red Rover Retrospective

So, now that things have calmed down (a little bit) I thought I’d take a moment to look back on how things went for me during this LD, how the game turned out, and what I learned.

Overview

First of all, I thought this was a really fun Ludum Dare. While some people were a little upset by the large amount of attention Notch got, I thought the fact that it raised the profile of LD was fun, and I think it got people aiming a little higher (in some cases) than they would have otherwise. Also, I really liked the theme. Even though it seems so open-ended and easy, the theme is what got me into this contest. I didn’t think I was going to do it, then going to sleep Friday night I had the idea for the game, woke up on Saturday and just made a decision to start working on it. I didn’t commit as many hours as last time, which actually ended up being good I think.

The Game: Red Rover

The game itself turned out a lot better than my first. Whereas the first game had really big (over-complicated?) ideas and conceits this one was very simple. A rover driving around a lonely planet, exploring and hoping to escape its fate. Right away I knew that I needed:

  1. An overhead rover sprite that could rotate 360 degrees.
  2. Tracks in the sand to show where the rover had been.
  3. A world that wrapped (kind of simulating a small planet).
  4. An obvious but boring mission (collecting rocks) with the secret mission of escaping boredom, the surface, the planet, etc.
  5. Contrasting sensor read outs with internal thoughts and feelings.

I won’t go into too much detail to avoid spoiling the game, but I do want to point out that it’s not just about collecting rocks.

Schedule

I spent most of Saturday working on getting the “feel” of the game right, including the graphics, tracks, terrain, etc. I’m pretty proud of the graphical look, even if it straddles a line between too retro (very lo-res graphics) and not retro enough (the graphics are up-sampled, and rotation/wheel tracks are done at higher-resolution). I took a break to go to an art show in the evening, and then to play cards with some friends.

Sunday I woke up and started on the plot stuff. While I definitely ran out of time on some of these things, I was able to hit all my major objectives, commit about 3 hours to writing music (I ended up not having time to write music last time) and do enough testing that things were stable and worked. It did get a bit stressful toward the deadline, and I wish I had taken a bit more time to write in-game instructions/narration. But I did get the game released on time, in a working state.

Observations

After I started play testing other people’s games I realized that maybe an introspective, open-ended exploration game with an obvious linear goal and a bunch of secret interesting goals may not be the best design for Ludum Dare. It doesn’t have a lot of the gameplay stuff people might expect (levels, bullets, power-ups, challenge, death and retry, level design, etc) and it also might seem like a really boring, simple game when in fact there is some added depth there. I tried to add to the game description page and README to clue people in to the fact that the game intentionally seemed simple, but might have more to it, but I’m not sure how well that has worked.

Another thing I learned is that I need to somehow get a copy of Windows running somewhere, even just in a VM. I failed to package my game for Windows which meant tons of people couldn’t play it. Someone named ‘jplur’ kindly created a package, although it turns out that some people had problems, and ‘Jiggawatt’ (a.k.a. ‘ointment’) ended up creating a working one using py2exe. Without these helpful souls I probably would have far fewer players/reviewers, so I’m definitely grateful to them. In that vein, if someone has a python game that they want packaged for Mac/Linux I’d be happy to try to help!

That said, I have gotten a lot of nice feedback, especially on the music and look-and-feel, both of which I felt like I lavished time on. While I will probably aim a little bit higher next time I do like the fact that I created a game that feels pretty polished and playable, even if it has retro conceits and is kind of atypical. I doubt I am a serious contender in the overall category, but I hope to do well in the audio one.

Final Thoughts

To those who felt like they ended up with a lot of bugs or a game that wasn’t very playable, I would encourage them to boil the game down to its simplest systems (e.g. the “feel” of jumping, catapault physics, etc) and spend a lot of time early on making sure it feels good. Last time I was fixing weird bugs and trying to smooth out feel right at the end, and I never really got there. This time I put more effort into those things up front and it showed. Even if your game only has one level, if that level is fun to play and feels right, people will enjoy it.

Thanks to everyone who participated in Ludum Dare, chatted with me on IRC, reviewed games, and especially those who offered packaging advice and helped package the game. I hope to release a 0.2 version with more involved plot/story/secrets, maybe some sounds, and better instructions.

Take care, and dare to Ludum Dare! :)

Escape Postmortem

I am not sure postmortem is the proper term for this entry, being I can’t be sure the life of the project has come to an end.  Perhaps it has.  Regardless of the lifetime of the project, this post is about what happened, what went right and what went wrong, as I worked on my Ludum Dare 21 entry: Escape.  Sorry, I made the “what happened” a little longer than I expected, skip to the bottom for a true post mortem.

Ludum Dare 21: Start – 1 month:

This weekend started at least a month before with preparation and cleaning my slate for the entire weekend.  I made it clear to family and friends that I would be busy during the weekend.  Under no exceptions, (perhaps a big pay bonus), was I going to go into work; regardless of the circumstances or consequences.  Luckily work didn’t want me to come in, so I didn’t need to worry about consequences.  I had my framework picked; homegrown DirectX 9 engine written in C++, my language of choice.  I was set.  The week leading up to Ludumdare I made a blank project from my template – in doing so I felt I’d automate this process; which took me the full week nights after work.  However, I can now type “CreateProject ProjectName” and out comes an already compiled template project that is at blank screen and ready for development.

Ludum Dare 21: Start – 5 hours:

No lie, there were several ideas floating around my head and was hoping for Castles to be the theme.  I went shopping for some food and supplies for the weekend so I didn’t need to waste time doing so later.  The IRC channel; #ludumdare was insane, I started a G+ hangout that filled with so many people, and I didn’t know them all, but we all shared a passion for Game Development.  Finally, it was time.

Ludum Dare 21: 48hrs Remaining

Theme: Escape.  Thoughts crossing my mind, #ludumdare going insane, I left the G+ hangout and went to my white board, and to cook a meal while I thought up ideas.  I was pretty surprised that I had three right off the bat, each with their own challenges.  One was a turnbased puzzler that would have been easy on the programming side, harder on the content side.  Another I threw away based on scope, it was much too big for a weekend.  The final was a physics based glider falling through a maze like puzzle to the ‘exit’.  Despite being harder with math and level design, I choose the physics based glider on the basis that content would be kept to a minimum.

Ludum Dare 21: 44hrs Remaining

I had created a 2D camera, and sprite class – two things I overlooked on my framework, which admittedly is typically used for 3D projects.  I managed to get the basics going before heading to bed to sleep on my idea before committing completely.

Ludum Dare 21: 36hrs Remaining

Woke up, ate a good meal and planned to work on the physics of the glider until I got it right, so that I could avoid wasting time on level design by setting the physics in stone before a level is started.  The physics gave me some problems, it took awhile to figure out that the equation for lift did not apply it in the correct direction.  That and other strange things.  I spent far longer on the physics that I wanted, and I never got quite what I wanted out of it – but it was somewhat controllable.

Ludum Dare 21: 24hrs Remaining

I spent about 2 hours trying to get a randomized tunnel to generate, and quickly gave up on the basis I didn’t like the outcome of any of the work.  So at this point the choice changed to making a quick and dirty level editor, which actually came out very well.  By the time I went to bed I had wrapped up a level editor that I could play, edit, play, edit in quick succession.  Hung out on G+ hangouts as much as possible, had some good discussions while still getting stuff done.

Ludum Dare 21: 13hrs Remaining

Motivation has dropped quite a bit even though I was on the final stretch.  Time pressure was starting to begin as I realized I didn’t have a level or anything – but I did have my main gameplay mechanic; physics.  To accurately test the level I was about to develop, I needed to add the collision for the game – which was much more difficult than it seemed.  Despite using code I had from another project for line-to-line collision, it did not work.  In the end, debugging proved that I was putting in the wrong lines…  Many hours wasted.

Ludum Dare 21: 6hrs Remaining

A final burst of energy to finish the level, add a score counter, title page and share it on #ludumdare – got some feedback, made a quick and dirty tutorial page – that added a lot to the look and feel of the game.  Removed the level editor and temp map files for the final build.  Tried making some music for the game, but failed miserably.

Ludum Dare 21: 0hrs Remaining

Submitted the project as a jam on the basis I did not share my code.  However, I followed every other rule strictly.

 

Ludum Dare 21: Postmortem; What went wrong

  • This was the buggiest project I’ve worked on in years, I had to cross hurdle after hurdle; physics, line collision, level design.
  • I did not put enough effort into created the game music, or sound effects – and this would have paid off huge in the end.
  • My own expectations were let down on basis of; physical feeling and level design.
  • Although I took a good share of breaks, getting out of the apartment would have been useful.

Ludum Dare 21: Postmortem; What went right

  • The visual quality stunned me, it actually came out looking decent.
  • I made good use of breaks for food, shower, sleep, and thinking.
  • I finished, it was close to complete, and I had a lot of fun.

 

Check out the project, rate it, leave comments and most of all – hopefully it is enjoyable, even for a few moments.

Unity3D for Linux

While rating your games I came across several written using Unity3D, which is understandable as it looks like a modern 3d Flash on steroids. However, there still is no Linux player available, so go and vote for them to write one!

Most of you probably don’t use Linux, and might be thinking “why should I care”. But you should. It’s about freedom of choice as much as about anything else. One might think that people should be free to choose the operating system they like, without being punished by third parties. Ok, I know it’s not that simple, porting to a new OS requires an effort and some companies will have to make a cost/benefit calculation, while many others can afford to be selfless most of the time.

I  will always try to make my games multi-platform, even though I think Windows is crap and that Apple is an awful company (with good products :)). Not because I think I can sell more copies, but because of you. You should be allowed to use the OS you chose, not the one I do.

Tags: linux, unity, unity3d

My Top11 LD21 entries so far

I’ve been playing some of the entries, mostly those of which I liked the screenshots and there have definitely been some really amazing games already. This is why I thought I could share my top11 (why top11? Because I couldn’t decide which one to leave out!) with you. I’d love to see your top5/10/11/whatever, I’m sure there are still a lot of great games I missed.
So here we go!

  1. To Hell And Back (Link) by Kayamon:
    This game amazed me right from the start. The graphics might be a bit blurry, but they’re full of retro charme and the character design is really awesome (makes me think of Final Fantasy 3/6). And for 48h it was really well done, the puzzles were not hard, but also not too obvious and once you finally understood what you must do to leave hell it was pure fun. And I’m not really an adventure fan btw.
  2. the dream forest (Link) by mes:
    This one’s very artistic and has a great atmosphere. You walk around quite slowly and the only thing you can do is pick up umbrellas that bring you to new locations. This very short game is all about the feeling it creates. The graphics and animations are very thoughtfully put together and it’s a great experience.
  3. Flee Buster (Link) by ChevyRay:
    The idea of this game is that you play three games one after another. Everytime the time runs out the game switches to the next game, which starts right where you left off before. It’s really hard to adjust to the new gameplay mechanics every time but that’s exactly why it’s so much fun. ^^
  4. Not the Sharpest Sword in the Box (Link) by Draknek:
    This game is plain and simple pure fun. You have to avoid swords with your ragdoll character by pulling his arm or leg or whatever part of the body you like around. The graphics and sound are very stylistic and make for a very polished, little game.
  5. Tea Powered Escape! (Link) by Gachuk:
    Your task is too flee from a cave while the water is rising. You can destroy the blocks around you to dig your way up to the surface. There’s also tea which lets you jump higher (I think, I only used it once ^^’). This game has just the right amount of challenge to make it a thrilling experience. I don’t know about the long-time motivation, but the first playthrough was really great. :)
  6. Still Dreaming (Link) by bach:
    Although this game contains only two puzzles, they’re so well done and presented that you feel you’ve been playing something absolutely worth your time. It has this undeniable ‘Sword & Sworcery’ charm. I really would like to see a longer version of this.
  7. Virtual School 2 (Link) by GozerGomez:
    Oh god, how this kid gets on my nerves! ^^
    The cool thing about this game is how surprisingly well it fits the theme of the compo. It has three endings, but unfortunately I only found ending 1, which was really great. It’s a short, but very fun game for people who like to explore their surroundings.
  8. Amke’s Revenge II (Link) by Mark Overmars:
    This retro platformer seems to do everything right: It has nice retro graphics, good controls, a lot to explore, a good challenge and possibly the best designed boss fight in this contest. And that you can buy a hat for your little pixel character is the icing on the cake. ^^
  9. Boat Escapade (Link) by wademcgillis:
    Again you have to flee from the rising water (this time on a boat), but the nice twist of this one is that you sometimes have to dive right in to get to a new place. The water is really merciless and one mistake could already be your last. Really well done!
  10. You Don’t Fit (Link) by mcc:
    This game is very minimalist. You move around a rectangle and have to try to manipulate other blocks so that you can move further to the right. The graphics are not worth to mention, but the sounds fit very well and it’s really fun to puzzle your way through it.
  11. Vampire Runner (Link) by arielsan:
    I love the concept of this little game! It’s so simple but also so much fun. It’s maybe one of these games that could’ve been done in a few hours, but the concept itself is so good that it definitely deserves a place in this list.

 

So, this is it. What do you think of these entries and what are your favorites so far? :)

Kinta #gallery-1 { margin: auto; } #gallery-1 .gallery-item { float: left; margin-top: 10px; text-align: center; width: 33%; } #gallery-1 img { border: 2px solid #cfcfcf; } #gallery-1 .gallery-caption { margin-left: 0; } /* see gallery_shortcode() in wp-includes/media.php */ 3444-shot0 2658-shot0 2034-shot0
e19804814f372c79d59273158d46584d 301c35f8f103c5408b4cf95a1f889a06 9b42c043074c6ffb85319eaa6f1d3eb0
5433-shot1 6021f5738710cee9fb4e888e470de958 1566-shot2
2316103daee3cb9ecc62bc7f104ce158 4975-shot0

Tags: Top10

Perdiganawe Post-Mortem

Hi! My name is Lucas , me and my brother Pedro participated in this ludum dare, it’s the third one we try ^^
We couldn’t count on programmers this time so we did all graphs and programming ourselves, so it was quite a simpler and much more buggy game than we expected, but that’s the spirit of ludum dare : challenging yourself and showing your work. ( I hope i’m right about this )
Anyway, just wanted to create a post about our work, since we didn’t do that during the weekend .

I’ll be posting a link to our Jam Entry, it’s called “Perdiganawe” , all the description in there.

In here I just wanted to congratulate everyone , i’ve been seeing some great games around here and it makes me really happy =]

also wanted to say what’s different in this post-mortem version we’re uploading :

* Our game now has fog of war!
* In the first version, if you failed a level and clicked the option below the “you failed” message, you would go to the next level! D: that does not happen anymore
* Level two is harder, it was too easy before…

Well,that’s all for now, you’ll be hearing more from us along this month.
Hope everyone enjoys our game,as much as we enjoyed making it and playing yours \o

 

There ya go :

http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=4166

 

bye everyone ^^

The Thiers Brothers

If you thought my game sucked before…

…That didn’t come out right.

Anyways, everyone who plays my game on my pc likes it, everyone who doesn’t, doesn’t. Conclusion: there’s a bug causing framerate-dependence. I think I’ve fixed it and my game is WAY more responsive and hence fun, even on this pc :).

So, if you hated Escape Velocity, or if you just feel like a generally good bloke or lady, check out my new-and-bugfixed-(I-hope-)Escape Velocity!!

Comments

25. Aug 2011 · 10:55 UTC
Is it legal to make bufixes like that after the deadline has expired? Seems a bit like cheating…
Jedi
25. Aug 2011 · 20:36 UTC
It maybe is, I didn’t realize. Sorry. The rules don’t mention bugfixes at all. It was (apparently) announced on IRC that you can fix game-breaking behavior, which I thought this was. Later, I saw someone comment, “that means it has to crash,” on another post. Even so, I don’t consider one random comment authoritative.
26. Aug 2011 · 16:12 UTC
I’m sorry, I didn’t mean to offend you in this or any other post. I wasn’t directly calling you out or anything, and I don’t think you are purposely trying to break any rules for cheating purposes. I’m mostly frustrated by people who are blatantly abusing the honor system- people like that should simply join a week-long competition or something. Everyone else should just be proud of what they accomplished in just a few hours!

Making of “Mountain above the clouds” – Part 1 – Collision

Hi LD48ers,

I’ve had a couple of people ask me about how I put together my 2D game in unity and seeing as the techniques might be relevant in other games I thought I’d take some time to explain some of the things i did in my game, in the hopes that it helps someone out.

like my LD20 game Drum Hammer Dig I chose not to use any external sprite libraries (such as ex2D or SpriteManager), everything game related was written from scratch and there’s of course a link to the source in my compo entry should you want to check it out. ( As you’d expect its all over the place but it got the job done ;))

http://www.ludumdare.com/compo/ludum-dare-21/?action=rate&uid=4202

To start with, i’ll talk about how I handled landscape collision.

One thing I knew early on was that the level shapes themselves were probably going to change a lot as I put the game together. Collision wise I also knew that this game would be 2D, but I didn’t have the time ( or skill ) to write a custom 2d collision system.

Editor shot of the 9 areas

With that in mind I went with the “work with what you have” approach. In this case, Unity fortunatly has a great built in 3D Physics system that i wanted to utilise.

I wanted was to harness that system, in a way that allowed me to quickly create and layout collision without relying on an external 3d package, I also didn’t want to mess around placing lots of box colliders down for each level and then having to move or change them when the level changed.

I chose to write a simple mesh creator in the editor, and then used the generated geometry as a mesh collider. This gave me the best of both worlds. Fast turn around, and all the physics collisions I needed.

Its dirt simple but really effective;

1) First I have an array of points in space ( arranged in a clockwise order )

Points in space

2 ) A set of Vertices is created from these points, extending forward and backwards on the z axis.

Vertex positions based on previous points

3) triangles are created from the vertices

Triangles are created from the vertices

Translated into unity, I have a GameObject for each area in the game which has a “MeshHitcheck” component that contains array of positions (laid out in a clockwise direction)

Using the steps above a collider mesh is generated at runtime from those points.

Background painting on a single sprite

Clockwise layout of points with Gizmo draw in editor to show edges

Hitcheck mesh generated at startup

2D Collision Done!

Same area shot from in game

 

Editor Extra’s

Hand editing position values in an array isn’t exactly fast so to make editing and layout of the positions array as quick as possible, I created quick little editor helper script that basically draws position handles for each point, and a button to add new points into the array. Its not a perfect solution and there a number of ways to improve it, but it saved me plenty of precious time.

Quick editing of points inside the editor

I should also note that the seed character in game is simply a rigid-body sphere with a limit on the z axis, all other objects are sphere or box trigger colliders that don’t move.

That’s all for today, I hope this was of some use.
If you have any questions or want explanations on some of the other things in game, let me know.

Thanks for reading.

Steven Burgess

 

Post-Dare Thoughts

So, all in all, I think this dare went WAY better than my last (which was my first). I think what mainly accounted for my better outcome was finally swallowing my pride and deciding to write a 2D game. It’s amazing how much removing that 3rd dimension simplifies things. I wanted to make something cool, so I really didn’t want to spend too much time just trying to think of ideas. I couldn’t think of any amazing revolutionary new game play style, so I just went with the good old classic top-down shooter. Of course, to keep it with the theme, I set the goal of the game to escape the game. I probably won’t do too well on theme points but I’m still proud of my creation. After all, who of us really does this in hopes of winning? I just do it as a motivational leap to start a new project.

http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=4069

 

What Went Right

So, for the most part, the beginning went very smoothly. I stayed up until 4:30 AM the first day and got a lot of the core coding done. I started with the basics – a basic OOP design in C++ (my language of choice), movement, and collisions. Then, I started to get my hands dirty with a weapon system. Unfortunately, I ended up changing the weapon system since adding new weapons eventually turned out to be a huge hassle (this was actually after I finished the compo version game). Next came the rovers. Rovers went along a lot smoother than I expected them to. No problems really there. All hell broke loose when I started programming doors though.

What Went Wrong

Basically, I thought doors were going to be like 30 minutes tops, but they ended up being like 2 hours. First, I had to write basic animation functionality in the object class – no problem. Switching states became a huge hassle and I finally  broke down and analyzed the update loop step by step – then I finally got it. I was forcing a specific frame in the door code on certain states, but this created problems, so I ended up just letting them flow naturally and not try to prevent the occurrence of a bad frame (which I later found was not possible to occur). Another huge issue that I didn’t expect was scrolling. Yes, scrolling. Of all things that could go wrong, scrolling did. I ended up having to edit a lot of drawing code that should have been there from the beginning.

 

All in all, I think my favorite thing to add was the shaking when an explosion goes off. It’s freakin’ awesome 😛

Thanks for a great Ludum Dare guys! I had a great time.

Daring Do! Mini-Postmortem

So LD21 was my first ever Dare and some things went okay and some didn’t. I definitely learnt a lot from it, and I’m keen to keep making games and work on my entry. I thought I’d do a brief little writeup.

Blatant self-promotion link: http://www.ludumdare.com/compo/ludum-dare-21/?action=rate&uid=5119

The game

Daring Do! title screen

The Daring Do! title screen

I’m pretty pleased with the game I produced: “Daring Do!”. It’s a sidescrolling running platformer where you play an intrepid archeologist. Each level is short and follows the same formula: grab the glowing golden idol and get the heck out of the temple before the whole thing caves in or you get crushed by the giant boulder coming after you. Avoid pits and arrows along the way. I wanted to keep levels short so it kept you wanting to play; that just one more level feeling. I’d like to add an ‘infinite mode’ in a future update, though. I’m also planning to add many, many more of the normal-style levels, as well as a lot more trap types: crumbly blocks, falling debris that you have to dodge, spike traps,and perhaps even some bad guys and collectables. I would’ve liked to get more of these in during the compo, but just ran out of time. Also, more work is needed on sound and sprites.

Daring Do! gameplay

Daring Do! gameplay - pick up the glowy idol and prepare to run!

The Bad

The main thing that went wrong was that I didn’t spend enough time on day one thinking up a concrete idea. I got a rough topic in my head of a Breakout bat escaping from a game of Breakout, and rushed off and started making it. I built a simple little Breakout clone really quickly, and then spent a fair amount of the rest of the day trying to script together some kind of in-game cut scene explaining your escape. At this point, I realised I’d spent far too long on an ‘intro’ without having any idea at all about what the core gameplay would be after your escape. I became somewhat disillusioned with the idea and stopped working.

My first game idea, a breakout clone where you actually break out.

My first game idea, a breakout clone where you actually break out.

I woke up late on the Sunday with the intention of giving up, but I felt that I’d be very disappointed in myself if I did so. I chatted with a friend about what to do (thanks @triard!), and a new idea was born, that which turned into Daring Do! This one I felt I could run with: a simple gameplay mechanic that can be easily extended by the addition of more traps, levels, etc.

Daring Do! gameplay

Daring Do! gameplay - outrun the boulder, avoid the arrows, jump the pits!

The Good

I’ve only recently gotten into Flash development, but I absolutely love working with FlashDevelop. I use a Mac as my main machine, so I had to run FD in a Windows virtual machine which was pretty slow – this infuriated me on numerous occasions as I sat there wanting to code but having to wait for my computer to catch up with me. For future LDs, I’ll have to run Windows natively somewhere, as the VM was almost unworkable. I wish there was a Mac version of FlashDevelop.

Flixel is also brilliant, although I was kind of learning as I went along so got a bit hung up on things that should’ve been easy but I didn’t know how to do yet. I’d like to spend some time with FlashPunk, too, to see how they compare. Writing my game in Flash made it super easy to test, to send to friends for comments, and to upload for other LD48ers to play.

As for my other tools, I used DAME for map editing, which worked pretty well, bfxr (fantastic tool!) for sound effects (although I somehow forgot to give my main character footsteps!) and had a brief attempt at creating some terrible music with FamiTracker.

Next time

I’d certainly be up for taking part on Ludum Dare again – the feeling of satisfaction having built something in such a short space of time is brilliant, and I love the community feel of the event. I’m so glad I didn’t give up after day 1! Next time, I’d spend longer ensuring I had a great gameplay idea before starting. Gameplay, gameplay, gameplay, that’s what it’s all about. In fact, I’d probably recommend trying to spend some time during the final round of voting thinking up some ideas for each of the top-voted themes from previous rounds, just in case they come up. Having a solid idea from the start would allow me a full two days to make my game – next time, I’d plan for day 1 on the engine and gameplay, and day 2 on content and tweaks. As I had to cram all of that into one day this time round, the content was a little light.

At the moment, I’m really enjoying looking through everybody else’s entries. There are some truly, truly brilliant games in there – not are they fun to play, but it’s nice to be able to find out how things were implemented. It’s a great way to learn.

I’d really appreciate it if you’d take the time to check out my game and rate it and / or leave a comment.

Tags: as3, bfxr, DAME, FamiTracker, flashdevelop, Flixel

little question

Is it allowed to update during voting ?

I have a little perfomance update to do, as well as a missing key!

Comments

25. Aug 2011 · 08:15 UTC
Only game-crashing fixes are allowed and you should link to the original version.

Anything else is forbidden 😛
uuav
25. Aug 2011 · 11:13 UTC
in fact I uploaded the wrong version for the pc version, web and mac has the missing key not missing ( ‘-‘ )
25. Aug 2011 · 14:58 UTC
That wouldn’t really fix the problem. If people wanted to cheat they could still very easily replace the file wherever they linked it. I’m hosting my game on my own site, so I could have easily updated the zip file if I really wanted to. Unless the games were all uploaded to this site, it will just have to be based on the honor code, which is fine, I don’t think that many people are really trying to cheat the system.
25. Aug 2011 · 15:16 UTC
I agree with JoeDev_net: editing your game should be locked out after the deadline, but even that is not enough, as it’s even easier just to change the actual game. I think a disappointingly high number of people are still making changes, and it just makes the whole thing less fun. I don’t have a good solution (unless Ludum Dare wants to pay to host the 1000 games we’ll have next time), but as more and more people who are less cool than previous LD-ers join, it’s going to become a bigger problem.
tnelsond
25. Aug 2011 · 16:09 UTC
Incentives? Oh dear, rating even more than 600 entries is going to be a nightmare.
25. Aug 2011 · 19:25 UTC
There are also some really solid arguments against doing anything more to prevent editing after the deadline. I’ve posted links to my game all over the place, and since I host it myself, I plan on replacing that page with an updated version of the game (with a link to the original) after the contest ends. A lot of people are going to have a lot of complaints if they can’t host their own game.
Jedi
25. Aug 2011 · 22:40 UTC
As someone who is suddenly very uncool, apparently, I feel the need to defend myself and maybe put some perspective on things.

LD #21 Jam: espace, Post Mortem and Timelapse

So this was my first Ludum Dare, but not my first jam. However, this was my first jam as a code monkey, previously I’ve been doing only sound design. But since I’ve actually got a degree in computer sciences and programming, I thought to give it a try and see if I can push myself to make a game during one weekend. And yes, I more or less managed to do that, of course I had a friend doing almost all the graphics, but if you watch the timelapse you’ll see I did some gfx related tasks too.

Timelapse:

 

What went right:
Brainstorming ideas before the topic was announced – we had a suitable idea for almost every theme in the final votes. Escape suited us quite well but actually we were hoping for wormholes. I also had my own basecode written and ready with collision detection and controls in place. Graphics worked ok and my decision to take Gleed2D as a level editor was a good one, since it gave us a way to prototype the hud and levels prior to having actual game code ready. However I ended up tweaking the XML files generated by Gleed2D by hand after all. Porting to Mac OSX went smooth as ever and even the release bundle worked without any issues, unlike the Windows version. One thing that is good to mention here, is that we understood to cut features from the game when we saw that we don’t have time to implement them.

What went wrong:
Stuck on stupid bugs, mostly due to lack of sleep. I didn’t sleep nearly enough. Also our initial idea was way too big to implement in such a small timeframe so we had to drop lots of features. In the end, we had only the bare minimum of the story we had planned and basic set of the game mechanics. We didn’t use enough time for testing, and that showed up in the final phase, where I was playtesting and tweaking the difficulty constantly on OSX while trying to fix audio issues on Windows. And that brings me to the fact, that choosing Phonon as audio engine, even though it’s built into Qt, was a wrong decision due to severe problems on Windows. It might have worked if I’d have time to test it thoroughly beforehand. Two things I should make mental note about: have at least 1/3rd of the time dedicated to playtesting & debugging and stay away from doing sound design for other projects if your own code isn’t working! 😀

Anyway, thanks for a great Ludum Dare, it was fun! Don’t forget to rate our game 😉 http://www.ludumdare.com/compo/ludum-dare-21/?action=rate&uid=5118

“Mindbane” Post Mortem

Mindbane was my entry for the 48 hour competition. If you haven’t, check it out and rate it here: PLAY MINDBANE!

The development of this game was a mess, to say the least. To begin with, I had to work on the saturday, so actually I lost ten of the 48 hours doing absolutely nothing. Well, nothing is quite inaccurate, because I was trying to have ideas for the entry. But my brain at 4AM is barely working correctly, so I couldn’t think of anything.

When I arrived at home at 9AM and booted my laptop to start coding, I still had no idea what I’d be making. I started FlashDevelop, extracted the FlashPunk directory to the project and started working on the level loader that would import the Ogmo Editor files…

Suddenly, tiles.

Loading objects was still missing though.  At 3PM on Saturday I called it a day and went to sleep, unsatisfied with the current state of the game. Then I woke up for dinner at 7PM, wrote down some notes while eating a BigMac and went back to sleep, because I was still tired as hell.

I woke up at 1AM and made a decision – I wouldn’t waste another four hours making a level loader that would ultimately be composed of the worst programming anti-patterns mankind can think of. So I started GameMaker, programmed the main character motion and made a simple level. Then happened to me that it could be fun to use a button to disable gravity. And it was. I also added a button to stop vertical movement when falling. I accidentally found that by using that button it was possible to do airjumps. “Perfect!” I though. That’s pretty much how I decided to use the hovering and midair stopping mechanics. At that point I was already using “disassociation/escape from reality” as the basic premise of the game. The disruption of the natural laws of physics seemed like the perfect gameplay mechanic to fit that premise.

Not much happened after I got that working. It was still 9AM, so I decided to relax a bit. I made the ghoul and player sprites, tried some melodies on FL Studio and proceeded to add more levels on the game. 10PM, game was finished, with ten minutes left. Phew.

 

Things done right

  1. GameMaker: Now, I’m sure many people would frown upon this choice, but I’m not the kind of guy that cares for technical silliness. For me, a good game is a good game, and that’s all there is to it. As I said on my Fate of Mankind post mortem: I like to make games, not exception handlers.
  2. Fun first, art last: I suck at drawing. That doesn’t mean I don’t try. This time I made the wise decision of finishing all the gameplay stuff before making the game pretty. On Innocence (Ludum Dare 20) I started by drawing sprites first. That was stupid.
  3. Experience: When I participate on LD19, that game was the first I made in years. Then on LD20, I used AS3 and FlashPunk – something that I never had used before. This time I played safe, and I guess that was for the best.
  4. Cool game mechanics: I really like the hovering, midair stopping and airjumping… XD

Things done wrong

  1. Fun first, art last: I suck at drawing. Yeah. The tileset looks terrible, and I wish I had a better sprite for the main character. I know it’s important to have good graphics, they ARE a key point when people decides to play your game or not.
  2. Difficulty: I completely forgot to ask people to try it before submitting. Oh well. People frequently complain that it’s too difficult, and that’s probably true. But it’s not like I wanted it to be that difficult… For me, it doesn’t look that hard (well, I created the game after all). Next time, less spikes and more beta testing.
  3. Obscure Plot: Is it clear that (spoilers ahead!) the main character is being haunted by his inner demons inside his mind while he’s in coma after attempting suicide? And the spirits you collect along the way are the good memories the character have from his past? If you played the game and didn’t knew that, I failed at storytelling. If you knew it, then disregard this one. 😛
  4. My job: Seriously. Working from 11PM to 9AM on the first day was a huge waste. Just by thinking all the cool things I could have done with extra 10 hours…!
  5. Not using FlashPunk: I really, really wanted to make this game using AS3 and FlashPunk, but I didn’t had a framework ready. Flash games are much more accessible and can be distributed on Newgrounds and Kongregate. Windows games, not really…

Tags: postmortem

‘Cyperspace’ – recent faff

Now I have had a swamp of build issues with this and such and such not running on yadida. This seems to be due to the variable way in which various windows builds interpret floating point values – they either want them as ‘0.3’ or 0,3′

I CANNOT BUILD A WIN32 RELEASE SPECIFICALLY FOR YOU.

The builds WORK on windows 7 X64 (on two seperate machines albeit no sound), and the linux build WORKS on Ubuntu x64 with common sdl and opengl packages installed. Period. I understand Linux x64 is not popular and in that instance I am going to get a WINE version rolled out.

For those that have invested in FPC please do compile – the library code is very rushed and this is to be forseen as I’ve had a hell time getting thigs working. I am currently trawling through code on a windows 7 netbook trying to find what is affecting th windows users while also installing a 32 bit linux machine to run a test compile and dependency list.

I am sorry for those unable to rate so far, however this issue will be resolved soon and many resolutions in library craft have been pulled from this LD as was the case for the last LD also.

 

Thank you dually for your patience.

JSON File with all the entries

I got bored, so I put together a nice Python 2 script to output all the entries in a easily parseable JSON file. Here’s the dump: http://pastebin.com/r2XW8RQi

Source coming along, as soon it is ready for release…

Comments

25. Aug 2011 · 15:36 UTC
Nice work!

SurfN-2-Sur5 Is now available in Chrome Web Store

Thank’s to PixieEngine’s one-click export feature I was able to publish SurfN-2-Sur5 to the Chrome Web store in minutes, just needed to upload the zip file and add screenshots. It’s as easy as filling in the LD competition entry page.

Chrome Web Store – SurfN-2-Sur5

Currently the version in the store is exactly the same as the LD competition version, but in time it will improve.

I am the creator of PixieEngine, so I may be biased in favor of it, but I thought that it’s worth sharing. And while we’re on the topic, I also love that when I’m building my game in PixieEngine it’s already on the web, so there’s no extra packaging or upload step required, just click “Publish” and everyone has access to the latest version.

Did I mention that it is free? And that it runs on OSX, Windows and Linux? And that you can always export/download your game at any time? But wait! There’s more…! Actually, that’s most of it.

So please, check out PixieEngine for all your game development needs and give feedback with any questions or concerns. You can even start by messing around with the SurfN-2-Sur5 source, though the code quality isn’t super high since it was made for the competition.

YRGBO Post-Mortem.

YRGBO is a “weird” puzzle-adventure game. Since it couldn’t be long, it had to be tough! And it is. I gave the past Ludum Dare a shot but I quit after the first 24 hours as the game I was working on didn’t turn out as I expected. This time I could finish, and I’m happy for that. I also think the game’s good, not that it will appeal to most people, but that was never really my intention.

 

THE GOOD
– I finished! (For the jam, although I wanted to submit it for the main competition).
– I ended making a good game (not exactly how I wanted it, but I’m still proud of it).
– I got into the zone (Never really got tired, I lost track of time).
– I got “the hang” of it (I knew what was worth adding and leaving out).
– I handled sleep deprivation nicely (I’m a heavy sleeper, so skipping sleep was never an option, but I could get away with very little of it).
– I got a nice idea early.
– I didn’t quit! (the idea crossed my mind a couple of times) instead, I cut off features and adjusted the project to the time I had left.
– I felt good, period. I forgot all my problems while working on this. I was tired but very happy and excited.

 

THE BAD
– I couldn’t finish on 24 hours, had to use the jam deadline and work for some extra 24 hours.
– I didn’t have the time to test my game, it had bugs that made it almost impossible to be finished. Had to fix them up.
– I should’ve planned more before starting coding, could’ve saved some time.
– No time to exercise and I ate lots of crap, well, not lots, but I ate them, which is bad!
– This isn’t exactly bad, but I tried to make a kind of game I had never done before. In these kind of compos you should probably stick to what you master, it’s no time to experiment.

 

THE UGLY
– I felt weird when the compo was over, my time awareness was messed up, I have trouble getting up early now.
– I felt really tired the day after. It’s weird that my legs were so sore.
– At some point I started to feel really stressed out, you know, that pain in the chest. Pressure + lack of sleep. I’m ok now.

 

CONCLUSION
This was a great experience! I hope I can repeat it the next time. This was my second “short” game development competition, I had been involved in compos that gave you weeks or even months to make your game, but this is a whole different thing! I’ll finish in 48 hours next time! ’till then 😉

Tags: post-mortem, postmortem

Rant: Who’s Ludum Dare for?

This will rub some people the wrong way, but sorry, I have to let it out.

I’ve been rating some entries and I’m very disappointed of probably most of them. I understand the time limit won’t allow for masterpieces, and I’m not expecting any, but come on, I mean, there should be some sort of standard.

Unfinished games and half-assed attempts, I mean, why submit those? People even cynically admitting they didn’t even try hard enough to make it better, that they gave up midways, but what the heck! They submitted it anyways!

The problem with those is that they distract from the good games from people who busted their asses off to make something decent, but now many won’t see them because they will be burnt off after checking out hundreds of unfinished entries of people who didn’t put their hearts into it.

I know this is open to novice developers and Notches alike, and I think it’s great that you have the balls to release something crappy, because sometimes people who never finish anything is because they are scared to realize they aren’t that good. But, hey, at least have a standard for yourself. If it isn’t even playable, why bother? Learn the lesson and join the next competition. You are on the right path, but it takes time to get there, keep it up, soldier.

I’ll probably rate selectively from now on, because, honestly, I can’t rate all 599 games, I’ll be lucky if I can rate half of that, but I won’t waste my time on people who didn’t finish and half-assed it but still submitted it just to have a shot in the dark.

Decency, people!! Don’t take this rant the wrong way, I’m trying to encourage some quality. We don’t expect master pieces, but we expect something finished and hopefully enjoyable. Thanks for reading. :3

‘Cyperspace’ – fixed at last

As in the comment on the game page, the instability was caused by my french windows 7 copy that interprets a floating point of having a , (comma) and not a . (decimal point) which of course is the opposite for english windows. The result of feeding in the incorrect decimal separator is a memory access violation (or similar on different OSes)… Download links are below, it is quite unfinished but its there at last and I cannot say how much of a headache this was to fix.

 

Again, my sincerest gratitude to those that tried to run this so far. The linux build is still dodgy, so I recommend using WINE despite the sound issue remaining for the time being.

 

Page comment:

GREAT NEWS:
—————————————————–
THE BUGS RELATING TO WIN32 RELEASES HAVE BEEN SOLVED. LINK:
http://dl.dropbox.com/u/4853895/LD21/LD21_CyperSpace__Win32_R3_EN.zip
The bug related to foreign builds of Windows 7 (french) that interpreted floating point values as having a , not a . and this resulted in a crash in English windows as the reverse was true. This is SOLVED! (unless you have french windows)

The linux version (experimental) with some new dependency scripts can be found here:
http://dl.dropbox.com/u/4853895/LD21/LD21_CyperSpace_Linux_DIY_R3.tar.gz

This is a DIY release, compile it youself from the scripts please (sudo bash the dependency .sh files and then DO NOT sudo the compile script unless you want to either run some chowns or sudo ./LD21s later)

I again, apologize for the fiasco and will be writing to a few people as to why foreign versions of windows interpret floating point values differently to avoid this for all people (need to feed back to a german friend whose game only works on german windows. I now know why).

Again, my sincerest apologies for the delay.

Comments

25. Aug 2011 · 18:10 UTC
>As in the comment on the game page, the instability was caused by my french windows 7 copy that interprets a floating point of having a , (comma) and not a . (decimal point) which of course is the opposite for english windows.
code_glitch
25. Aug 2011 · 19:46 UTC
It breaks a lot of crap now I’ve had to look at it closely. MS Office has the EN language pack installed and even word throws up runtime errors for every message it displays because of illegal characters and garbage like that. Ironically, it seems MS did a thorough low level job but simply brushed everything that failed badly under the carpet.

Guilty…

I feel guilty making such a hard torturous game. It wasn’t supposed to be this way, so maybe I’m slowly becoming an evil game designer. Mwahahahahaha. Forcing people to type at lightning speeds is downright cruel, I should’ve at least eased them into it better. Oh well, I better be less evil next time.

Anthony’s Psyche: Escape

Just a little postmortem on my LD #21 entry, Anthony’s Psyche: Escape.  (This is mostly a cross-post from my blog.)

This was my third Ludum Dare.  In each one, I’ve challenged myself to come up with a different interpretation of the theme than I thought would be typically done.  For the Escape theme, I decided to go with the idea of psychological escape mechanisms, or avoiding painful thoughts and memories.  This turned out to be a rather artsy, narrative-driven playable story of sorts.  This is very different than anything I’ve developed before.

I spent about 27 hours on this entry.  Friday night when the theme was announced, I spent three hours in the typical initial panic of trying to come up with an original interpretation of the theme.  I settled on the psychological escape mechanisms concept, and that it would have something to do with words on the screen representing thought fragments.  I was still unclear about the specifics beyond that.

On Saturday, I spent a couple more hours playing with ideas in my head, and settled on a design.  I then spent about ten hours writing code and debugging.  It took me much longer than I anticipated to get text with variable alpha per character working in Flashpunk. Probably five hours on that alone.  I also spent a few minutes making the “art” for the game (the one stick figure) for a total of 12 hours on Saturday.  By this point I had most of the basic functionality of the game working (moving a box of text around the screen and having the words fill in when over the character).

On Sunday, I spent about an hour getting Reason and my keyboard set up, and coming up with the short music loop and “thought complete” riff.  I then spent several hours trying to come up with a decent story.  I discovered that telling a story through first-person thought fragments is very difficult.  When I started entering the text for the thoughts, it just wasn’t coming together.  I also discovered some bugs in the way Flash renders text, so I spent a couple hours debugging and working around that.  I finally gave up on the story I’d come up with, and about two hours before the deadline, I came up with a very different story that came together pretty quickly.  I also wrote some more code for the title screens, ending screen, etc.  That made a total of about 12 hours for Sunday.

The end result isn’t exactly a “game”, but I’m satisfied with what I came up with because it’s very different for me, and pushed me in a different direction.  I like the overall feeling of the play.  I’m thinking of developing something like this a little further.

Like my previous two LD entries, I created things as stand-in content (the stick figure guy, and especially the very short, repetitive music loop) so I had things to write the code around, but they ended up being the final content because I didn’t have time to do “real” art or music.  The difference this time was that by now I’ve learned that when I create them, that’ll probably be the case.  Ludum Dare is always a great exercise in game development (and a lot of fun) because it forces you to be ruthless in cutting features and calling things “good enough”.

Tags: compo, final, postmortem

Comments

25. Aug 2011 · 20:22 UTC
>Ludum Dare is always a great exercise in game development (and a lot of fun) because it forces you to be ruthless in cutting features and calling things “good enough”.
25. Aug 2011 · 23:10 UTC
I just played the game, and I must disagree with you on one point: It counts as a game, from a strict mechanic point of view. 😀 Like all those ‘run from the x’ games, but in reverse. I said more on the game’s page where it belongs

Caramelo Post-mortem (I prefer to call it what I learned)

Hi!, this is the first time I do this and I’m not so good in English but I’ll try:

For those of you who don’t know which game is it, it’s right here.  The game has a very simple concept (platform running), before the competition I was thinking about what would I make if the escape theme were selected then the runner was one of the first ideas but not the concept, I just thought about something I could draw (simple stuff) and could complete in 48 hours.

The reason to select XNA as the main tool for creating it was that I already worked with it before and I heard about the competition two days before it started then… no time to learn new languages or tools, anyway I learned very interesting stuff about Inkscape and Gimp, such as the cool texture effect I used to make the graphics.

Things that gone well (in my opinion):

– The most important, I could finish a game, don’t know if it’s fun or not but I was happy I could finished it.

– Learned new stuff about graphics, sounds and found some bugs in the libraries I used for animation and camera (which I coded before and shared in assembla .

– The time was managed relatively fine, except for the level design.

– A new concept was created, simple and under pressure, which means (not really) maybe with more time I could get something better.

 

Things that gone wrong (again, in my opinion):

– Level design was the biggest mistake. I should be using a tool to create the level, I have been thinking about polishing the level creator I started years ago and I haven’t completed it yet. I think this is one of the most important points and stuff to learn about.

– Coins placement, due to the short time (taking into consideration I started trying to code the level late) I wrote a very simple and naive algorithm, didn’t like it so much but at least it worked.

– Due to the lack of experience making sounds the music was not so good, it made me think I should have a library of sounds made previously when I have time to learn about it.

Things I learned (which is the topic I like the most):

First of all I think we (programmers) should be wise when we decide which tool will we use to do something. In my case I used XNA because of the previous experience I had and lack of time to learn something new. But… (as the LD recommendations said) it would be better to use some tool which could be deployed web, such as Flash or HTML5, I would say Unity but I think maybe sometimes is boring if you have to wait too long to load the game but… anyway it’s good too.

It’s important to take time to think about the game, I mean, the designing part. It is true that 48 hours are too short and we have to code as soon as possible and draw and bla bla bla, but… if we make good plans, there will be good results and not only good results but “not wasting time” (coding things again and again or starting an idea from the beginning in the middle of the compo is not good).

Finally, it’s really nice to get others comments about your work, to see what the rest of the people made and what the thought when they created their games and when they tried yours and criticize it I think it should help us to be better programmers, designers, etc, etc.

Here, a screenshot of my game:

 I hope this can be helpful for somebody and you enjoy the competition :).

 

PS: I will try next LD with flash or something like that.

We’d like it if you stay postmortem

Hello 😀

So last weekend, my goals basically were, in order of importance:
1. Finish a game
2. Make it fairly polished

For the most part, I think I did well. To be fair, they are pretty low goals (note that ‘make a good game’ is not listed), but I am happy. Here are some thoughts on how things went.
You can play the game here.

 

What went right:

Choosing to participate:

    I don’t think I could have done this last year, or even a couple of months ago… and I was quite certain I couldn’t now, either. I glad I decided to recklessly go for it anyway! I’ve wanted to have a go ever since hearing of the event during the ‘islands’ theme. This whole this is a great learning experience for me… it’s good to take chances, sometimes!

Using unity:

    I was a bit worried about using unity for a 2D game, seeing as it’s designed for 3D but I’m glad I went with it, it’s just so easy and quick to use. The controls were done really quickly, leaving a lot of time for making levels and fiddling with graphics(which probably took the most time for me, as It’s not a point I usually get to).

Levels were easy to make:

    Top down view, and no fiddly graphics to deal with, just boxes. It’s good to be able to just move things around easily, without messing up the whole look. It isn’t the prettiest, but I think too much content to be made would have just taken way too long, and it wouldn’t have been very motivating either, had things gone wrong(which they definitely would have!).

 

What went wrong:

I am bad at music:

    I have not made any sort of music or sound before, and I have no idea where to start learning. I was planning on using GarageBand on my ipad for music, but stupidly I had not tested it beforehand. I thought there was an export to email option(and this is what google tells me too, what?) but I could not find it for the life of me… Trying to sync up with my ipad has caused troubles before, so that’s not something I wanted to deal with during the time frame of the contest.

    Using it definitely would not have made a difference anyway; I am still bad. I just plain need a lot more practice with this kind of stuff. I am still happy with what I managed to achieve, however. Most things I make are just silent, and I am glad this one is not!

Controls:

    This I think was the main criticism I received, and I can definitely see why. I used the drag rigidbody unity asset to make the dragging movement, and didn’t change it much at all. It certainly sped up the process, but I really should have spent more time fine tuning it to make it feel better, or even writing a new script based of it.

Didn’t really think about plot/graphics until the last minute:

    There’s not really much more to it then that. I would have liked to have had story be more integral to the gameplay. As it is, it’s basically just something that’s tacked on, and I’m not really happy with that.

 

Anyway, In general I’m happy with what I’ve managed, but I’ve still got a lot to learn.

Thanks everyone for playing my game, and leaving comments! It means a lot to me, you guys are really helpful. I look forward to future games/jams/whatevers 😀

Postmortem of Blockhead Can’t Escape

In case you haven’t played it (you probably haven’t, with 599 entries) this was mine http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=418

This is going to be a very brief post mortem; almost as brief as the game. Making a game with a baby, and a job, is no easy task. Nuria must hate me, for having put so little of the weekend into actually creating my entry.
So Thursday and Friday, I tried to come up with simple but interesting ideas for all of the possible themes. I never thought of anything for evolution, adaptation, or genetics. Good thing those weren’t the theme!
Friday night the theme is announced, and I already have a good idea what I want to do, so I start drawing a tileset. It’s very simple. A brick wall, and some border pieces for the top. I play around with that in Ogmo, get it displaying in the game. Then I spend about an hour trying to animate a guy walking. Eventually I get frustrated, give up, and draw a blockhead. Then I go to sleep.
In the morning, I have to go to work. I don’t get more time to work on the game until six in the evening, and I have an eight-month old to deal with. I make an enemy, whose just a red version of the player, and I give him a fine mustachio. I also write a quick hack to make it easier for the player to move into single-tile passages. You probably don’t notice it while playing, but it took navigating the game world from ‘frustrating’ to ‘intuitive’. By time I go to bed, the enemy can tell if it sees the player and even patrol in paths.
I get up at about ten am and make breakfast for my wife and I, and then I take the trash to the dump, and then around noon I can get back to work. I figure out how I’m going to handle multiple levels, and get a couple working. I add locked doors and the gold keys. I add the text popups. Then I add spike traps, something that wasn’t in the original design at all. They take about ten minutes to make and become an integral part of the game. It’s now about four pm, and the ludumdare website is slow as I’ve ever seen it. Plus, there’s a giant thunderstorm outside and my power has already flickered once. And PoV hasn’t yet announced his plan to extend submissions, or I hadn’t seen it, so I packaged up what I had and submitted it while I still could.

What went right:
Using flashpunk. This is my first AS3 game ever, and I’m amazed by how much I accomplished by using Flashpunk. I decided on my tools early, and spent the week before ludumdare learning about actionscript3, and flashpunk, and the Ogmo tilemap editor. This preparation, and the simplicity of working in the language, really paid off when real life got in the way.
Planning for possible themes in advance. When the theme was announced, I didn’t have to brainstorm; I could just get right to work.
Keeping the scope small. Because of my inexperience with flash, I was able to keep myself from expanding the game into some huge monstrosity; I only knew how to do simple things in the language, so I had to keep the game simple. Flashpunk helped as wall, because while it’s a powerful piece of software it also encourages you to do things in a simple manner. Don’t setup a system of collision response callbacks, just call collide(…) in the object’s update function and do something if it’s colliding; simple things like that.

What went wrong:
I knew in advance I wanted to go with small, pixelated graphics, so why didn’t I practice with the medium before hand? If I had, maybe it wouldn’t be called Blockhead Can’t Escape, but instead Pixel Dude Can’t Escape.
Second-guessing the time limit. I was afraid I wouldn’t get to submit at all, so I submitted too soon. I could have used that time to create many more levels. The website worked fine all night, and I never lost power for more than five minutes at a stretch, it would have been fine.. but, once I submitted, I lost all drive to work on the game. I could have polished and re-submitted before ten, but, I didn’t.
I should have gotten Saturday off. I never plan for these things far enough in advance.

I’d like to expand the game; or rather, rebuild it; with more levels, a unifying theme, and better graphics. The feedback I’ve gotten has been positive, but for one thing – it’s way too short! – so people seem to like it. Maybe I’ll do that, but for now, that’s all I have to say about Blockhead Can’t Escape.

Theory: Did the theme bait many of the (new) participants?

The ongoing discussion on irc/twitter/this blog about how the theme ‘escape’ enabled almost every game idea to fit somehow made me pondering, if there is some link to this big amount of new participants in LD21. So my theory goes like that:

  • the theme was very open, so newcomers could submit almost every kind of game
  • this encouraged a lot more people to try and made something very simple and stuck some sort of escape to it
  • would the elected topic have been something like self-replication or recursion, the amount of submitted games would have been less

Especially the themes stated above probably would have needed a deeper insight to programming techniques and game design principles which could have put a lot of people off. Any opinion to this theory?

To fire the discussion, I can even give a counter-argument:

  • There were so many new people attracted before the final voting ended (by notch, etc), that they had a significant influence on theme voting.

Tags: Discussion, theme

BEF – Timelapse

Here is the Timelapse for my Jam entry, for Ludum Dare 21, BEF.

I was using Chronolapse 1.0.7 on a two monitor setup, but some entire sections of the capture were just blanks, which was annoying as I did some serious modelling the first day, troops, tanks, aircraft and a ship (only the ship and french trooper appear).

This is a good example of how not to do a LD, don’t just model everything first at least model and develope or better still build the mechanics then bring in better models.

Play the game.

Tags: blender, timelapse, unity

I have a confession

I have a confession to make.  I am platformer/3D incompetent.

If it involves jumping, I suck at it.  If it involves moving around in 3d space, I get lost.

About 50% of the games on my initial list were platformers.  I was very sad.

I’ve gotten through my initial list. (YAY!)  I would like to test some non-platformers.  If you have created a game that is not 3D and involves NO jumping, I will gladly test it.

I can test Windows Start 7 on Netbook, Windows Vista on Desktop, Mac OS 10.5, and an old netbook running eeebuntu.

I will not install things.  I cannot open rar files.

Susan

tl;dr I will test your 2d non-jumping game if you leave a comment

 

Comments

26. Aug 2011 · 13:32 UTC
It’s 2D, has no jumping(well… I don’t consider it jumping), but you might get lost anyway.
26. Aug 2011 · 13:39 UTC
top-down game – no jumping in it.
pdyxs
26. Aug 2011 · 13:42 UTC
top-down, though the controls are a bit unconventional… on the plus side, you can get facebook friends to help on the later levels.
Felipe Budinich
26. Aug 2011 · 13:59 UTC
No jumping at all, and it’s actually pretty easy :-)
26. Aug 2011 · 14:06 UTC
McPixel surely doesn’t jump 😉
tcstyle
26. Aug 2011 · 14:10 UTC
Here you go. 2d, no jumping just clicking.
26. Aug 2011 · 14:33 UTC
Left is topdown as well. And the levels are extremely linear.
Shigor
26. Aug 2011 · 14:34 UTC
I’d tell you to try mine (100% guaranteed no 3d and no jumping), but since I had no time to balance it and add few hints and tweaks required for smooth play, it’s quite hard (or more like… too hard) 😀
foobaz
26. Aug 2011 · 23:59 UTC
I have 2d “room escape”. Minus the room(s) to get lost in. Definitely no jumping involved.

Polish Time

This weekend I shall start polishing my compo entry, Viral. I’ve been closely watching the comments/suggestions on my entry page and my post-mortem and add in most of the suggested items from that list.

The List

  • Moving from Flash CS4 to FlashDevelop IDE – As suggested in my post-mortem
  • Massive code clean – Way under commented, over copy-pasted, too much last-minute-hacking-please-let-me-make-the-deadline
  • Bug fixes from my known bugs list on the entry page
  • Art pass – Make everything look less programmer-art and more spiffy
  • Sound pass – The music works, but a two bar loop is just silly
  • A win condition – Not entirely sure what this will end up being quite yet
  • More levels – Possibly a random level generator
  • One more ability for the player
  • Balance pass – Make the abilities that don’t work well, work better

I think that is it. I estimate this will take more than a weekend to complete, unless I want to put myself under the strain of another compo again so soon.

 

SUBJECT:7, post mortem?

This is the second post I’m making about the game I made this LD – not been very active on the blog due to the website having its problems. I did tweet a lot, though.

I was very determined to do better than my previous entry this time – which I feel I have accomplished.

What went well:

  • Really happy with my tile work. This went a lot better than I had hoped.
  • The light/particle-stuff worked well.
  • My sound-system worked well.
  • Things were in general pretty smooth.
  • I even made a title-screen that looked fairly decent

What didn’t go well:

  • Level-design. I need to learn how this is done best. I believe that the first two rooms were decent – they did their purpose. However, the other rooms were garbage, and not clever at all.
  • There’s no ambient light in the game – several people have complained about not being able to see the player.
  • Giving too few instructions. I haven’t decided if this is a real problem or not — it is the kind of game where I want you to search around, and try different things. Some people didn’t bother, and some got genuinely stuck.
  • Spriting. I gave up making nice sprites, and just left in the placeholder sprites temporary sprites I made in the beginning of the competition. I need sprite-practice.
  • I took a shortcut on a couple of textures, and didn’t make them the power of two — that was silly, as some people got artifacts. (Hint; One of the textures is the title-screen)

Those who completed my game have been encouraging. I think I could create a larger game, based on this idea. It’s further down the road, though – since I have other plans.

Can I do better? Yes I can, just check out my performance on LD22.

Timelapse;

Screenshots;



Comments

tcstyle
26. Aug 2011 · 16:37 UTC
Don’t sell yourself short. I liked your player/enemy sprites as I liked (and finished) the whole game.

The Collapse – Post Mortem / Longplay

Finally I made a post mortem longplay.

I assume you read enough of those already so i made it a commentary to a longplay.

Edit: Its broken, gimme some time to fix, pinnacle videospin is CRAP. It removed all of the audio, didn’t doublecheck beforehand :/. Do you know any other free video editing tools for windows?

Edit2: Enjoy it as longplay, video spin won’t render the remaining audio no matter what i do.
I will re-edit and upload it when i found another tool 😐

 

Enjoy 😀

Post Mortem

Well while I wait for my timelapse to attempt to upload to Youtube for the 5th time, I might as well write a post-mortem for my game. Here’s a reminder of which one it was:

Awesome

So I pretty much managed to stick to my original plan this time. I chose the absolute simplest gameplay concept I could come up with, and avoided the temptation to try to make something fancy.

Avoiding falling stuff has to be the simplest action game imaginable; and in fact for a program I used to use called DIV Games Studio, it was the tutorial. A bit of a speed-up mechanic and some lava to escape from and I had my gameplay down. The code was messy, but never got to an unmanagable state.

I was then able to spend the second day working on the graphics, which I was pretty happy with in the end. I managed to submit a couple of hours before the deadline with Windows build complete, which is a first for me. It was nice to not have that sinking feeling about 5 hours before the deadline when you realise that you’re nowhere near to completing what you wanted to have done. And ever nicer to not be scurrying around trying to throw a build together with 10 minutes to go.

Pants

I still didn’t leave enough time to record some proper sounds and write some music like I’d hoped to. I ended up throwing together some sfxr noise, which is better than nothing, but does all start to sound the same after a while.

While the code went well, I found myself writing unnecessary bits of boilerplate code that I always seem to end up writing. Code that could and should really be abstracted into a library and reused.

In Closing

I think I took the right approach this time. No grandiose plans, no over-optimistic attempts at procedural generation, no attempts to invent new genres, and generally no biting off more than I could chew. I kept it simple and relaxed and while my entry isn’t going to win any prizes (there aren’t any anyway), the sense of accomplishment and closure was pretty satisfying.

Next time though, I’m going to be better prepared in terms of the libraries I use, and cut down some of the boilerplate to leave more time for gameplay code. Every extra minute I can save here and there gives me more chance to add polish, namely audio which always gets left until last and therefore neglected.

TL;DR: Happy but music next time

Tags: happy, post-mortem

Timelapse

Here’s my timelapse finally! I spliced the two days together.

Tags: finally, timelapse

Comments

N0_Named_Guy
26. Aug 2011 · 19:17 UTC
You are using dwm? How nice! I myself use xmonad 😛

Smart Fly The Game that was suppose to have been in the LD compo

Hi guys,

I had this game done but didn’t have net for 6 days so I couldn’t get on. Someone  forgot to pay the bill. Anyways here is my late entry. Hope you like it. :)

The game is about escaping the fly swat and dodging the gun turrets with bullets to reach the finish line.

http://dl.dropbox.com/u/6138533/Smart%20Fly.rar

screenshots

http://tinypic.com/view.php?pic=6pmc7l&s=7
http://tinypic.com/view.php?pic=6f0bp0&s=7

If it shows a error make sure you get the latest directx 9 have fun :)

 

Urth level guide

Urth has a rather high difficulty, especially in the puzzles available in story mode. These require both planning and reflexes, and may seem impossible. What works on paper doesn’t necessarily work so well in the field, and I’ve learned that by repeatedly failing to finish my own levels. Of course some tweaking there and there helped, and feedback from the community helped identify the particularly tough levels which needed ironing out.

Without further delay I present one set of possible solutions to the puzzles:

VIEW LEVEL GUIDE

I don’t doubt that most players devised their own solutions, and if anybody would like to share theirs I’d love to see them.

VIEW GAME PAGE PAGE

Mouse Trap – Postmortem

Mouse trap got “done”, many people have played. rated and commented it. So let’s get to it!

What went wrong:

Art:

I consider myself a programmer, and I really dislike doing art. But it had to be done. Besides disliking doing art, I am also way too perfectionist. Because I had a semi-working tile engine made, I used it.  So I’ve gone straight into doing the artsy stuff. But I ended up spending too much time on drawing a nice mouse.

The mouse:

I only realized that when I watched my project timelapse (see links at the bottom). And all that detail ended up unneeded. I was going for a zoom-able camera, so when a level started it would make a “dramatic” zoom out. To do that, I needed “high enough” resolution pictures and tilesets. No “great” zoom effect was done, so there was some good work wasted.

The mouse

The mouse in all its glory.

Reinventing the wheel:

After doing the mouse, I’ve put it to test on the tile engine I had. And because I was bored of art, I ended up doing some code in the engine itself. I modified the way the tiles were stored in memory and  squashed some bugs. But the thing that I shouldn’t start doing, was implementing in a dumb, heavy, and ugly (both visually and technically) way the Fog of War. I tried to ease it up with some alpha blending, making the game running like a snail. Then an easier way, that would take 10 minutes of my time, come to my mind. Threw the old code away, wrote the new one. Even more wasted work.

Fog of War

The easier to implement fog of war

Sweet but short:

Because I spend way too much time on the things above, I really didn’t gave enough time to level design. As another “artsy” thing, I don’t like doing it. I had a level designer in place for this engine, but changing the way tiles were in memory and the way levels got loaded, the level editor simply got broken. I even spent one hour or two to fix it, but then, I neglected it, and made the levels by hand (check out the levels’ source code in the links below.). The first one had to be ultra easy to ease on new players (I made the game so my mom could played it). The second had the traps, whose code and drawing were rushed. The labyrinth was made in the way of a “random walk”. While “walking randomly”, I made up a story in my head, that I kept writing, directly in the map tileset source code. After that I didn’t know what to do next, and I had only 2 hours left, and way too sleepy.

Level 2

Level editing, like a boss… (or like a propeller head)

The typos:

“Freedoom[sic] and cheese”. Let’s just leave that in the way it is.

RTFR:*

Those were the bad parts during the compo. After my game was published into the wild for ratings and reviews,  a guy on IRC asked me  if the soundtrack I had used was made by me. I said no. It wasn’t mine. Then that guy pointed out that I couldn’t use content created outside the LD48. I panicked. I didn’t want to lose my entry, due to forgetting one simple rule. The fix: rename the music files on the server, effectively removing the music from the game (the music’s link is below).

No updates, no news:

Another thing that I forgot to do was to keep a nicely updated journal, to keep people posted on what was I making.

What went better than expected

The reviews:

Well, the reviews were all awesome. Better than expected really! There were people who felt that this game was an analogy for life… My initial reaction was to laugh at it… My breath was taken by those comments. Then I replayed the game, and tried to look it in their point of view… In fact, maybe they are right! That is probably a good analogy for life!

Code reusing:

It really sped up my development. It sure is much easier to write from a known codebase than from scratch.

TaslemGuy says: I thought the game was neat. The sorts of comments the mouse made could easily be interpreted as the mouse's internal emotions OR metaphors for life. A bit brief, though.

Conclusions

People loved the game and I feel I put them in the mouse’s shoes. In my spare time, I’ll probably enhance it, with more levels, a deeper story and more kinds of traps. I would love to get doors and some animated enemies working on the game. Also a nicer intro screen and a great ending screen wouldn’t hurt…

Links

Glossary

*RTFR: Read the F…ine rules

65 Ludum Dare #21 games… in 10(ish) minutes.

Hello again! Gosh you do smell nice this weekend. Is that new cologne/perfume/soap/deleteasapplicable?

Just the other day, in the post-LD glow, I asked for some of you to poke your games in my direction so I could play them while rocking slowly back and forth in this white cell… and you did! I love you!

I added a few of my own picks to the mix, and glued it all together… and here it is:

 

65 Games in 10(ish) Minutes

(or “The Slow Descent into Madness”)

MASSIVE thankyou’s to (in show order):

schonsta, TurboDindon, Jasper Stocker, nilstastic, quickfingers, johanp, Bloodyaugust, Hempuli, puffi, ratking, jonnopon3000, gokuhd, DecsterB, Kevin Wells, oatsbarley, Dark Acre Jack, icrisanto, theosk, angrygeometry, agersant, dray, Felipe Budinich, marudziik, johnfn, Tom 7, Rolpege, KevinWorkman, lectvs, ointment, degtyarev, Winterblood, ChevyRay, Jhelle, pekuja, pgil, Zed, tcstyle, SLiV, Doft, Sos, matthias_zarzecki, LegacyCrono, WiggleWorm513, platypus, joekinley, heck, PaulWagener, Gib, Notch, accidentalrebel, None, Folis, PaulSB, superflat, RichMakeGame, kevglass, redwater, Superyoshi, Surrealix, EricTheCoolDude, digital_sorceress, Lattyware, Andrew, TheGrieve, Nanolotl

 

…and everyone else who supports indie gaming. It’s important. Very important. I love you all. x

Comments

26. Aug 2011 · 20:54 UTC
You were right. Your accent is priceless ! You got me laughing out loud, congratulations !
26. Aug 2011 · 21:18 UTC
Laughed out loud several times. Good stuff, as expected.
Alex
26. Aug 2011 · 21:25 UTC
I love it! Thanks!
26. Aug 2011 · 21:39 UTC
I loved it!
digital_sorceress
26. Aug 2011 · 22:27 UTC
That was fantastic.
26. Aug 2011 · 22:29 UTC
:O That was awesome.
Shadow
26. Aug 2011 · 23:20 UTC
Fantastic indeed. Loved it. Best coverage of LD ever.
26. Aug 2011 · 23:35 UTC
Great stuff. I dare someone to do all 599
schonstal
27. Aug 2011 · 00:46 UTC
I’m flattered that you listed most of me first, but it would be lovely if you listed the last letter of my name (‘L’) :)
27. Aug 2011 · 06:00 UTC
So far the most games in any ld48-coverage. Nice work!
27. Aug 2011 · 06:43 UTC
Hahahahaha, nice video. It’s even funny without sound. 😉
27. Aug 2011 · 08:46 UTC
Hahahaha, I was lieing on the floor, especially at the punching Notch’s massive balls around XD
27. Aug 2011 · 09:09 UTC
I’m not going to be original: I love it! I played many of games you’ve shown and had lots of laughs watching the video. Awesome. Thanks for including my game in there! 😀
27. Aug 2011 · 10:03 UTC
Fantastic work, congrats dude !
tcstyle
27. Aug 2011 · 10:35 UTC
Hilarious! Thanks for putting this together.
CoveBit
27. Aug 2011 · 12:57 UTC
Great work!
27. Aug 2011 · 20:00 UTC
Hahahahahahaha. That is all.
Felipe Budinich
28. Aug 2011 · 15:15 UTC
Thanks a lot mate, that was really fun :-)
gokuhd
29. Aug 2011 · 01:41 UTC
Awesome! great job, thank you :)
29. Aug 2011 · 02:44 UTC
Hilarious! Thank you! :)