LD21 August 19–22, 2011

Huescape Postmortem

This was my first ludum dare that I came out with an entry on the far side of it all, and I’m still buzzing about that :)  I wanted to go over the details of the concept and execution. The Concept

I’ve had the “change color to go through walls” idea for a bit, so I thought this would be a good chance to put together a prototype and see how it worked.  The general idea is that you’ve woken up inside an alien artifact filled with color-based challenges, with said alien narrating your progress (or lack thereof) like it was studying a rat in a maze.  I wanted it to seem like it was examining humanity through the concept of color, so it would try and “figure out” purple, or put together challenges with regards to mood and atmosphere that a color invokes.  Red lasers, big blue crystalline structures, smooth white alien surfaces.

I didn’t really have a chance to flesh out this narrative much except for the opening text (which in all fairness could be taken as anything really).  The final scene, when you finally exit into blackness at the end of the ordeal, I wanted sparks to fly out in the character’s various colors only to fade to small white stars.  The view would slow spin until you’d see yourself floating away from a massive, smooth alien cube with a little pin-prick door where you came out.  Maybe other doors on the surface would hint that there were other mazes, other experiments going on.  I wanted to evoke an ambiguous escape, like you escaped only to…what?  Float out into the abyss of space?

Anyways, without further ado…

The Good

1. Unity
I had some second thoughts about going with Unity again this time around for a couple of reasons.  In the last couple of competitions, I’ve gotten lost in the details and not come out with anything.  It doesn’t have any built-in support for 2D sprite animation and the nice libraries for handling that are commercial so I can’t submit the source required to enter the competition.  Finally, I can’t produce 3D assets quickly enough to make it feasible in the time limit of the competition.

I had decided that I’d probably just be jamming on an existing Unity project unrelated to the theme anyway though, so when the theme clicked with my idea and I decided to switch gears I decided to stay in the Unity groove despite my hesitation.  This actually worked out great this time around because it gave me a huge leg up building the environments.  Which leads me to:

2. Hand-Crafted Levels
I love procedurally generated content.  I love playing games like that, and the siren’s lure of cheap, infinite content is oh so attractive when time is so scarce.  Unfortunately, most times I run into Doull’s Law and before you know it all my time is gone and I’ve been staring at my algorithm trying to get just the right random levels.  This time around, with the core mechanic being a puzzle platformer, I broke out my sketchbook before I did anything else and I scribbled out eight or ten “rooms” that I could string together.  That done, I took the first and simplest room and went to work putting it together in Blender.  Unfortunately, I had a lot of trouble getting the results I wanted out of Blender (due to my own inexperience, not for lack of capability from the tool) and I was starting to second guess by decision to stick with Unity and the third dimension.

Then I had an idea – Unity 3 introduced a great little feature that when you hold down the ‘V’ key while moving an object, you’ll grab the actual mesh vertex under your mouse and it will snap to the closest vertex while you drag it around.  My environments were already super simple, so I dumbed them down even further to be constructed of nothing but transformed cubes.  Cubes for walls, cubes for floors, cubes for stairs – everything.  Unity has a default Cube prefab that you can drop into your scene, and this combined with the vertex snapping let me put together a primitive room like building with Legos, much faster than I could fighting with Blender.

3. Priorities
This time around, I made much better decisions about how to prioritize my time to tackle my game idea.  In the past, I’ve been bogged down with anything from reorganizing my code to trying to get the perfect particle effect (god I hate Unity’s particle system, but that’s a different topic).  This time around, I had my sketches first so I knew exactly where I was going.  I knew how the first room was set up, and it was simple to help introduce the player to the core gameplay mechanic of changing colors to change surface solidity.  This gave me an early goal to shoot for – get the entire game running in the first room.  Get the room put together, get the player controllable, and wire up the color changing controls to the logic that changes the environment accordingly.  I didn’t start work until Saturday around lunchtime and I had a fully functional system in place by the time I want to bed.  I rounded out some issues when I start up again on Sunday but then all I had to do was start implementing puzzle rooms.  I could work for as long as I wanted to and when it was time to be done I’d just tie off the environment and we’d be set to go.

Of course that’s not really the case most of the time.  In the end, I finished the rooms I planned on for my entry (four distinct areas) with a “win” state.  Towards the end I realized I wouldn’t have any time to work on it during the last day of the Jam so I decided to round out the experience by adding the necessary death/respawning and call it finished.  I don’t even know where to go with sound so there’s nothing in it (not even some nice sfxr effects).  Now that I’ve got “finished my gameplay” entry under my belt, I think I’ll need to get some practice doing rapid sound engineering so I’m ready next time.  The key though is that taking a bite-sized chunk of my game and getting everything working in it gave me a good sense of what worked and what didn’t, and it gave me the warm fuzzy of seeing it all in action that probably carried my through the rest of the weekend.

The Bad

1. Primitive Environments
This is the double-edged sword of using Unity’s cubes as my only building block.  All right-angles and flat surfaces, it’s close the the alien environment I was looking for but it’s a little too angular and there’s not a lot to indicate the way forward and draw the player in that direction.  There are plenty of spots crafted from a bunch of cubes that really should be a single piece of geometry (like the stairs in room two).  This is okay for the white always-solid portions of the room, but it causes weird artifacts where semi-transparent colored regions overlap.  If I was more comfortable with Blender, these object would be made there and I’d be able to add a little more variety and at the same time have more complicated geometry as a single mesh.

The other side of the primitive environment is the lighting.  I don’t really have a strong grasp of lighting a scene well and this, combined with all the boring lines of the cubes, made the rooms look really flat and dull.  I originally pictured the environment stark and harsh and geometric with lots of ambient occlusion (leveraging Unity’s lightmapping) to give it more of the look of The Witness or Mirror’s Edge’s time trial DLC.  Unfortunately, with the poor lighting and the lack of interesting detail, it didn’t look anything like that.  At the last minute, I added the grainy noise filter and the “your suit is broken” conceit to cover it all up.

2. Controls
This one comes in two flavors:  movement speed and color switching.  Several of the commentors complain that the controls are off and that movement is too slow.  I agree, and I played some with the settings for the FPS character controller script I used from Unity’s standard assets.  Moving any faster made things feel too slippery for a game where I’m asking people to jump onto floating platforms.  In reality, I think maybe the starting rooms were just too big.  Unfortunately, building them all out of cubes as described above makes it really hard to shorten a room.  My guess is that would have been easier to do in Blender, and I could have tweaked the size of the various rooms to give it a little more flow and make the player feel faster without actually speeding him up.

On the other hand, color switching was a big question mark in my mental model for the game.  I had the idea of changing colors to move through obstacles, but I had no idea how to actually let the player do so.  In the end, I sort of punted and used classic FPS weapon selection with the number keys.  More than one person had trouble with this configuration though, and it’s made worse by the fact that the puzzles I had in mind asked the user to switch colors on the fly (in mid-air in the case of the final room).  Switching had to be easy enough to do it quickly and accurately, but also required instant access to all possible colors at once to allow any color-to-color transition.  I briefly looked into a linear linked list where the player could only transition from cyan to magenta to yellow and so on to loop around to the beginning.  This didn’t work since reflex-based puzzles were completely out of the question when there was n possible colors in between you and the one you wanted.

3. Too Many Colors vs. Not Enough
This brings us the the color selection.  The final jam entry only has three (plus the “all off” white color).  I originally included red, green, and blue as well, but I didn’t have a chance to build out more environments to use those colors so I pulled them out (this is a sideways compliment about Unity as well, as my color-switching component can have new colors added and removed right in the inspector without any other code and the UI and the world respond accordingly).  I’d like to include more colors since the environment’s palette is essentially bounded to this list.  Too short a list and you’re environment is boring.  Too long, though, and you exacerbate the control problems with color switching, as well as making colors less and less unique.  I think the three worked for now, but my guess is I’d feel pretty constrained in the art department if I could only use those four colors.  Who knows, though – I’ve seen some games make great use of a limited color palette.

4. User Feedback
I mentioned I hate the Unity particle system, right?  Yeah…it’s a time-sucking black hole of configuration options that never seem to give me the affects I’m going for in my head.  Conceptually, I wanted to send heavy sparks radiating out from the player in the color the user changed to, but I could find a good looking way to get the glowing trails that you’d expect form actual sparks.  It’s made worse by the fact that they emanate so close to the camera so you get these big, ugly blurry blobs for particles.  I got distracted with the sparks though (as I’m prone to do with the damn thing) and never got around to adding other feedback so there’s not a lot of action cues other than the UI to tell the user what color they are.  I’d like to change the lighting of the level to whichever color the player is, but I’d have to experiment with how that changes the player’s ability to know what color other surfaces are.  In the end, there’s just not a lot of feedback from your actions in the game, so everything feels a little static.

5. The Final Puzzle
The last puzzle as put down in my sketchbook was completely unworkable and I didn’t realize it until I got to implementing and testing it Sunday evening.  The original plan didn’t have the walls in between the platforms, with the intention of only forcing the player to switch to the next platform’s color mid-air.  The problem, though, was obvious once I’d died once – I’d given the player the ability to switch to the color white, which in effect makes everything solid.  Dying automatically resets the player’s color to white and I was faced with a broken finale where the entire path to freedom was solid before me.  I needed to salvage the room as best I could though rather than coming up with a whole new puzzle – the time it took to put together a room from start to finish was more time than I had at that point.  The walls were a way to force the player to change their color into a non-white option, bringing us back to the original intent of the puzzle.  It’s a little more complicated since it’s not exactly obvious that the platform on the other side of a transparent wall is itself transparent until you get over there (and fall through) the first time.  In the end, though, I’m glad it worked out and the solution is learnable so I don’t feel it’s necessarily outside the bounds of fairness.  Maybe not the final design I’d go with, but it worked for the weekend.

The Future

I think the core mechanic has some legs on it, and I think that the mental picture I have of the atmosphere and narrative might make for an interesting place to play for a while.  The biggest hurdle really is the controls but it might be fun to build out a more fully-fleshed proof of concept and try out some different control schemes.

Also, I’m not sure how you make a game that’s so purely about color accessible with regards to color blindness and other related issues.  A yellow wall doesn’t have any form to alter, no texture or other cues besides its color.  I’d have to do some research to see if other games have solves similar problems and if there’s a way of handling it gracefully without breaking the art direction I’m aiming for.

Finally, some other random concepts to add some variety to the game, in no particular order:

1. More Hazards
Spikes, Lazers, different substances.  All or most of these can be specific colors so that the player can nullify their effects with a strategic color change.  Combining these with navigation might make for some fun (or frustrating) combinations.

2. Slopes
There needs to be more variety in the environmental architecture for sure, but I always loved the sliding sequences in Mirrors Edge where you’re coming down off the side of a skyscraper.  I love that sense of barely-controlled momentum, and I thought I could use something similar to introduce a timing aspect to some puzzles.

3. Paint Gun
All that geometry makes for a clean, alien environment, but that can be a little boring sometimes.  I thought it’d be a fun idea to have a gun that you could hose down surfaces with that would splatter paint all over it so you could essentially walk through the splatter as door using that color.  I thought the organic look of the paint splatters and the ragged “holes” they would make would be an interesting contrast to the environment as a whole, but the technical implications put it out of reach for the competition.  Maybe something fun to play with later though.

 

Thanks for playing folks!  I had a blast working on it with all of you.

Tags: post-mortem, postmortem

This has been my first LD. I've managed to complete a game and the whole
 weekend was a nice experience. Here's what I've thought...
 
 Before LD21
 
 + you can't possibly make interesting levels by hand in whatever little
 time you have left after finishing the engine and art, therefore you need
 to make a game that doesn't rely on levels
 + you can't make decent 3d games in 48 hours
 + you can't balance a game in 48 hours
 + libraries are for lazy programmers
After LD21
 
 + you can make interesting levels because developping with libraries saves
 you lots of time or you could make a level generator
 Astar
 Hell fortress escape
 
 + you can make nice 3d games in 48 hours with the proper tools
 Stratus
 Under a watchful eye
 Prelude of the Chambered
+ libraries are mandatory if you want something more complex than a tic-tac-toe like game
 Gather 10 keys to escape
+ mining games are pretty damn popular
 Lost in the shadows
 Caved in
 Tea powered escape!
+ 48 hour entries can provide an interesting atmosphere
 Escape from the labytinth
 AWOL
+ you can write a story-based game in 48 hours with superbe pixelated graphics
 A tale about life, death and a loser
+ WordPress hates me

Ludum Dare 21 – My Post-Mortem

It’s been a good set of days with Ludum Dare, and aside from one incredibly annoying and potentially ruining issue it has been a great learning experience. It’s been a lot of fun and I hope to compete again in the future.

The Good:

Entire game got completed, without too many hits (except for the one mentioned above), it’s been a blast and in general I wouldn’t have anything bad to say with it. Programming was difficult at times, but it helped me push out more and further my little experience in that field a lot more.

The Bad:

 Work on the Music took a lot longer than previously desired, but more-so than that it seems the game is working out to be a bit hard for players. I wish I had placed the controls information inside the game, as this generally would clear up that holding X makes the character run a lot faster and in general makes for easier platforming. It -is- playable, but this is where the ugly comes in.

The Ugly:

This is where it gets really nasty. The original upload I made for the contest had everything working, everything, except -one- item, which is crucial to completion. The reason why this wasn’t in the original upload? On zipping the file I must have done something horribly wrong which wrote those rooms as completely blank. In my source outside of the zip everything was fine, but with the zip bundled and such, I didn’t notice this error till later. I reuploaded another zip with the correction made, but if this invalidates the entry then I’m willing to roll with that blow; I’d much rather a game that was complete and made in the spirit of the contest rather than try to rush something out just for the whole idea of “winning” something. Hopefully though, this shouldn’t cause any problems.

Summary:

Incredible learning experience through and through. I had originally intended to make an RPG with a basis engine beforehand but the time frame for that does not fit very well for a 48 Hour contest. I’d like to attempt it someday, but maybe for the Jam as opposed to the Compo. I really look forward to the next Ludum Dare and as usual check out the other entries submitted. There’s some amazing content up!

Till next time~

Puzzlestein Postmortem

This was my second Dare, and it was just as fun as the last one. I learn a lot from this process, and I am proud of being part of this incredible welcoming community.

The concept
The game is based on an idea I got a few months ago. I’ve wanted to try out this idea for a while, just to see if it would turn in to an enjoyable game. After seeing the end result of the voting rounds, I immediately thought that this would be a good opportunity to try to implement this game.

The premise of the game is simple: Wolfenstein converted into a turnbased puzzle game.

What went right

1. The engine
An engine like the one used in Wolfenstein is quite easy to implement using the technology that exists today. Back in the days you had to implement it all in software on hardware that merely were fast enough to draw graphics at that speed. I went for a really easy approach where I simply put a lot of textures cubes on the screen. This works fine as long as the maps arean’t big enough. Using this method, it was easy to implement a simple tilemap loader that put the cubes at the correct position in the world with the right texture.

2. Known library
Unlike my first Dare, I used a library I’ve used before. I used the same library as I used for my entry for Mini-LD #28, Three.js. This turned out well, as I could be productive from minute one.

3. Level editor
In the middle of the implementation process I figured out I needed some way to define the levels. I figured I did not have time to write something myself, so I checked out a few tilemap editors I already knew, but none of them would export to a javascript-compatible file out of the box. Some of the editors support writing custom exporters, but I didn’t feel like brushing up on my Lua experience. I therefore went for an easy middleway where I used Mappy to build the levels. I then exported them to text format, and copied part of the text over to a custom made fileformat using json. This solved my problem completely, and worked well for my use.

4. Browser standards
For this entry I used some of the latest HTML5 technologies. It’s suprising how well the standards are defined for both WebGL and HTML5 Audio. When I’ve implemented the engines using Chrome, and then tested it using Firefox, it seemed to work with almost no changes. The only change I had to do, was some error checking for loading audio for Firefox.

What went wrong

1. Postponing sound
Once again I postponed the sound and sound implementation to the last minute. Sound creation went fast as always with the mighty powerful BFXR. Earlier I’ve used a sound library that uses Flash for sound playback for maximum browser support. But I figures as I’m using WebGL, I could as well use HTML5 sound, even though it is not that well supported yet. I’m pretty sure that if your browser supports WebGL, it will also support HTML5 sound as well. Problem is, I’ve never used HTML5 audio, so I needed to learn it as well. Turned out that is wasn’t that hard, and within an hour I’ve made a very simple sound engine for my sound and music needs. Before the next Dare I should probably create a sound library that I can use instead of having to struggle with sound once again.

2. Lack of artistic skills
This is a general problem with my entries. I lack the artist gene, and is therefore not able to draw pretty pictures. This is shown in most my entries, where I try to minimize the damage done using as simple as possible drawing. This time I needed to draw a simple character, and it turned out ok, but I think I should stick to mechanical constructs ahead to avoid having to draw organic objects. The same goes for music. I found this really nice tool before the competition that I thought I should be able to use to make simple music with, DrumCircle. When I sat down with it, however, I could not create anything that sounded like music, even though I succeded using it a lot before the competition. I therefore ended up using elevator-music generated from Wolfram Tones.

3. Difficulty level
I really misjudged how hard it would be to play the game without a minimap. I intentionally did not include a minimap just to give the game a little more challenge. After reading comments and seeing friends play the game, it seems like a minimap is a must for this game. It is also har to judge how far you’ll step using a single arrow because of the lack of a visible grid. This was also caused in part by the lack of variation in the wall graphics.

4. Level design
I had no clear idea how I should design the levels, and how I should design their challenges. With that in mind, I ended up using scare-tactics as a gameplay element. The challenge of the game became the avoidance of the guards. I initially intended to add sophisticated shooting-mechanics into the mix, but it turned out that running away from guards was enough.

5. Rough introduction
There was no tutorial in this game. You was thrown right into the frying pan, causing all kind of confusion because the player had no idea on how to play it. This could be solved by having a more sandbox-like first level with some popups appearing when the player walks over given points. As it is now, the player is greeted with a wall of text at startup, and you cannot really play the game without knowing the bare basics given there.

6. Irritating UI
I implemented the UI using JQuery and JQuery UI. These libraries aren’t really made for games, and it shows in this game. I wanted a queue of commands for the pleyer to execute. This queue could become taller than the height of the screen. Instead of allowing full window scrolling I made a smaller area with a scrollbar. It was then possible to rearrange items in the queue by dragging each command up and down. The problem with this approach was that it was possible to scroll past the horizontal and vertical edges of the queue, which made it quite hard to predict what would happen if you dropped an item at times.

The future

If I get the time, I will try to improve on the game, and maybe even add a few features.

1. Minimap
I would like to add a small minimap for the players to easily orient themselves. I’m not sure if I should place enemy markers here. I should at least mark their position if they catch you in case the camera is not in the correct direction. I should probably change the camera angle in any case.

2. Level grid
A visible grid that gives an indication on far you will step if you add one more move action to the queue.

3. Less annoying interface
An execution queue that does not scroll at its own will. I will probably implement this using a canvas where I calculate the position of the individual queue elements myself as well as accepting the input.

4. Speed of execution
Buttons to control the speed of playback. Too often it feels like it takes an eternity to make the player avatar move.

5. Conveyor belts
This is a new gameplay element. I was thinking about adding conveyor belts that you could push crates onto. This would give the possibility to kill enemies by pushing them with the crates. This idea came from reading about the board game Robo Rally.

Tags: postmortem

Comments

12. Sep 2011 · 00:35 UTC
Would you like this post-mortem to show up in indie(Magazine); Issue #15?

Elastic Post-Mortem

Someone playing Elastic Prison

Alright so here go my final thoughts.

Game Mechanic:

I’m pretty happy with how everything went. The first day I spent a lot of hours just brainstorming, trying to come up with a really cool and simple concept. I’m a big fan of generated content and simulations that give the player something interesting and new to play with. Something that encourages the player to experiment instead of just running through everything completely deterministic. And I came up with a concept that was just way too abstract, and I wasn’t able to fill the blanks with working/realistic ideas. So about 10 hours in I somewhat hit a wall and was feeling quite stressed out. So I remembered to keep it dead simple and came up with what turned into my final entry. Elastic Prison, a game where the player controls a ball that is attached to an elastic band that keeps pulling it back to the starting point. And for the player to free himself, he has to cling & swing himself from one floating hook/ball to the next to maybe reach something that will remove this rubber band.

First I focused on how the player controls this ball and how the elastic band attaches itself to these hooks. I had something running pretty quickly and felt satisfied with the controls. Then I started to focus on the actual level creation. I knew there needed to be some variation so I created different kinds of hooks. I also put a few minutes into improving the performance so I could just throw everything into one big level.  The next step was creating the level. I did so by making one challenge at a time for me. Every time I tried to make it different from the previous one, or even so that it builds on the skills that were acquired earlier. I tried to make later parts of the game really hard as I hear people are complaining a lot about games being to easy these days. So I could just barely play through these final stages that I created. Still it’s not impossible and after uploading my submission I recorded a 12 minute play through.

Tech:

Using LWJGL was a pretty straight forward decision but looking back it might have been smarter to choose libgdx because it’s LWJGL + more nice stuff (mp3 support). It’s been smooth sailing with LWJGL though. Currently I’m working on porting my game to libgdx to maybe have it run on android or as an applet.

Sound and Artwork:

Those were the things I was most confident about and surely enough I was really quick. Ableton and Photoshop did their job well. The sounds turned out a bit quiet though.

Feedback:

I have to say I was quite surprised with the feedback. Yes people liked the concept, art and sound but had a gripe with the controls, expecting them to behave differently and not really being able to figure out how to master them. And they were quite frustrated about how checkpoints work, as they won’t keep  you forever from going back to the beginning. Well I can see now how people expect the controls to work and it’s too bad that I didn’t hear that kind of feedback before I uploaded my final submission. While working on it I was told it is hard but fun, which is what I was going for. Now to the checkpoints. I guess the problem here lies completely in not communicating well enough how they work. The funny thing is that it is a really simple concept. Every hook behaves the same way. But some might hold you longer, depending on their size. You won’t end up at the beginning if you understand this concept and make sure to reattach yourself to these large hooks again when they stop glowing.

Once you get it it’s a challenging and interesting concept. And I thought it goes quite well with the theme. The player is trapped and tries to escape. Once he stops struggling he is in danger of being back where he has started.

Future:

I look forward to the next Ludum Dare. I’ll make sure to get more feedback while working on my game, and to keep it simple straight from the beginning. As for Elastic Prison, I’ll make it available as an Applet and maybe do some more with that concept sometime in the future.

 

My Entry

Tags: java, lwjgl, post-mortem

Make a run for it … and it works!

Hi there, LDs over for a week and I got many people to say, that my glorious (ahem) piece of work isn’t beatable at all.

So, I beg to differ 😉

http://www.youtube.com/watch?v=U-RNWmPBj00

Yes, you’re absolutely right, it’s hard as hell, there’s no introduction or tutorial at all and you’ve to have a lot of luck to get a starting position where your ship isn’t blast into pieces after a few seconds.

But it works.

Ok, I’ll try to learn this lesson once and for all (my LD 19 entry wasn’t nicely to play, too) 😉

No, it works not. Yes, it does!

Getting data out of unsigned applets

After finishing my game I noticed that I had plenty of spare hours left so I decided to add a scoreboard. Unfortunately that meant communicating with a web server, which to my knowledge meant I had to sign the thing.

Signing applets involves some console work, but most importantly it involves an annoying popup asking people to let the thing run. In my mind that’s nearly as bad as a installer and I didn’t want anything of the sort, besides I tried that on a previous project (which come to think of it was also a 48 hour game) and that resulted in people not playing it a all.

From some android work I’ve done I remembered I can call links to pages even if the app has no permissions(the browser handles the links), and I wasn’t too surprised when I found out that an unsigned applet can do the same.

Basically what I did was call

link(“http://example.com/scores.php?name=Andrew&score=asdfg”);

(processing function, no Idea if it’s the same in reglar java) where ‘asdfg’ was an encrypted version of the score.  This coupled with making each score unique prevented floods on the scoreboard.

The function spawns a popup window, and I’ve noticed that even if chrome blocks it, it still preloads the score page causing the score to go through. This may or may not be a security issue.

If anyone knows a better, or just different way to have an applet share its internal data I’d love to hear it.

VIEW GAME PAGE

 

Tags: applet, chrome, java, processing, security, unsigned

Comments

27. Aug 2011 · 18:56 UTC
An applet doesn’t need to be signed to communicate with the server it comes from.

“Captive” update released!

I’ve released an update to my Ludum Dare game Captive. It fixes the peskiest bugs, adds a bit of polish, and a tiny bit of new content. Of course, the original compo release is still available as well.

Here’s the changelog for this most recent version:

-Added a few tiles to some rooms to make them slightly less dull.
-Fixed a music bug with the red terminal (for real this time)
-Added a secret 4th Boomka game you can unlock after beating the red terminal.
-Added a “portal” object to a single room. It’s related to the secret.
-Made it so that checkpoints remember what key cards and doors are open when you save (as well as other variables, such as the music playing). This prevents you from grabbing a keycard, getting killed, but keeping the keycard after respawning.
-Added sounds for the fireballs. -Randomized the fireball-pipe’s first alarm a tiny bit.
-Fireballs now destroy when they fall off the edge of the screen.
-Made it so that using a terminal will reset the “used” status of checkpoints, so you can save again if you’ve just played a Boomka game.
-Removed a couple of very frustrating spikes.
-Moved around and added a couple of turrets, as well as some fireball-pipes.

 

Play it HERE!

Post Compo Beauty Treatment

It’s already been a week since I submitted my first entry into LD. Been reviewing quite a few games and am impressed with the sheer amount and diversity (and similarity ;)) found in the competition. Truly an inspiring place to learn from others.

My game “Still Dreaming” has been reviewed by lots of people. I’m overwhelmed by the amazing feedback I’ve received. Thanks everyone for playing & enjoying the game. Main point of criticism has been it’s shortness which I completely understand. I’d love to keep this game growing over time and add more puzzles as they come to me.

I spent some time today tidying up a few things in “Still Dreaming”. Mainly there were a few visual aspects I wasn’t completely happy with.

Screenshot above is from the “improved” level 2. Check out the enhanced version here: Still Dreaming – Enhanced

Cheers,
Bach

Ludum Dare review marathon

Hi.

If you read french, or if you’re fine with google translate, you might be interested.

I’ve started on my blog Oujevipo a Ludum Dare Review Marathon, the objective is to review a maximum of LD#21 games before the end of the voting. Of course, I’m not alone and a lot of nice people are helping me. Thanks to them.

Maybe will you find your game in there, maybe you’ll discover some games you still haven’t played…
it’s here : http://oujevipo.fr/index.php?option=com_tag&task=tag&tag=ld21

Postmortem – Esc.

My puny game is not, by any means interesting in terms in gameplay. Main character only walks to the left or right direction, and he does not even jump once. But, it has nice art style, and somewhat interesting, although short story.

That’s because I’ve decided to use and exploit my main skill – drawing. And focus on story and idea. Because my programming skills are rather shabby and rusty, even though I have some, but they clearly not as good, as some of you guys have. I can’t say I was working really hard in this 48 hours, in the first day I have created simple graphics, and for second I’ve made simple and cheap animations and wrote a simple code.

Idea of a game looks kind of like russian matreshka doll, you keep escaping from different places. I have added places that I could remembered as often used in sci-fi and adventure literature.

I should say, this was fun, since it felt really good when I finished it and submitted. It’s great to be part of such a nice event as Ludum Dare, and I want to thank everyone who participated, and especially people who made it possible. Thanks, guys.

 

Puzzlestein updated

I’ve added an updated version of my entry, fixing some of the problems with the competition version. Please don’t vote based on this version.

These are some of the changes:

  • Added minimap
  • Grid on the floor
  • Rotate avatar towards enemy on collision
  • Change movement speed
  • No more horizontal scrolling in sequence list
  • Added an easier introduction level
  • Added loading bar

Play the updated game here:
http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=3796

Tags: post-compo, update

What makes a Ludum Dare game best overall?

I was talking with my friend earlier today and I was wondering what is the most important thing to focus on a game (after functionality): is it graphics? Innovation? Audio? Something else entirely?

 

So I wrote a quick script to show the correlations between all of our statistics and overall. The script is here.

The correlations are (lower is more correlated):

{'Humor': 179, 'Innovation': 66, 'Community': 158, 'Theme': 107, 'Graphics': 73, 'Fun': 23, 'Audio': 251}

Fun is obvious. If a game isn’t fun, then it’s not going to be good overall. But fun is also pretty vague and hard to define – it doesn’t give much more information than ‘overall’.

Innovation and graphics come after – these are things that are more understandable. So, conclusions: work really hard to come up with clever ideas, and spend a lot of time on the graphics.

 

Pretty sad to see audio come in dead last, since that’s something I worked hard on :)

Esc. The Robot Postmortem!

Postmortem time!
This was my first LD and i have to say that i really enjoyed it, with all the blog post, chat and Streaming i didn’t feel alone last weekend. Thanks for that.  long post ->


About the game, my first objective was to have a game working, in that i success even if all the things i wanted in it is not like enemies (but i like my evil space mouse so i’ll do it).
I was preoccupied all weekend about the feedback other have from my game. I wanted a game a little frustrating for the player trying to escape the falling ground while looking for the Exit.
If you played my game you probably notice that “little frustrating” don’t fit well to my game, i spend so much time playing my game that i master it and i wasn’t able to find why people found it that hard.

The major feedback i got was the camera Perspective giving wrong info about distance for jumping. Here is my biggest mistake. When the idea of the game came to me, I saw it on a 3disometric view and make it but it didnt feel right,
so i make it a perspective camera keeping the iso orientation, the game wasn’t really playable and finally came to the cam i have in the game, 45° in 1 axe. i don’t found it perfect but that was ok and move to something else.
After that i didn’t touch the camera tweaking jump to make it easier but with the bad camera the game never feel right.

What i should do : I don’t really know, probably trash my cam and start a new one, behind the player but that’s not really the vision i got from the game.
so i have a question for you friendly dev people what do we have to do when we don’t find a solution that fit your idea?

Actually i redo the camera but don’t know yet if this will correct the problem. now the camera zoom in from the levelmap to the player so you know where the exit is. you can make a new zoom out using token you got in the level. For the perspective problem, now you can rotate the camera with the B and N keys.
when i finish this i’ll post a new version on kongregate and redirect the link of my entry to the original hosted by me.

And tonight i’ll doing a Walktrough video for my game, because i supposed that not a lot of people saw the 3 levels after the tutorial.

Sorry if this Text is unreadable it is written in Frenglish.

The good things :

– I finished it
– The idea worked early the first day
– I code things i didn’t think i was capable of
– The creativity from LD blogpost/chat/streaming help a lot
– Pretty Happy with the result

The bad things :
– Having an idea don’t say it’s a good one
– Making art take time, especially when crashing
– Lost Motivation on day 2 afternoon
– Panic about panicking
– Tweaking take time and feedback need to be undersood
– Unable to read Irc Chat
– Look at how frustrating is your game

Timeline (approximative):

Day1 :
9h00 : Woke up, look at the theme while Breakfast
10h00 : panicking because i vote for the theme and have no idea about what to do except crappy 2d plateformer
12h00 : lauching Unity to try an idea about falling ground
12h30 : walking on the falling ground seems fun !
13h00 : idea pop!
15h00 : first prototype on the web
18h00 : spend some time tweaking the game, from 2 friend feedback
23h00 : spend night making better texture for the blocks, you can find different ideas with the sources ( even PSD files)

Day2:
10h : 2nd prototype on the web
13h : made concept for the character, tweaking game, not really motivate
14h : Bumper Cube added
15h : Yay! my computer crash while making the uv of the character, of course no save at all…
17h : Character finished no one can play the level except me…
19h : Spend time to make the character rotating, too tired to do a easy thing like that. I found the game have good controls but other find it way too hard, Tweaking…
02h : Until Submission ( deadline 3h here) : Making The tutorials, menu, last tweaks… so tired

Coolness and nr of ratings charts

I like making charts, it’s a… thing. So I took some time to see how coolness is spread out over people, and how many ratings each person received. I might make updated versions on the one week mark and when it’s all over. Also I might make something regarding ratings received/coolness, but for now I got my fix. These values are from sometime today.

CLICK TO SEE

Tags: charts, coolness, ratings

Comments

zdanielz
28. Aug 2011 · 16:54 UTC
It would be interesting to plot in log-log and semi-log y scale! Thanks!
Shigor
28. Aug 2011 · 18:39 UTC
Because a lot of people will try popular things first, something somebody other already said is good. Notch’s game has the most rating by far. Randomizing your own list for rate and slowly adding new ones is good, but since there were already enough games I couldn’t rate (mac, ipad, android things or something which just crashes on my computer), I had to use “show all entries”. It’s still randomized, but if you go slowly over the list and then hit five bad / annoying / frustratingly hard entries, you’ll start to hope for something better… and higher number of entries usually means this might be good.
digital_sorceress
28. Aug 2011 · 18:40 UTC
It means that people are not selecting games with equal probability. (If they were, then we would be getting a Poisson distribution.)

Escape Artist postmortem pt 2: Attack of the Wrists

So first and foremost, I have to make an apology. I wanted to spam the LD community with tons of blog posts during game development, but I wasn’t able to. Why not? Well… (apart from the website crashing and all that… :) )

Python, it turns out, is an amazing language to code games in. The greatest part for me is that the iteration process from code to test to code is incredibly quick, and error fixing is a breeze. Contrast with languages like Javascript where you often have to spend comparatively more time tracking down bugs and correcting for silly errors you made (like accidentally adding an integer to a string instead of another integer).

What this means is that I was flying through code. I think that in the first 6 hours after I woke up I had written about 500 lines of code, which is an astonishing rate for me. But then I stared to notice that my wrist was starting to hurt. I kept going, figuring that it was probably nothing, but then at about 2pm I realized I needed to stop coding because my wrist was killing me.

For the first time, I had reached my limits. I had never written so much code in such a short amount of time.

This was actually really terrifying for me, and I had a ton of thoughts fly through my head. I was worried that I wasn’t going to be able to finish my LD game because my wrist was going to slow me down immensely. I was worried I was going to develop RSI or carpal tunnel. I was just generally freaking out since nothing like that had happened before.

So I took a break. I went to eat lunch. Then I went and picked up a guitar and played the song you hear in the background. Then I realized my wrists still hurt, so I worked on graphics for a few hours. Then I did some google searching to see what people do in problems like these. Turns out that these kinds of problems are why people invented those weird looking ergonomic keyboards, and I conveniently had one lying around, so I used it.

That keyboard was the saving grace of the project. It is much less intensive on the wrists for some reason I can’t quite figure out – your wrists don’t move around as much for some reason. Without the keyboard, I probably would have gotten stuck halfway through, which would have been really depressing!

On the other hand, I did lose about ten hours of time that I could have really used to improve my game further. It’s a shame that it happened, but I’ve learned from it, and it’s also a mistake I won’t make again.

So, tl;dr: If you’re a coder, I highly recommend getting a split keyboard to code with, especially during competitions. Save your wrists from pain!

Finally, if you want to see what I suffered through pain to bring you, check it out: Escape Artist

4

This entry was posted on Sunday, August 28th, 2011 at 5:05 pm 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.

MobEscape Postmortem

I guess I’ll write a little bit here about how my game turned out. Here is a screenshot as a reference.

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

This was my first Ludum Dare and I’m glad I participated. My game was originally intended to be a reverse tower defense game but it didn’t really work out exactly like I would have liked it to. I wanted it to be a frantic run through a bunch of randomly put together rooms with a bunch of towers shooting at you. I had that working about 24 hours in, but I came to the realization that it wasn’t fun at all. I contemplated quitting at that point because I was frustrated and a little angry that my game wasn’t fun. I ended up salvaging my game by reducing the number of followers the character has and trying to make the player be strategic with the way he navigates through the rooms in order to protect his followers. I’ll be honest that my game still wasn’t very fun, but I’m glad that I stuck it out and finished.

 

What went right:

  • I finished!
  • I liked the follower mechanic.
  • I think my in-air spinning knife animation was pretty awesome.
  • I tried something different. (As opposed to the type of game I would normally make)

What went wrong:

  • Music. I have no musical talent at all, but sometimes I manage to get lucky and make a good track. I tried, but I failed.
  • Game wasn’t fun.
  • Lots of the code was poorly written.

Takeaways

  • Awesome knife animation…
  • Various future game ideas
  • Motivation
  • Experience

I really enjoyed participating and I definitely plan on participating in future Ludum Dares. The community here is awesome and I am very thankful for the people who work hard to organize this and keep everything running smoothly. You are doing an awesome job!

Tags: escape, LD21, postmortem

Untitled Postmortem

My Entry into Ludum Dare #21 was Untitled, a Abstract (non-Objective) platformer game.

Before I go into what went Wrong and Right, I just wanted to mention my workflow, and how many hours I had to work. My college classes started up the week prior to Ludum Dare #21, so I knew going in that I didn’t want to pull any All Nighters. I think that the only thing All Nighters do anyways is make your decisions bad ones. So Friday night I waited around for the theme to be announced, then once it was I just about dropped out, Escape was not a theme I wanted, and not one that an idea came to me right away for. Before I dropped out though I decided to write down a few ideas, and see if any inspired me, and what do you know, one did. I got started that night, and knocked out the player controls, as well as level generation (for the most part) before going to bed. Over the next two days I refined what I had, and added to it. I had to force myself to not over complicate the game, else it wouldn’t be finished. In any case, it was finished, and I am happy with the way it came out. I view Ludum Dare as a chance to prototype a game, that I may not otherwise make. So rather than trying to make a finish game in 48 hours, I aim to make a decent prototype of a game I’d like to make.

 

What went wrong (because I’m a Pessimist):

> Music, I really can’t find a way to like, or even work with LMMS. Its outside of my range of talent. I have found a few tools from reading others Postmortem Posts that I can work with, and that I will be using next time. But for LD21 I decided to leave out the earplug inducing garbage I made in LMMS.

> Some (many?) people didn’t understand where the theme came in, to quote a reply I wrote to one commenter: ” The “escape” theme is more conceptual, and I don’t expect it to click for everyone. Basically I took the though of playing a Abstract Painting, and the fact that Abstract paintings are designed in a way that continually draw you back in, and meshed the two together. There are many different times and experiences when I have seen people stare at an abstract piece, attempting to come to a conclusion, when the piece more than likely has no logical conclusion, abstract art just is. So maybe they were playing some kind of game instead?”

> The Controls, I don’t know why I went with push button controls for changing your color, it was a bad decision. Many people have brought up the controls being an issue, and that they would have liked to have a visual representation of the keys used. While I’ll agree that is one solution that would work, I knew from the start that I didn’t want to have a GUI mucking up the visuals. That’s the reason the scoreboard was at the bottom, and your time isn’t shown.

What went right:

> I felt that the scoreboard was very effective, it fit in with the game I was trying to make,  and I’m not aware of anyone not understanding what was the score, and what was filler text.

 

 

 

 

 

 

 

 

 

> The GIMP once again worked out great for me. I have never had a problem using GIMP, and have been using it on a daily basis for five years now (processing digital photography). I think I’m just used to were stuff is and how to work in GIMP now. I actually prefer GIMP over Photoshop now, from when I have had to use Photoshop for a class it has  been painful and I find myself constantly hitting the wrong keys.

> Construct Classic since Ludum Dare #20 (the first LD I participated in) I have worked to farther my understanding of Construct. In LD#20 I wasn’t really happy with Construct, I failed to understand how certain functions worked, and thus had bugs and problems with my entry. This time Construct worked really great, I really like that I can drop in the resources and have a game quickly. I also like that I still have almost full control of how objects behave, and what functions I need or don’t need.

> sfxr worked great as always, I was able to generate some fitting sound effects for my game quickly.

> Overall game play and look I though worked really well, sure it needs refinement in some areas, such as the scoring, and the controls. But I believe it is fun to play.

 

Whats coming next:

I really like the idea of the game, and what it could be. So I am going to continue working on the game, adding and revising features.

> The controls were first on my list, I have changed the controls to use the Mouse, you Left click on the colored object you want to pass through, and right click to unselect colors (makes them all solid). The new controls are tons better, and have made playing the game faster and in my opinion more fun.

> Scoring, I liked the idea of the scoring in the game, but it fail short in a few places. The first was the difference between scores, there was a really small difference (100 to 200). I have since revised the scoring to add in a Multiplier, collection 5 of colored pickup with give you a bonus. I then added additional bonus multiplied that you could get, such as getting to the bottom of the map within 20 seconds, or changing colors less than five times. Overall the scoring is working alot better now, you can score anywhere from 400 to 5000 points. Best of all there is somewhat of a balance between pickup hunting, and racing to the bottom.

> Music, I have actually been working on music most of today. I used Otomata to create a number of songs that are different but all fitting for the music that I wanted. I wanted a kind of ambient music that was just there. Ototmata allowed me to generate music that fit my needs.

> I’m adding more modes/difficulties/colors that will be configurable, as well as changing the look a bit.

> Online High scores table, I’ll be adding a rather robust Online Highscore board, that you will be able to sort by name, score, date, time, pickups collected, clicks (color changes), and a few other details.

> More help, for the Ludum Dare entry I kept the How to Play information in game really general, and it wasn’t particularly helpful. Now when you first load into the level the game starts paused, and shows more information that goes into a bit more detail.

Testing

I’m not sure when I will have a download out for the new version, it will be when I’m happy with it, and I have the features I want in. I have setup a page on Indie DB that I will be posting additional development details on.

Tags: postmortem

Comments

12. Sep 2011 · 00:33 UTC
Would you like this post-mortem to show up in indie(Magazine); Issue #15?

There’s more to EscApe than you think

This is kind of a port-mortem of EscApe (there’s another game with same name, it’s not about that one :)) but I’m going to focus certain design choices I did in the 3 hours I created it.

Massive spoilers below, so if you intend to play my EscApe, go do it now!

“Your game is just a crummy monkey in a badly drawn cage”, you say? Perhaps, but there’s still more to it than meets they eye. Continue reading!

I’ve found two other games that are exactly the same as EscApe, except that they look and play quite differently. There’s The Power of Escape by BurnZeZ and BATHOS by johanp. I’ll use them to point out some differences in game design, which might sound like I’m trying to bash the other games, but that’s not my intention. Read it as constructive criticism.

The basic concept [of all 3] is of course to present the player with a room, which is impossible to escape using methods normally available in computer games. Not until the player starts thinking outside the box (or tries to quit the game, as we’ll see later), and takes what’s printed on her keyboard literally, she will escape the challenge. If executed correctly, this puzzle actually takes place in your room, rather on the computer screen.

Now, what did I try to do with this? My goal was to give as many hints as possible, without actually revealing the solution. I wanted the player after figuring it out to think “omg, why didn’t I think of that from the beginning?”.

Starting at the title, there’s a big green hint all over the screen. But I tried to draw your focus away from it, by making the game about an ape. You see, the title only says “escape” with “ape” highlighted.. or does it? :) To put even more emphasis on this I added the text “Can you help the ape escape?”. There’s actually one more thing, which I didn’t think of until later, that APE is written in a slightly stronger color than ESC, but I think the difference could have been even bigger.

Still at the title menu, at the bottom it just says ENTER (the compo version had more text, but I thought it was distracting so I changed it). This is also a hint, actually. You see, I don’t give any exact instructions on how to play the game – I will return to why shortly – you have to figure it out yourself. As I mentioned the solution is to read the Esc-key literally, and for this to work, all keys have to work in the same way. You enter the game by pressing the enter key. Simple enough.

Lack of instructions, yes? The reason is of course, that only thing worse than giving no instructions at all, would be to give partial or faulty instructions (without telling the player that they are faulty). So either you tell players what all keys do, which would spoil the puzzle, or you say nothing at all.

(BATHOS – not made by me)

As you can see BATHOS looks nothing like my game, it has much better graphics (and sound) and I thought it was incredibly funny as well. But the other Johan seems to have done the opposite in just about every choice I’ve described so far. In fact, it even seems like he knowingly tries to lead players in the wrong direction  :) By giving instructions, there’s nothing in the game – or deducted from experience of playing 100s of other computer games earlier – saying that there’s another unmentioned key that is crucial to winning. Further, if Z means “jump” and X means “pickup”, then Q might as well mean “escape”? IMHO it’s a little like playing Super Mario Bros and having to figure out that you have to press the reset button on your console to press to find the princess. Though BATHOS has a lot more comments and ratings than EscApe, so maybe this is what people wants :)

Back to our poor, caged simian. My idea here was to print out the key you pressed in clear text, so you would get the connection between its literal meaning and what goes on on screen. Initially I was going to make it more passive, so that pressing left would only make the monkey look left for example, but I ran out of time sooner than expected. People ought to figure out soon enough that moving around in the cage won’t help you, so I’m not sure it made any difference. Hopefully after coming to that conclusion, all the previously mentioned hints have trained the player enough to start pressing other keys to see if anything happens.

Due to this lack of time, there is a crucial part of the game missing; There should be more keys with functions in the game to lead the player from using the direction keys to thinking “aha! I need to press Esc to escape”. Not only would this help bridge the logical gap, but also add a little bit more fun to the game. These were some I thought of:

  • Space – Launches the cage into space or something. Maybe the monkey just thinks about space. However, it is a very important key, as it’s likely one of the first ones the player tries pressing (partially because of its size and location and partially because of its use in other games).
  • Shift – The ape shifts its weight around.
  • Home – Text: “You can’t go home”
  • Enter – Text: “You’re already inside”
  • Dash (well, it’s technically a minus sign, but they look similar enough) – Quick sprint in either direction.
  • End – Popup saying “Are you sure you want to end the game?” with possible quit.
  • Backspace – Printed as “Back (from) space” and returns to the jungle. Maybe too far fetched.

So why am I ranting about all this? Because gradually training the player to adapt to your game’s rules and mechanics is how you write modern games. No game designer ships their game with a printed manual these days, and if they do, nobody is going to read it :) Another central concept of modern game design is to make player feel like they’re doing exactly what they want to, while they’re doing exactly what you want them to. This makes the player feel incredibly awesome and is a lot more rewarding that simply following a heavily scripted story. Ok, so EscApe isn’t Half-Life 2 (Valve are good at this), but maybe it’s a little bit more to it than you initially thought? 😉

I wonder what would happen if the next LD theme was “space”…

Tags: escape, game design, post-mortem

Comments

shockedfrog
29. Aug 2011 · 13:09 UTC
I’m not an entrant and can’t see how many ratings the two games have, but there’s three reasons I can see why Bathos would have got more ratings:

Linux games downloader

Hi there. Here’s the games downloader I’ve mentioned in an earlier post and on IRC:

https://gist.github.com/1178530

Check line 76 of the source code. There you can change the platform you want.
Note that this script won’t download files hosted on file sharing sites (mediafire, megaupload, …).

Also, feel free to patch it, use it and abuse it… (Ok, not too much abuse or else the LD site pays it :P)…

Have fun

All my Ludum Dare Entries…

Play them on Kongregate.com

The idea is to progress these games polish them and improve them over time.

So don’t just leave your LD game on the shelf go back to it improve it, enhance it and get it out there where people can see, play and enjoy it!

Tags: Kongregate, unity

Escape Artist Postmortem Pt. 3: Right and Wrong

It seems to be traditional to, in your postmortem, say what went right and wrong. So here goes.

Good stuff

  • I managed to adhere to my schedule almost perfectly. I’ve had enough practice with timed contests by this point to know exactly how much I can accomplish in a certain amount of time, which is a huge boon.
  • With two hours left, I decided to include a boss, because I felt the game ‘didn’t feel right’ otherwise. As much as a recipe for disaster as that sounds, I pulled it off, and debugged the last boss bug with only minutes to spare. Like a boss. 😀
  • Python was an incredible language for gamedev, even though I had only recently learned pygame. I was much more productive than in (say) Actionscript.
  • I feel my graphics have much improved since my LD19 entry.
Bad stuff
  • I had a wrist failure which took me out of the compo for almost 10 hours. I wrote about it in detail in pt 2 of my postmortems.
  • I was making some dumb decisions by the end of the first day. I prioritized sound effects over getting the game done, and I’m not quite sure why I did so in retrospect. I think it was because I was really tired and it was detracting from my ability to make good decisions.
  • As much as I’ve improved, I still feel my graphics were subpar, and I should have devoted more time to them.
  • I wanted to apply fancy graphical filters and stuff like that, but didn’t have time. More than that, I didn’t know how. The graphical style of appy 1000mg in particular was a great inspiration to me, but I was unable to replicate it in any way. I need to look more into pygame’s advanced features in the future.
  • I had to port Python, which took about 6 hours of work. But since I had work, I didn’t get the ports out until 24 hours later, which meant I fell behind in ratings. That was disappointing at the time, although I’ve mostly caught up now, I feel.
What I’ve learned:
  • Get an ergonomic keyboard!
  • Care more about graphics. They really are important. Particularly, after you’ve finished with implementation, graphics are arguably the most important thing to work on.
  • Porting is hard. It’s such an advantage to choose a language you don’t have to port.
Two big problems with the entry, and one thing that’s separate. I’m going to work on graphics and buying a nice keyboard (that second one is pretty easy to work on :D) and I plan to really knock LD22 out of the park! :) Check out my game, Escape Artist!

STM in games

I wander does anybody uses something like STM in games?

I did try something like it in the last LD – my game used what I would call a lightweight STM. Meaning that had two threads of execution – a reader thread (which is actually performing the painting, based on a given game state) and a writer thread (which actually moves the game state ahead, the update loop).

The writer threads starts a “transaction” and it is working with its private copy of the value. When commits, the value becomes visible to the reader/painter thread.

The main advantage of the approach is that we can use easy multi-threading (even utilize multiple cores) with clear separation between who makes updates and who makes the drawing on screen. The only negative I see is that we cannot use directly the values provided by the language but instead should wrap every peace of data in another layer/abstraction.

Any thoughts?

Comments

SusanTheCat
30. Aug 2011 · 13:00 UTC
Since I don’t mind looking stupid, what do you mean by STM? I would assume some sort of thread management, but what does the S stand for?
SusanTheCat
30. Aug 2011 · 14:05 UTC
Thanks for the link!
Felipe Budinich
30. Aug 2011 · 14:31 UTC
Will read the link. The closer we have to multithreading (us lowly flash developers) is pixel bender :-p

Post Mortem of CRS Escape

This was my first Ludum Dare and it totally rocked.  I am a great fan of creativity under a deadline events.  I’ve participated in NaNoWriMo (Novel Writing), 24 Hour Comic, and NaNoRenMo (Visual Novels).

The Good:

Remembering to keep things simple.  The original story I came up with was much more complicated and involved things like timers and explosives.  I broke it down to the simplest elements.

I made my own event system. OK.  This is not that great an achievement, but I am happy with how well it worked.

The Bad:

End Graphics (The Lack of) I ran out of steam with the artwork and didn’t make any. The game didn’t feel complete without them.

Awkward interface.  Adding the mini map helped a bit, but it was hard to place yourself in the location.

Passage of Time not Apparent. Many people didn’t notice that the raccoon was slower than the cat.

What I learned:

You are much tougher on your game than other people are.  There is no need to point out all your mistakes to the people playing your game.

Play my game!

Susan

Tags: post-mortem, postmortem, Ren'Py

Comments

12. Sep 2011 · 00:33 UTC
Would you like this post-mortem to show up in indie(Magazine); Issue #15?

Jailed by the Ministry of Project Management – Post Mortem

After having improved the level generator a lot, I think it’s the right time to write a post mortem of my game.

What went right:

  • Game idea: At first I was disappointed with the theme, because I had some nice ideas for self-replication and genetics. But with the morning shower there came several interesting ideas. First idea was some sort of swarm attracting rescue game (still self-replication minded), second was a rpg in which you try to escape your chosen role (e.g. only get xp for things you are bad at) and the third idea was the actual one. I chose the later because it was the easiest to implement.
  • Tools: After warming up with python and pygame in the Mini-LD shortly before LD21 I felt very secure with the programming. Gimp, bfxr and Musagi also worked great.
  • Time management: Almost all the time I felt just a little bit ahead of my schedule which really is a great feeling (should once happen in my everyday job)

What went wrong:

  • Final improvements: I head some plans to further improve the game: better soundtrack, improved graphics, more player control over level generation. I even had the time, but as my wife and child came back home on Sunday my time for game development suddenly vanished (that’s not as bad as it sounds 😉 )
  • Windows executable: Meh, stupid py2exe. Just didn’t want to automtically bind the sound libraries. Actually that’s just a small issue, cause it wasn’t necessary to have this executable at Sunday night, but I was so eager to release it in time.
  • Randomized levels: I made a rather late decision to do randomized levels instead of pre-designed with raising difficulty. I am quite happy that I chose the randomized approach but my algorithm was to stupid to have real control over the difficulty (explanation here). I fixed it for now, which I want to illustrate with two screenshots.

Developer's "see all" mode: On the left the old generator on insane. Number of cages and cacti walls are quite random. On the right the improved version. Fixed number of cages and walls with random distribution.

Will there be a post-compo version? Definitely, there already is (not yet online) and I am planning to do further improvements based on the feedback so far. Ideas include:

  • Different play modes (e.g. visible cages with other constraints than now)
  • Kind of  dungeon crawler with inventory and classes
  • Integrate the dungeon crawler to a bigger scale exploration game (to prevent stupid descend dungeon levels)

Final words: If you haven’t already:

Go Play

Tags: post-mortem, pygame, python

Donations for Ludum Dare?

I think I read somewhere on the site that the gentlemen who run Ludum Dare now have monthly server costs in excess of $200.00.

Shouldn’t there be some kind of donation system so we can contribute to the site?

I know I would be willing to contribute some of my money to keep this fine site up and running.

Hopefully this donation system comes up soon before the site goes into its inevitable hibernation between contests.

What do you guys think? Would you donate? (a star means heck yeah I would donate to the cause!)

21

This entry was posted on Tuesday, August 30th, 2011 at 7:25 pm 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.

Video Walkthrough for Scratchy Get Out!

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

Some people think my game is unbeatable, but it is actually not that bad once you know what to do. It is definitely easier than about half of the arcade games in the 80s which is what I tried to model it after.

There is one bug that causes real problems, but the workaround is you just have to wait at least eight seconds before dropping a boulder. I don’t think there are any other bugs that are really an issue to beating it.

Here is the video walkthrough. This one shows the “eliminate the obstacles” strategy. This is not the quickest way to win, but it is one of the easiest ways to win for sure. I died three times trying to make this video btw.

Video Walkthrough for Scratchy Get Out!

Timelapse of the Chambered

I uploaded a Timelapse of the Chambered to YouTube!
I recorded this at one pic every four seconds, and it ended up being about 14 minutes at 60 fps, so this video is skipping quite a few frames.

So when’s the next LD? I miss it already.

This happens every time I’m trying to make something

I think everyone can relate to this? Honestly, I’m surprised I managed to “finish” a game with the amount of distractions I got. I’ve never finished anything… If Ludum Dare teaches something, then finishing is what it teaches best. It’s like you get an instant feedback of your performance in 2 days. By the time your brain wakes up with “Huh? What? Featu-u-u-res!” it’s already over. I think that this is a very useful experience for any starting indies and a good reminder for the veterans.

Tags: motivation

Towering Inferno post mortem

Post mortem for Towering Inferno, also cross-posted from my dev tumblr:

Things that went right:

  • The Pomodoro technique kept me focued for the first day. It breaks work down into 25 minute chunks, with 5 minutes of break inbetween. In my todo list I kept track of how many pomodoros I had spent on each task, so I could see when I was getting sidetracked. For instance I could have spent more time on the procedural level generation mechanics, but could see the pomodoros adding up, so decided to move on.
  • Git and github. I haven’t used Git in anger before and quite like the workflow, but by hosting for free on github I could quickly push updates to a friend who would playtest them for me. This was two or three keypresses in bash, but if I had to package and email off builds it would have taken much longer.
  • Playtesting. The game was essentially finished by 5pm, but I spent a lot of time balancing and playtesting the game, along with a friend mentioned above. He helped me fix many bugs and gave input on the difficulty and balance of the game. It’s inifinitely better because of his input. Thanks Steve!
  • Libtcod. This was the first roguelike engine I tried. I had others lined up, but this fitted the bill perfectly. It did not require much code to hook up, and handled all the annoying bits of game development: graphics, input, etc. Its BSP library was very useful for the procedural generation of levels, and even provided a good random number generator.

Things that went wrong:

  • Difficulty. The procedural generation is very basic, which makes some levels much harder or impossible compared to others. The only sop to this is that fire is not allowed to start in the exit room or the room connected to it. This removes some of the frustrations but it’s still there. I needed more time to come up with a scheme that generates fire in challenging but not frustrating places.
  • Choosing an engine. I was originally going to use Unity, and had spent a few days prior to the event learning the ins and outs. However on the morning I decided on a roguelike game, which by its 2D nature is not very well suited to Unity. It took me more than the first morning to investigate, choose and then learn a dedicated roguelike engine. Libtcod was very good as I mentioned above, but I could have got a lot more done if I had got up to speed before the weekend.
  • Presentation. Everything about the game is functional – the color of the fire, the ascii art representing the tools, etc. It is not that attractive to look at. In particular it’s not easy to create enticing screenshots, which may hurt the click-through rate on the ludum dare site.

Tags: post-mortem, postmortem

Comments

SusanTheCat
01. Sep 2011 · 15:33 UTC
I love the Pomodoro technique!
12. Sep 2011 · 00:32 UTC
Would you like this post-mortem to show up in indie(Magazine); Issue #15?

Time for the sidebar to return?

So far the games I’ve played have been AMAZING!  But there’s one thing I miss…

Now that things have returned to normal, it sure would be nice to have the sidebar back.

Perhaps it could be turned into static html that only gets updated once an hour?

More importantly, the new improved sidebar needs one extra feature:

Tags: cache, donations, sidebar

24

This entry was posted on Wednesday, August 31st, 2011 at 10:16 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.

Ready for the next LD!

I bought two new screens, next LD will be twice as fun as the last one ! :D

Yay! 1920x1080 FTW!

And I know, I should buy a real keyboard before LD22 ! ;)

Tags: deskphoto, motivation

Escausage timelapse

Escausage Timelapse

Well this was a very successful LD for me, I think mainly because I just started making something without some grand and bloated plan. I’m slowly working on the post compo version, and your comments have been super helpful in planning that.

PS here is the entry page: Escausage

Tags: timelapse

Evasion – Repack

Just a quick word to announce that I’ve repacked my stealth game Evasion in a single jar file, so it should load without any problems on any computer with a recent version of Java!

And while trying to understand why my timelapse was not interesting at all, I found this little “disco” version of the game (I used this to debug the lighting algorithm, but the results are pretty nice):

Disco Evasion

And I have to say, rating is a long journey, but it’s worth the time. Thank again to everybody for making this ludum dare experience a blast.

LD21 Linux Port

With the help of d_m, I managed to get an ncurses-backed Linux port of my LD21 compo entry to run.

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

 

Requires python 2.6+ with the builtin curses module.

Note that it’s sized for an enormous terminal window; it’ll abort with a semi-helpful message if yours isn’t big enough.

Comments

JohanAR
02. Sep 2011 · 10:08 UTC
Tried to start it, but it’s impossible to get more than 208*61 terminal size so it won’t start :( Using 1680*1050

Facebreak Escape playthrough!

Finally managed to put up a gameplay playthrough video! I’ll see if I can collect more videos from Ludum Dare Kajaani participants to put them all up to the same site.

(Now back to playing some  game entries.)

Ex-Dodge Update.

If you ask: “Why Ex-Dodge!?”

I got an answer for you.

WTF?!

Is this game Dodge?

You may say, no it isn’t, but know one thing. It actually is.

So what happened to it? To be honest, I don’t really know. It all started when I worked on the lighting. At first I wanted to do the actual lighting system, then I experimented with lamps to pick up and changed the graphics to be darker. Moment after moment, a game formed in my head. A not all to family friendly game. Then I started working on it and the outcome can be seen above. As this is definitely not Dodge anymore I changed the name to: Codename Orbit. This is only the temporary Codename if you get it.. :)

And now. This is the update for this time.

– Folis

Updates for “Bunnies, Back Into Your Cage!”

Just wanted to tell that I did some minor updates to my LD21 game, “Bunnies, Back Into Your Cage!”. This is something I don’t do often (working on a post-compo version always was a timewaster to me) but this time it felt like it was worth it. Even though some people really HATE the controls.

Well, at least I had some fun with it.

Updates include bug fixing (no invisible blocks anymore, also no double level loading), rebalancing (especially the last level) and a new control scheme (picking/dropping blocks only with shift key now, WASD added). The latest enhancement is the addition of text which serves the purpose of a tutorial and a “story” alike. Also, someone didn’t like that falling out of the level resetted it, so this was removed too.

The updates are for the Kongregate version only, so play it there.

The Ludum Dare entry page is here – please rate it (the unaltered LD version, of course), if you haven’t already! :-) Thanks!

Tags: bunnies, flash, flashpunk, post-compo

HMS Lightning Beta v0.2 (LD20)

You can play it on Kongregate – HMS Lightning BETA v0.2

Just an Update on my LD20 project, added in a menu (see below).

Improved the intro graphics, couldn’t resist adding a Scuba HUD.

Music and sound effects added but still quite a bit I would like to add!

Please give it a whirl and let me know what you think, on LD or Kongregate.

Cheers

Tags: further development, unity

Comments

05. Sep 2011 · 10:26 UTC
Minor update v2.1 and v2.2 now online

Making of Free Bee

Posted on my blog. I penned this last weekend but got caught up and forgot to publish… <sheepish grin/>

Esc. The Robot Walkthrough

Hello everyone,

After some problem to capture my game i finally achieve to make a Walkthrough of it . I don’t know why but the game is darker in the video… if someone have an idea about that.

LD21 entry Walkthrough

 

how do you embed a Youtube video in a post?

Facilitated Escape 1.0

A bit over a day ago I released the first post-compo version of my game, Facilitated Escape. I’ve done quite a bit with it in the two weeks since Ludum Dare 21, such as making it a bit easier, and improving the visuals. Anyway, for more I’ll direct you to my website.

A gameplay shot with the title overlayed.

A gameplay shot with the title overlayed.

Updates…

Hi everyone, I had a blast doing this Ludum Dare! I’m really excited for the next one, I think qwezc and I will be a lot more prepared now that we’ve done it before. Also, we’ll both be using the same software so we’ll be able to collaborate on coding more. We also found a nice music generator that will allow us to make music in a short period of time.  Now about the MiniLD. I’ll might enter in it, but because of school starting, I might not have enough time for it. But I’m hoping to least make something!

Finishing the Game

I had originally started Ludum Dare 21 in hopes of finishing a complete and coherent product, but I had to stop my entry due to personal problems.  My final submission was a simple game with a meager four levels. I liked the concept, but the game lacked any substance to be of enjoyment.

So, now that I have the ability, I’ve decided to direct efforts into finishing the game. Its taken quite an upgrade and is now what I would actually call a game, rather than a concept. As of now, there are only 8 levels (World 1), but a world system is in place to make it easier to create more levels. The upgraded version also has a level select and a saving system which saves completed levels and the total amount of deaths. I want to have at least 5 worlds for the final version – the next ones should be coming soon.

Play World 1 here: http://dl.dropbox.com/u/2727127/Pressure/World1.swf

Upgraded Version

 For those of you who noticed, my game did in fact take a lot of inspiration from VVVVVV, specifically the tower level.

Comments

05. Sep 2011 · 14:49 UTC
It’s a great game, I even beat the last level :)

Urth on android

After a process which was longer than it needed to be I’ve finished up a first installment of the post-compo Urth(for android only at the moment). And it works. Let’s have a look at lessons learned:

  • never EVER hardcode menus ever again
  • good coding practices aren’t necessarily compatible across programming languages
  • having a deadline positively influences productivity
  • next time use a real font and not gimp+a tablet
  • some things just aren’t meant for 3D and fancy lighting
Obvious things, which one tends to overlook in a 48 hour compo. Now let’s look at what I’ve managed to improve:
  • reduced processor load
  • improved the gui so it doesn’t look like it’s held together with duct tape and chewing gum
  • replaced difficulty cliff with difficulty curve
Images:

Main menu: Merged two buttons and added a new one

The level menu now matches the main menu and has pagination

A sneak preview of one of the new levels

 COMPO ENTRY ~ IN THE MARKET

Tags: android, postmortem, progress, screenshot

4

This entry was posted on Sunday, September 4th, 2011 at 7:03 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.

Stranded Again!

I’m planning on releasing an updated version of Stranded called “Stranded Again” that will include a lot of the suggestions I’ve been receiving from the Ludum Dare community!  This release will be free, and will include all the original content, plus episode two, and more puzzles and more fun gameplay.  The original Stranded was made for the Ludum Dare 21 (48 hour compo), so there’s really not a lot there right now — I want to fix that and bring a lot more of the story to the community.

Here’s the deal – I’m new to Twitter and I’m trying to build up followers who are honestly interested in unique, fun, challenging games; and have strong opinions on game design that they don’t mind sharing.  I’m sure I could find a few people that fit that description somewhere around here 😀

Let me know that you want me to keep working on Stranded Again by following me on Twitter @tulrath

The more followers I receive, the more features I’ll build into Stranded Again:

  • 50 Followers:  Episode Two Story, improved game graphics, new backgrounds and effects
  • 75 Followers:  Everything above plus Enhanced Puzzle Mechanics for the core gameplay
  • 100 Followers: Everything above plus Additional Puzzle Mechanics for the advanced game play (100 Follows is my goal)
  • 125 Followers: Everything above plus 3 Mini-Games that can be played at specific points of the story (once unlocked, can be played at any time)
  • 150 Followers: Everything above plus Achievements System with at least 18 Achievements that can be earned
  • 200 Followers:  The 200th follower gets to CHOOSE what he/she wants added to the game from this list: 2 Additional Mini-Games; or 10 New Achievements; or 2 New Enemies of your own design; or 5 New Story Branches that provide more back-story around the core game story.
As I gain more followers, I’ll add more features — so the game will just keep getting better!  Plus, people following me on Twitter will automatically get special access to try new features before anyone else, and it’s all free 😀 More details to be posted soon at Lakehome Games.

Comments

04. Sep 2011 · 21:21 UTC
Wooo guess I have 5 followers, that’s a start :) (Yes, I’m really new to Twitter)

New version of Prisoner

I incorporated feedback, added a new room in the prison, fixed bugs, and more!

You check it out from my page.

Look for the the post-compo version.(in big letters and everything!)

Also, if you haven’t, please play and rate the original version of my game (If you have time. I know some people have lives 😉 )

Post Mortem, in written form afterall

The Collapse

After my failed attempt to make a video post mortem (video editing tools are just a pain in the ass) i’ll just write them down in a non-flashy manner.

Can't touch this

 

So, what went right?

In the given time, i was able to create and design a solid game concept that potientially could be fun. It has a continuous artstyle, although very generic at this point.

The game features a level editor, which actually consumed most time developing. I wanted to make sure to have a solid base to work on the game, which is for puzzle games obviously the level generation. It turned out to be quite useful. You can design levels fairly quick and immediately test them, which eases the level testing and balancing in the long run.

Also i am glad that i was able to spend some time working on a catchy soundtrack, although it is not very long and kind of repetitive.

 

What went wrong?

THIS went wrong

I got a lot of feedback that the game wont run correctly or crashes on startup. This was a fault in the coding, and still isn’t fixed completely at this point. But it should work for the vast majority currently, or at least i hope so.

Another disadvantage is the design of the levels, or rather, the order i released them in. I was getting used to the controls while developing and testing it, so they didn’t feel too difficult to me. I didnt realise that new players wouldn’t have enough time to get used to the controls and getting frustrated too quickly. Some of the earlier levels require you to control quite accurately, followed up by some rather easy levels.
This was partially due to designing the levels just few hours before the deadline. I should try saving up more time for that the next time.

Another result of the late implementation and testing of levels is the bump sound. At the point i realized it is quite annoying, and bugging at some points, it was too late to fix. However i didn’t want to remove it completely as it is important to have some audible feedback. I should have just made it less loud.

 

So, what are you going to do with it?

I will continue to work on it. I will make changes on things pointed out in the comments, mostly a more decent difficulty curve for the levels and better controls.

One thing that was bugging me with it though, was the art direction. I kind of like simple minimalist design, and it certainly works for a protoype for a game compo. But to capture more attention it’d need a more artsy design, something that will be recognized easily. So i was sitting down with a friend, who is concept artist, brainstorming about different themes, and he came up with a cool idea.

You will play a bacterium, or virus, and navigate through bovels and intestines. Fighting your way through to that one cell you need to infect. It will receive a new, more organic (quite literally) level design. That, however, requires a complete rewrite of the game, which i am working on currently. That theme is kind of neglecting the Escape topic, but the gameplay will basically stay the same.

I might be able to show some mockup, or ingame wip screens in the next couple of days.

 

Flowcharts: They really work!

For a little project I’m working on, I made a flowchart to help with the design aspect of it.  After finishing the flowchart, I realized exactly how important and helpful it is to make one…

A few reasons why flowcharts are good to have in your game.

  • You can see how each menu connects to others
  • It will allow to decide what to make public and what to make private based on connections
  • It shows how the game will flow
  • They can look pretty nifty
  • It’s something to put in the Bonus Features :)
Here would be a quick tutorial on making a flow chart, no sign-ups, no software, just you, a website, and an image-editing tool of your choice (even MSPaint works!)
  1.  go to www.gliffy.com.
  2. make a flowchart
  3. Use the print screen (prt scrn) key on your keyboard
  4. paste image into image editor of your choice.
  5. edit as desired
  6. save file
  7. your done!
I hope this helps people!

Tags: design, Flowchart

Comments

tcstyle
05. Sep 2011 · 17:08 UTC
Basically you are right but it’s good to start with straight UML. It’s not that difficult and fits 3 of your 5 reasons even better than a general flowchart.

Glissaria Post-Competition Version


Click here to play the enhanced version of Glissaria

Glissaria 2.0

So for the past couple of weeks I’ve been trying to find time to work on my Ludum Dare 21 entry (Glissaria) in order to improve it for a widespread release. I wasn’t able to put all that much time into it, and I’ve often been distracted as there are quite a few projects I am looking forward to working on, but I managed to greatly improve it.

The original release had all the basic elements of gameplay there, but unfortunately there wasn’t any balanced content to actually play. The game started off incredibly hard, and if you managed to survive long enough, took a turn to incredibly easy (and after a certain point it became impossible to lose). Mostly this stems from the fact that I chose to make a game in 48 hours that was way overscoped, which led to me spend every last minute working on features, and not have any time to playtest and balance.

But with the latest enhanced version, that has changed. There is now an 8 chapter story mode (with an in game tutorial to help ease up the learning curve), and an endless mode where you can try to survive as long as possible. There are also a set of achievements to give you something to work towards, even if you just want to play around. I’ve added new tower types, new gem types, new enemies, improved graphics, and a greatly improved user interface. I’ve also managed to improve a ton of small things that just made the game less fun than it could be.

Before release though, I would like to get one last round of feedback from anyone who has some spare time (which I know is hard to come by around here with all these games to judge!) I don’t plan on making any large scale changes, simply because I am transitioning what I am working on rather quickly, but anything you guys think of that could improve the game (especially around balance and bugs), please let me know, as I will take it into account for any last tweaks before release!

The improved interface and graphics

Thanks for your time! Click here to play the enhanced version of the game. If you want to play the original competition version of the game, view the competition entry page here. But as always, remember to vote based on the competition version.

12

This entry was posted on Monday, September 5th, 2011 at 9:51 pm 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.

Ludum Dare is Good for Business

…er, it would be good for business if I had a business (or ads), that is.

My entry is bringing in quite a bit of traffic (quite a bit for me, anyway). Thanks again to everybody who checked it out.

Comments

SusanTheCat
06. Sep 2011 · 16:27 UTC
I just checked my web stats. Eeek!
06. Sep 2011 · 22:11 UTC
Yeah, pretty neat. Too bad I don’t have a site that will bring people back! Maybe by next competition…
07. Sep 2011 · 07:13 UTC
Heh, I checked mine too. Enourmous spike there. 😀
07. Sep 2011 · 10:38 UTC
I don’t plan on winning, but I bet the winners see a continued bump in their traffic. I guess that’s a “real” prize Ludum Dare offers! Fame and fortune?
07. Sep 2011 · 10:45 UTC
Wow neat. 😀

The Secret Tip for GnS

Nobody mentioned it so I thought I would declare it for anyone who missed out (and everyone else) but in my entry drive backwards over your wife for some bonus gasoline. Inhumane? Maybe but the gas is important if you want an edge against the police.

Just Like This

 

 

 

 

 

 

 

 

 

 

also check out the super cool alternate version I did where you can drive over the police while a man raps about spelling Mississippi. What more could anyone possibly want in anything really.

Comments

07. Sep 2011 · 17:00 UTC
That is the first thing I did. Am I weird ?

Untitled Post-Compo Version

Hello, I have released a post-Compo Beta 1 version of my Ludum Dare #21 Entry Untitled.

You can download it from the IndieDB page:

http://www.indiedb.com/games/untitled/downloads/untitled-beta-1

 

The changes include:

– New controls, that make the game faster to play, and more immerse.

– New configuration file, that has options of the sounds, music, level generation, and language settings.

– Multiple Language support, there are detailed instructions for translating the game in the ReadMe file.

 

This is a screenshot of the game generating 9000 pickups, as set in the configuration file.

Over 9000 Pickups

Avalanche – Post mortem

And it is time for a post mortem, I have posted it on our blog, please read here:

http://rs.gam3dev.com/2011/09/07/post-mortem-avalanche-2/

The finished game

 

 

 

 

 

 

3

This entry was posted on Wednesday, September 7th, 2011 at 2:48 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.

Somewhat belated postmortem

Over at the Beercave blog.

tl, dr version:

Pros – I learned a bunch of stuff

Cons – I didn’t know what the hell I was doing!

In conclusion  – prepare better next time, dumbass.

SurfN-2-Sur5 Annotated Source

I’ve recently released an extended version of my LD entry SurfN-2-Sur5. It adds practically no new features, but inside it has tons of comments and details on how I actually made the game. The game is made in PixieEngine, an online IDE for creating games, designed specifically for rapid prototyping (ideal for events like Ludum Dare). So if you’re interested check it out and don’t hesitate to ask if you have any questions.

The scope of the game is very small, but that enabled me to finish something playable for the competition. It should be pretty easy to follow and I think that by reading other peoples code we can all learn a little.

SurfN-2-Sur5 Annotated Source

Cave Runner Post-Mortem

The Idea:

When ‘Escape’ was announced as the theme I was stuck for ideas. I had my heart set on the theme being ‘Evolution’ and it was hard to shake my ideas relating to that theme.  To fit ‘Escape’ I decided I wanted to do a side scrolling game but I felt that it needed a twist to keep it interesting and differentiate it from being an “Advancing Wall of Doom” game.

I ended up settling on what is essentially a cross between BIT.TRIP RUNNER and HammerFight. The general idea being that in order to succeed the player needed to be able to focus on two mechanics at the same time: dodging randomly placed hazards and using a physics-based attack to fight off bad-dudes:

Visual representation!

 

The Art:

After coming up with the idea I then set about contriving a situation for the setting of the game and drawing the main screen. In retrospect drawing the main screen first thing was not a good idea, it was time consuming and considering the time restraints  was a bit of a waste.

As I wanted multiple endings depending on how well the player did this was not the last time I ended up making this mistake. Drawing separate screens for winning and losing was far more time consuming than I had anticipated and the actual gameplay sprites suffered as a result.

The bouts of drawing were a welcome break from coding though and I did enjoy putting references to things in these images:

Not very subtle!

The Coding + Design:

Implementing the basic systems such as the running and jumping was relatively easy, I did get a bit carried away with the boomerang sword though. The sword did teach me a lot about how game physics can work though and previously I hadn’t experimented with anything similar in my other projects.

Code-wise I regret not using abstract classes  and deriving level objects from them. I spent a considerable amount of time re-writing functions and properties for each object I could have used to polish the game. This also made the source quite hard to understand and make changes to.

With only about an hour left I was frantically trying to find out why quitting was sometimes throwing an exception. Turns out I had a game-breaking bug that involved the game not disposing of game content properly. Luckily I had set aside some time before submission to find these sorts of bugs.

One of the main things that I wish I’d gotten into the game was a proper sense of speed. The way the background scrolls and the obstacle speed is far too slow as many have pointed out. I considered changing it towards the end but it was a bit of a nightmare just trying to get all the mechanics balanced, trying to change the speed would have meant changing a lot of elements. It seemed like a better idea to have a game that is more fun to play than one that seemed speedier.

Things I learned:

  • Don’t get too attached to your initial ideas.
  • Know the scope  of your game.
  • Prioritise gameplay over art.
  • Have base classes.
  • Always reserve some time for balancing, play-testing and bug-fixing.
Despite all these things I’m happy with how Cave Runner turned out, if you want to try it yourself you can play it here. To wrap this up I’d just like  to say I had a lot of fun being part of this Ludum Dare and that you guys are awesome.

My thoughts on the rating process + small Python script

Rating entries is a damn hard job. I know many of you think very little about rating or even openly hate it, but IMHO this seems to also be an important part of LD. Especially commenting on people’s entries, giving some feedback to the community, some constructive criticism. And yet, I can still see many users with 0% coolness. There are 427 (71.29%) people with coolness under average of 3.523% and 190 of them didn’t rate any games… Why is that? I know everybody has a life and so on, but come on! You CAN rate at least 6 games or so! I mean, I’m not expecting everyone to leave their lives and rate games, but honestly – if someone has found the time to participate in LD, he or she should also participate in the voting (or at least commenting) process, even if just a little.

I spent on this more than a few days already, just trying to rate as many games as I can, because for a few days I’m not going to rate anything, as I’m gonna be without internet access (sounds horrible, I know).

A few days ago I was pretty bored and wrote a small program in Python to analyze stuff and help me pick games to rate faster, as I find the webpage with entries a little lacking. And because I like numbers and plots, too. Since I noticed that many of LD participants still have coolness around zero, I figured I could share this thing – maybe it will mobilize some of them to give some feedback. Or will be useful in any other way.

So, feature-wise, the script parses LD webpage with your ratings and generates a html file looking like this:

Here are the links:

Usage:

  • Login onto the Ludum Dare site, and go to the voting page with ALL entries (not the one with screenshots, the one with all your ratings):
    http://www.ludumdare.com/compo/ludum-dare-21/?more=1&q=
  • Save source code of this webpage to file data.htm and save it in the same direcory as analyze script/ binary
  • Run the script (see README.TXT for more info anyway)
  • Analyzer data is saved to log.html in current directory. Open it with Firefox or something similar 😉
  • To refresh data stored in log.html, you need to repeat this process

Tags: rating, script, voting

Of Shapes and Flies: A Double-Bill Postmortem

Web of Flies Screenshot

'Web of Flies'

Paul: As you may have seen, James and I both took part in Ludum Dare a few weekends back, where James made Web of Flies, and I ‘Escape from Flatland: An Romance Adventure of Many Two Dimensions‘. It was an adventure of coding, design, learning new things, and crazy shape (James: and spider web!) physics. It was the most fulfilling 48 hour game challenge either of us have done (this was James’ 2nd LD and my 4th), and the resulting games speak to that.

Escape from Flatland Screenshot

'Escape from Flatland'

In this postmortem, we didn’t really want to make lists of what went right or wrong, so instead we’ll lay out some rules we each felt were important going into the weekend (whether we followed them or not), and then talk about how these aspects affected our games.

Seeing as I’m introducing this sucker, I’ll start first:

Rule 1: Gameplay in 6

This, in my opinion, is the most important rule of 48 hour game dev: have gameplay in 6 hours.

‘Escape from Flatland’ had gameplay in 7 hours (so slightly late), which gave me a huge amount of time to tweak and fix the gameplay within it.

So what is ‘gameplay’ in this case? To me, it’s the core mechanic, that thing that your player will be doing most of the time: whether that’s running and jumping, shooting, answering, or (in my case) splicing shapes. The key here is that you should rush towards the most important gameplay feature of your game.

I think it’s important to mention that you really don’t need to have a perfect grasp on what your game is going to look like in order to get to this first gameplay stage. At hour 7, i knew that the player would be a triangle, and that they’d be splicing other shapes… and that’s about it. I didn’t know what a level would look like or what the player goals would be, but I knew that splicing shapes would be key.

James: So, yeah… I kind of failed with this one. Gameplay in T minus 6 hours?

I guess I have two excuses. Going in, I had no real intention of actually competing (it was the same weekend as PyCon AU 2011, and a dozen other things), so I’d mostly just resigned myself to helping host our little LD party, whilst doing other things all weekend. Of course, enthusiasm is infectious, and I was soon caught up in the action. It didn’t excuse me from my other commitments though, so it ended up being a rather fractured weekend with me dashing off every few hours to a concert or whatnot. Self-sabotage at its finest.

The medium I chose was my other real roadblock. Last Ludum Dare, not being a Flash developer, I decided to write my game in JavaScript, using SVGs for the graphics. I quickly found myself hooking into the SVG’s internals more and more with the JavaScript though, and before long I realised it would be easier to just script the SVG directly. Soon I was enthralled by the idea of a single SVG image being a game, and it became a personal challenge to make it happen. Unfortunately I was a little overambitious (I’d never actually looked at the internals of an SVG before, and scripting them is a bit quirky), so that weekend ended up just being a very fun, very steep learning curve. I was more successful this time around, though there were still plenty of “Aha!” moments.

I also had a lot of trouble coming up with a game idea, so I started out just implementing all the basic stuff that comes free with other development platforms (player movement, translation between world and screen coordinates, etc.) It was only after about nine hours (while sitting in a Schubert concert), that inspiration finally struck, and I raced back to uni eager to write some spider web physics. The idea was deliberately simplistic; I wanted something small and shiny that would show off the unusual medium, and that I could actually get finished. I could always add to it if there was time (and there wasn’t, turns out simple was hard enough :P).

Getting to gameplay in six hours would’ve saved my game from the parameter-tuning problems it currently has, but I guess this time round I just a bit too disorganised, and still adapting to the challenges of the new medium.

Paul: And challenging yourself is really important in getting the most out of Ludum Dare, so much so that I’m gonna go and make a new heading…

Rule 2: Challenge Yourself

This is, to me, the most important part of Ludum Dare: it’s an opportunity to try out new technologies and gameplay types, and doing so is incredibly rewarding.

This time, I went into Ludum Dare with two goals: to learn the Facebook Social API and play with the idea of asynchronous co-operation; and to learn the basics of Ruby on Rails while doing it (more on that one later…). Having this goal helped me to focus my work, forcing me to get to the basic gameplay and design quickly so I could attempt the ‘something more’.

More importantly, the social aspects of the game, more than anything else, have given me a plethora of ideas for my other projects. Trying new things and expanding your horizons will help your game design and development in general.

For me, this rule goes hand in hand with another, and seeing as James has already talked about challenges, I’ll move onward to…

Rule 3: Make Trade-offs

If you’re going to challenge yourself, you need to make trade-offs. If you don’t, you’ll find yourself trying to do far too much in not enough time (see my last Ludum Dare game, ‘The Way Home’, where we tried for an art game which combined and synchronized two completely different gameplay modes… it was a bit of a mess).

If something isn’t necessary for your game, cut it or strip it down. Play to your strengths.

One decision I’m grateful I made with “Flatland” was that I wouldn’t put much effort into graphics or sound. Graphics would be all drawn in-game without sprites (and so any interesting effects needed to be emergent from gameplay), and I’d use Wolfram Tones and maybe some effects generated from sfxr (I ended up not doing this). As soon as I made this decision, it engendered a specific graphical and audio style which can (and did) work really well without much effort.

James: Yep, being able to make tradeoffs is really essential. My original gameplay idea was much more complicated – the web was going to be much larger, a single breakage wouldn’t end the game, and there’d be much more of a focus on strategic repair and pathfinding. By the last six hours though, I was pruning away features left and right, and with not enough time to implement the extra mechanics and physics I had planned, gameplay underwent some fairly radical simplifications. It was painful to do, and resulted in a less exciting game, but there wouldn’t have been anything to submit otherwise. Thankfully my running buddies came to the rescue here with their cool, logical advice; it was time to just admit defeat and polish up what I already had.

Paul: That actually reminds me of another tradeoff I made later on in the development. Initially, I’d decided to do all my serverside scripting in Ruby on Rails, which was partly ‘challenge’, partly ‘a single 2-column table will be pretty easy in rails, and probably quicker (even considering I’ve never coded in ruby) than php.’ Which, let’s face it, is true.

What I didn’t think about beforehand was that setting up Ruby on Rails on my computer meant rebooting into osx (my flash dev was done in windows) and wasting half an hour setting it up. What I concurrently failed to think about was that setting up on a server somewhere would probably waste the rest of the weekend. Thankfully, I only wasted 1-1.5 hours on that particular tangent before coming back (quite literally, as I actually left our dev site to do this) and doing php (which made me a little sad, but was thoroughly worth it).

Rule 4: Turn your limitations into features

James: Paul’s kind of already covered this one with his graphical design, but for me, it was the guiding principle in the design of my game. Last LD it quickly became apparent that I wasn’t familiar with any of the standard technologies used in game development, and so I had to work with what I knew. A JavaScript web game quickly morphed into a scripted SVG image, and I realised that this was a rather cool feature in itself – an entire game in a single image! From that point on my lack of Flash knowledge was no longer a limitation, it was the catalyst driving me down an entirely unexpected path. Of course, this time round was different – I deliberately imposed the SVG/JavaScript-only restriction on myself – but it shows how easily even a serious limitation came be turned around into the defining feature of your game.

Obviously this only works to a point though. There are going to be many limitations that are difficult, if not impossible, to dress up as a feature (buggy game logic, poorly balanced gameplay, etc.). But it’s worth a shot, right?

Paul: It’s definitely worth a shot, and to me, it’s rather necessary. If, for instance, your controls are difficult to learn, it can mean one of two things: you need to fix it or you need to feature it (and by that, I mean admit it’s hard and make that part of the challenge, and probably tutorialise it). That isn’t to say that my game’s controls would have been fixed by featuring them (you can only feature so much, and they actually needed some thought put into them), but it’s a good illustrating example.

As James mentioned, my limitation here was my choice to simplify my graphics. Deciding to go simple on the design could have been a huge drawback in terms of look and feel, but then I spied my copy of ‘Flatland’ on the shelf. Suddenly, I had a way of turning this drawback into a feature, by setting the game in the world of Flatland.

And with that, I’ll awkwardly segue into the next rule…

Rule 5: Release, Playtest and Tweak

So I got two out of three of these, so it can’t be that bad, right?

In actuality, I kinda lucked into playtesting my game. I needed data in my database, and so released a half-finished version and asked for people to play it. And got awesome feedback in the process. I then made some of the tweaks from feedback, but failed to get them all (those awkward controls in the game? unchanged since about hour 4).

Now, I should have known better… I am, after all, a huge proponent of playtesting. And I should really have done a release a bit later on when I had a few more levels, to test out difficulty etc. (as I didn’t really polish this aspect, and there was a bit of sloppy level design going on. Also, some playtesting would have made it clear that social aspect wasn’t all that clear).

All in all, I could really have done more tweaking of my game. In the last two hours of the comp, I didn’t really get much done, and a bit of tweaking would have gone a long way (or, you know, fixing the sound so that the music I’d gotten off WolframTones actually looped rather than playing once and then stopping). In my own defence (against my own accusation? this is getting a little gollumish) I’d slept for 3 and a half hours in 2 days and was in a somewhat delirious ‘holy crap I got that much done? that’s awesome! It’s totally finished’ mood (for instance, the idea that the last level might be too ambiguious didn’t actually enter my mind).

In the end, I’m really happy with what I made, but you never forget those couple of things you ‘coulda, shoulda, woulda’ fixed.

James: Well, yeah, I was an all-round failure here.

Releases? There was one. About 10 minutes before the end of the comp.

Playtesting? Um, I checked that things moved?

Tweaking? Again, nowhere near enough. Parameters like the spider speed, fly strength, and web repair rate were never really tweaked beyond their original values, and while that might’ve been okay for what I’d originally planned, it certainly isn’t optimal given the direction I ended up going.

In fact, I pretty much gave up on tweaking entirely. In the last half hour when I had a mostly playable game, I started work on cosmetic improvements (making the spider’s legs moved as it walked), rather than paying attention to the (probably more critical) playability issues. It was an awkward trade-off, but one I’m not really too upset about. I received a lot of positive feedback from friends regarding the attention to graphical detail, so I guess I’m just glad it didn’t go unnoticed.

Paul: Yeah, the moving legs were pretty awesome.

I think we’ve gone through the things we wanted to, so I’ll leave it there. Thanks to all those who’ve given feedback for our games. It’s been pretty amazing to be part of this LD48, and to be two of the (patently ridiculously) large number of entries.

From James and myself, thanks to everyone who organised it (and got the server back up and running!), and bring on LD22.

Dare To Escape – Post Mortem

I’ve been struggling to do a Post Mortem for the game I created, Dare To Escape, since right after submitting I kinda experienced a mini-burnout that wore me down alot.
I’ve never done a Post Mortem before, so I don’t really know what goes into it but lets see how this turns out.

The Idea

After reading the Theme I sat down to think of a game idea. It didn’t take long to think about a platformer where your only purpose is to escape and get the hell out of there.
Since I like combining different genres I thought some aspects of so called “Bullet-Hell” games would be a perfect addition to the gameplay.
So I had the idea of you being a little guy stuck in a factory trying to make your escape. Throughout the game you would know more and more about where you actually are and why you where there in the first place. In the end you would escape to freedom, yay!

What went right

Not alot, tbh. The game has many flaws but one thing I think I got right is the art style and color scheme of the game. You see; I suck at creating graphical (and musical) assets. I had to keep everything as simple as possible. It still took me 3 hours just to get the main character and his “animations” (lol!) done. Designing the turrets was not so problematic. I wanted to have different size turrets as standard turrets and unique forms for boss turrets. Bosses were supposed to be the main challenge of the game.
I tried to stick to one colour having one meaning so as to not get the player confused too much. I chose red as the player color since I like the contrast to the black background. Green for everything that was related to static level design, blue for turrets and orange for deadly stuff (bullets/lava). Yellow was stuff that would bring you forward and be interactive in some sense, so that was the colour for keys, locks and the colour for one of the beams of the warpgate, which also had purple; a color found nowhere else in the game, signaling that this gate was special and important.

Other than that I like my Menu system and am kinda proud of it. Also the way I handled checkpoints made me happy.

What went wrong

Oh boy where do I start?
I was so proud of myself when I switched from using my own TileEngine to xTile because xTile offered so much more features and had an excellent editor for maps that supports stuff like animated tiles and multiple spritesheets and layers. The problem here is that all that stuff wasn’t neccessary and I soon learned that the editor was slow as shit when trying to create larger maps with small tile size. The runtime performance wasn’t a problem at all, though. But point stands that I don’t need such a complex engine for such a simple concept of a game. I never used multiple layers, I only have one spritesheet, I don’t make use of all the properties every map, tile, layer, spritesheet or even spritesheettile can have.
And to make matters worse I had to do two steps to create a map. After creating the map in xTile I had to use my own CodeEditor to open the map and add collision information and codes to every tile. Creating maps was awfully slow and the reason the game is so short and gets so hard so fast. There was no time for balance. The Tutorial map alone took me several hours, and that thing is short! My old TileEngine was more than enough for this game…

So here’s the second point that ties in with the first: Balance and Length.
The game has one tutorial level and two others, and one of the others is merely a dev-level where I tested everything. Creating the second level, even though I didn’t have to code anything to make it work, took about 3 hours. This is partly due to the xTile editor being so damn slow and because after creating the graphical part of the map I had to o over it again with my CodeEditor and put in collisions and code. I was able to test it and quickly realized it was way too hard.
For example the level has a long hallway that allows you to only go left and jump. In the final version there’s only one medium turret there and you can avoid it by simple running to the left without jumping or stopping. This part was way…WAY harder when I initially created it. There were 3 small turrets at the other end and you were supposed to time your jumps and movements just right in order to allow you to progress through the hallway. But after 45 minutes of testing I just couldn’t make it completely past them and even after testing using only 2 it was too hard. And 1 was too easy. So I kinda said fuck it I have to end and submit this and put one medium turret there that punishes you for slacking around or doing funky stuff….not really good design.

So I got past the hallway and lo-and-behold I wasn’t able to get to the last sphere to deactivate the bosses… This was 10 minutes before the 48-hour mark was reached. So I just slapped a gratz-and-apology-message on the gate and submitted the game.

The game was not only hard at that last boss fight but it was just plain unfair. Because the bullets those bosses shoot are being sent to random directions…
Rule of game design #1: Do not use RNG for gameplay-critical stuff.
I intended to have real bullet patterns for the bosses of every stage and was just happy with the tutorial and stage one boss to have this random pattern since the tutorial boss was about getting the crystal in between two waves and the first boss was all about getting the crystal before the first wave of bullets even reach you. These two bosses were supposed to teach you that being fast and precise was easier than taking it slow. But I only wanted this mantra to be true for the non-boss parts, so it was a poor decision to put that into the boss parts.
Ofcause I wanted a unique boss for stage 2, thats why the boss turret of stage 1 had “B1” written on it. I wanted you to assign the shape of a turret with a specific bullet pattern, so when the player sees a turret they instantly know (except when first confronted with them) what will happen.
But when creating “B2”-Boss I realized something: I have no fucking clue how to do bullet patterns as seen in bullet hell games.
Infact I had no idea how bullet hell games are being balanced.
Theres a reason for that: I never played a shoot-em-up or bullet-hell game.
Let me rephrase that and focus more on the bad side of it:

I tried to develop a game in a genre I never played.

Ain’t I a fricking genius? So because of time constraints I have to go the cheap way again and just slap something harder than one turret that shoots in random directions.
And what’s harder than one turret that shoots in random directions? Thats right: Two turrets that shoot in random directions and where bullets come from different directions in general.

The result is just pure unfair. How are you supposed to finish the stage? Answer: Pure luck.

There was only one part in the game where I feel I hit the sweet spot of balance and difficulty.

To get around this part you have to be precise with your movement and not panic and jump around. You have to abuse the bullets player-seeking behaviour and speed to gather them. It takes skill and not luck to get through this part. And the reward is a checkpoint. Everything is balanced and fair. Though ofcause it still is too hard for this point in the game since it’s required the player to master the movement of his character. New players tend to kinda panic around here because they realize only way out is to go up because going down isn’t an option.

Next mistake was adding music to the game. Not only did the AudioEngine sometimes crashed the game instantly, but also with music the game wasn’t more enjoyable.
This is because I used WolframAlpha’s music generator for the music. I only listened to the music for about 30 seconds and then just downloaded the longest version of the song to use. But that lead to some tracks having alot of repeated patterns that disturb the flow of the game and feel more buggy instead of adding to the experience. In hindsight I shouldn’t have submitted the game with audio. I had to submit a audioless version shortly after to replace the version and now my page looks way too filled with links to the different downloads.

Why do I have so many different downloads? Because I never researched how to distribute XNA games. I knew about the two profile-modes you can have with XNA but the thing I didn’t know is that the user needs not only .NET 4 but also XNA libraries installed to start the game. This severely limits the amount of people that can even start the game and thats bad…

And what’s the reason I had so many time problems? Lazyness.
I kept procrasinating writing code and instead spent most of the 48 hours whatching anime and movies that I intended to only play along on my second monitor to have something I could whatch while coding. Instead I got up and watched from afar, thinking I have soooo much time…I completely underestimated the time it takes to create the maps.

What will I do better next Time?

  • Not procrastinate
  • Use simpler versions of stuff for simple games
  • Only code things I know about
  • think longer about what I can and cannot afford to implement in the given timeframe

What happens now?

I want to expand on this project and fix the wrong things I did and make it a proper game. I’m currently playing the shit out of every shmup and bullet hell I can find to get a general sense of them and I’m researching how to code bullet patterns and what goes into them. I’ll have to downgrade to my old engine and actually implement the story I planned to tell with the game.
I’ll be working on this game and posting updates over on my Blog. If you go there now you won’t find much about it but as I get time and finish my research I will get back to this game and start posting again so it may be worthwhile to subscribe via RSS to the blog instead of checking it every now and then. On there you’ll also find my progress on how I build the general engine I use for the game.

I’m not sure if I will participate in the next LD. I’d love to but It was such a negative experience afterwards (during the competition I felt great!) that I’m a little hesitant and think I’m not ready for this kind of stuff.

Stranded Post-Mortem

Since this is my first LD, I’ve been thinking a lot about my post-mortem, plus I’ve been working on “Stranded Again“, that’s going be my enhanced version of Stranded with improvements as suggested by the LD community.  Plus my Twitter Followers count is going up steadily, so I’ve been keeping up the pace 😀

WARNING!  Some minor story spoilers ahead…

 

The Idea

When the list of theme topics was down to 20 or so, I got out a notebook and came up with single-sentence game ideas for ALL of them.  My idea for “Escape” was:

Escape: You are tiny brown spider, trying to escape from a research lab.

After doing this for all 20, I went back and came up with a list of Actions and Challenges.

Next, I asked myself, well what exactly do spiders do?  Thinking about Actions, I think,  is a good way to create core game mechanic ideas.

 

  1. Catch insects for food
  2. Spin webs to stop “bad guys” (bad insects?) from fleeing, or from attacking something or someone else
  3. Collect DNA from insects they catch
  4. Catch bad dreams
  5. Collect nanites, grid-bugs, software bugs?
  Next, I came up with Challenges a spider might face.  I thought that thinking about challenges was  a good way of coming up with a list of antagonists.  
  1. Web is destroyed by… fire, rain, people, wind, other insects
  2. Web decays over time
  3. Spider dies from hunger, or runs out of webbing
    The Story

Then I took all this and wrote a tiny Story.  Every game, at its core, must tell a Story – no matter how simple it is.  This one I thought was about as simple as I could get.  I didn’t know this at the time, but keeping the Story simple made the programming much easier as well.

Escape: You are a tiny brown spider caught in a research lab.  You can collect DNA from insects.  Collecting DNA in the right sequence gives you special, but temporary, abilities.  There is a girl trapped in the lab too.  The girl is “dangerous” and “different”, but you don’t know why.  THEY have taken DNA samples from her too.

“I can’t leave here without getting them back — I can’t collect them all in time, but I know a little spider who can.”

I actually thought, of all my ideas, this one was  really  s-t-r-e-t-c-h-i-n-g  it to match the theme – probably the worst match-up of the 20 — and the LD community echoed these sentiments, but not in a mean way — the whole community has been awesome.

The Ruleset

Next I started to think about rulesets.  Which came up with this list of rules:

These are the ones I was able to implement:

  1. You win each level by collecting all the insects before you run out of web strands
  2. Your web strands do not carry-over from level to level, but are refilled when you start a new level
  3. You lose a level if you are unable to catch all the insects with the strand allotment you are given
  4. Levels can be replayed if they are lost
  5. When you lose a level, your strand allotment and all the insects for the level, are reset
  6. You will always have at least 1 more strand than there are enemies, but the ratio of strands to enemies gets smaller as you progress in levels
  7. The story of the game is told through dialog, that is “unlocked” as you complete each level
These are the ones that I couldn’t implement because I ran out of time:
  1. Change the ball colors and the fly colors so that you would have to jump from ball Blue to ball Yellow to catch Fly Green
  2. Create bonuses that you could catch that would change color of the ball you are either jumping from or jumping to in combination with 1 above.
  3. Create obstacles that you don’t want to have your web touch — like fire. If your web touches fire, the fire goes back and disintegrates the ball you just came from.
  4. Create “safety” bonuses that you can catch — like water. Water and other bonuses could be caught and stored for later use.
  5. More of all of the above, but with other opposites. Might be quite challenging to get the right combinations.
  6. Mutations! Each bug represents a different DNA code, catch the bugs in the right combination and your spider gets a temporary mutation.
What Worked

Prioritizing the rule-set from the design above helped tremendously.  When I initially came up with the list of rules, they weren’t in the order shown above.  It took about 2 hours to work out all the inter-dependencies between them all.  Each time a rule was identified as a prerequisite for another rule, it got a +1 — the rule that it relied on it got a -2.  When I sorted this list from highest score to lowest score, I had my to-do list in order of functional dependency.  This really worked because at each step of the way I had a “working game”, so I could stop adding features almost at any point in the list as soon as I ran out of coding time — which is exactly what happened.

 

Creating a schedule in a spreadsheet ahead of time and marking off hours for “sleeping”, “eating”, “family time”, etc…  I had one row for every hour of the compo, and for the most part stuck to that schedule.  My development time went into just a little bit more detail (but not much more) and had rows for “Game Artwork”, “GUI Artwork”, “Sound Effects”, “Music”, “Coding Win/Lose Conditions”, etc…  I also had two hours each day (one in the afternoon, one in the evening) allocated as “DO NOTHING” where I had to get up from my computer and take a break.  That had a HUGE positive impact on my productivity, my mood, and I think I solved a half-dozen coding issues “in the back of my head” each time I did this.  Also, writing down any “hairy” coding issues during the day and then reviewing them before I went to sleep really worked — I woke up knowing the solution :)

 

Leaving LOTS of time at the end.  I left a full 6 hours at the end to run final bug-testing, upload my game, ask friends and family to play to make sure it worked, make any last minute fixes, write my forum post ahead of time, write my entry, announcing via all the social media channels, IMing with people about it, etc…  I think those last 6 hours were the most busy and I may actually allow myself more time in future compos.

 

Using classes for everything.  I have a class for “spider”, another for “bug”, another for “strand”, etc…  I used my UML/OOP books as guides and came up with a complete list of objects I’d need for the game, and then attached all the methods to them as I went along.  This worked exactly the way it’s supposed to and it made the actual coding a breeze (which in total I think was only about 8 hours).

What Didn’t Work

Thinking that GUI programming would be easy.  It wasn’t!  GUI programming ended up taking nearly 4 hours more time than I had initially thought.  And in the final product you can see that there just aren’t a lot of GUI controls to help with gameplay.  There’s a reason why most AAA game studios have entire teams dedicated to GUI programming (even when using a “GUI engine”) — it’s very tedious work.  Unity GUI makes it as easy as it can possibly be, but it still just takes a set amount of time to create all that GUI functionality — GUI systems are inflexible in their time demands.  In the future, I’ll be able to estimate this better I think.

 

Using the dialog system as a means to control the game progression.  Such a bad idea!  This is where I really fell down in my technical design.  I should have created dedicated and separate classes for “game” (to control the game state) and created instances of a “human” class (one for the male scientist and one for the female scientist).  I realize now that I was so focused on the game mechanics (which mostly involved the spider, the strands, the anchors, and the insects), that I simply forgot about these classes.  I ran into some problems about mid-way through that I solved with a “gameManager” class that contained all the variables and methods to handle the gamestate and dialog… but it was all mashed up together.  In the future, I need to be more thorough with my technical design.

 

Not leaving enough time for additional levels.  The final product has 6 playable levels (and then a 7th level that can be replayed as much as the player wants).  Seven levels might seem like a lot for a Ludum Dare compo entry, but in my case, levels only took 5 to 30 seconds to solve.  So, all-in-all I had maybe 5 minutes of gameplay — that is IF the player stopped and read the dialog :)    I should have done those calculations ahead of time to know how many levels I would need to create.  Originally I wanted to provide about 30 minutes of solid gameplay.  So using that calculation, it should have told me that I would have needed 60 or 70 (!!!) levels.  That, of course, would have been a big Red Flag telling me that the gameplay is too easy and goes by too fast.

‘Cyperspace’ – A relic, RIP

Well, I’ve spend many hours after the compo attempting to understand why my entry was so unrelaible on the new links in the comments section. I have thus polled 12 people whome I know have various operating systems – we tried:

 

XP x86 Sp2, XP x86 SP3, Vista x64 Sp1, 7 Home Premium x64, 2 x Ultimate x64, 7 Ultimate x86, Ubuntu 10.10 x64, Ubuntu 11.04 x64 and x86, Windows Home Server 2011 (slowly)

All these are the English variants with the latest links in the comments – I don’t know if anyone got it kicking – but I fail to see the problem. However, since then, the entire library has been scrapped and has been re-written with no dependencies at all – it runs on X11 and WinAPI from the ground up. Period. So next time, its faster performance and you aren’t expected to have a GMA >950 (945SE sort of runs…) with a D3D/Gl capable OS – you just need WinAPI/X11.

PS: For those whose games I reviewed – I was generous 😉

Sounds

I’ve found my raw sounds still on the phone, and I’ve uploaded them to soundcloud with the intent of posting them, but something came up and.. well.. I’m doing it now 😀

There were two soundtrack ideas, I went with the second as the first sounded too annoying, I’d like to hear opinions on that if there are any. Good choice, bad choice, that sort of thing.

 

Sound effects and first draft music

 

What became the music

 

These then became audacity-ed. The impact sound for example is most of the impact noises above overlayed. And yes, all of these originate in one way or another from an old dusty mandolin.

 

Play the Game

Tags: music, sounds

A Batman version of my LD 21 entry

Hi all,

I1’ve been reading a lot of Batman comics lately and today I had a little time , so I decided to change some sprites and sounds in my LD21 entry: Carol and The Haunted Castle to make it look like a Batman game… this is what I did, hope you like it… you have to save Robin who has been kidnapped by The Joker and… you know the rest.

The game isn’t finished yet and the Batman sprites were made by Pegalulu

Best regards

Tags: 2.5d, batman, video

Final Day Games

So for everyone who wants to rate some interesting games with not that much votes on the final day of voting, I would like to give you some recommendations:

Cosmic Heist – Kevin Wells

Surprisingly precise controls, fast gameplay and an interesting twist (no shooting). I had a lot of fun playing this. You should try it, too. (18 votes)

Escausage – jplur

Great physics game were you control both ends of one or more a sausages (this!). I really had to laugh out loud playing this. (26 votes)

Abandoodle – OddOneOut

Classic jump and run with smooth controls and a very authentic hand-drawn look. Feels like playing a lunch-break scribble. (14 votes)

Meta Abstract Room Escape – foobaz

This one has a great twist. If you are somewhat preserved against this click-around-to-escape-the-room games, like me, try this out. It breaks these kind of game down to basic flowcharts which is quite a funny approach spiced with humour. (22 votes)

Go try them out and give them a vote if you also feel that these games are about average quality and deserve many more votes.

Tags: recommendation, vote

Post-compo version!

LD seems to be a very nice opportunity for a game dev to experiment. Since I managed to make a working and frustrating game in 48 hours it seemed like a good idea to enhance and polish it. Now the game is more tactical thanks to future-seeing glasses, your conscience has longer arms and you can grow a binary tree of life.

Original entry

Enhanced version

Escape Lines – A New Hope (or Postmortem)

Well, voting is almost over and I am going to one of those post mortem things that all the cool kids seem to be doing!

Before the final theme was announced I wrote a quick one line idea for each of the final themes of what I was going to do for that theme and then I could flesh it out after to something longer and more … game like. For escape I had initially decided that I would do a game similar to cannabalt and then maybe add something to it. Given that this was my first Ludum Dare I didn’t really want to do something that would be over complicated and just end up not finished and deter me from entering again. However as the time came I was discussing with my two chums DuSTman and Shot and I was convinced to try something a little different rather then just clone another game. I was looking through my list of ideas when I saw that my idea for wormholes was: “A game where in you launch a ship through a series of planets with gravity and try to get into the wormhole”. 10% space golf, 90% That seen from whitehole the Red Dwarf Episode where Lister plays planet pool. This could easily be changed slightly to fit the theme of Escape! The idea was set!

Now that I had an idea, it was time to start making the game. Given that the start for me was 0300 (Uk represent!) I decided that I would get an idea and maybe a bit of code done then get some sleep. By 0500 the basic ship and (then) planet code was in place. An hour later and I had added a line to the trail of the ship (Hence the name “Escape Lines”) and tweaked the random placement of the planets, and giving them different sizes and gravity. I then slept and had Red Dwarf on in the background for more inspiration.

Waking at 0900 after an awesome 3 hours sleep, more code was afoot, and by 10am I had multiple ships able to launch to create some pretty patterns. More tweaks and a lot of slacking later by 1400 I was adding “graphics” to the game. Next was the level system, which could have been improved but I did get to at least mention Burnley (The worst place in the UK 😉 ) By 1600 I had started working on the music which was terrible but I hadn’t made a game with sounds, let alone music before. This lead to the ability to mute the music as it was pretty annoying after a few seconds. The rest of Saturday was spent dicking around with the music and tweaking or adding to the graphics. (And playing the game, I probably enjoyed making patterns too much.)
I slept from 0200 to 1100, repaying some of that sleep debt from the previous night! Most of Sunday was just tweaking and polishing little bits. At the last moment I added bombs which could destroy an enemy ship and then submitted 6 hours early!

What went well…

Considering this was my first games programming competition I was quite happy with it. I went for the mantra of keeping it simple and it payed off I finished a game rather then being too ambitious and burning myself out before the end and rage quitting.

What didn’t go so well…

I kept it too simple and finished it with time to spare that could have been used to add more features/improvements but Decided to enter it as is. Oops. I also spent too much time messing with the music which in the end was pretty shoddy.

Conclusion

Happy :) As soon as voting is over I will work some more on a version with tweaks from the feed back received <3

Ps, my entry is here

Comments

12. Sep 2011 · 00:31 UTC
Would you like this post-mortem to show up in indie(Magazine); Issue #15?
henrypenface
12. Sep 2011 · 07:26 UTC
Wait, I just realised that there is a link in your name, sorry, it’s way too early for me to be thinking 😛

Eggscape Post Mortem

[My name is Carlos Leituga and I’m an intern Junior Game Designer / Implementer in a Portuguese company, where I’ve been working on a Hidden Object Adventure for a year now. I was invited by friends to help develop a game for the 21st Ludum Dare event. We are the Make A Game team.]

 

Eggscape

It was around 11pm when I left my house with a 1 hour trip ahead until I met the yet to be named Make A Game team. Having memorized half of the list of possible themes, I spent the little I could of brain waves keeping my car on the road, and tried to think of quick game mechanics suited for a 72 hour game development.

I was the last of the team to arrive; I met some new faces and joined in on the ready up ritual. There were still 3 hours until the official LD #21 theme to be revealed, so we started throwing ideas around, writing them down on our white boards and linking them to similar themes.

Readying Up

 Look busy guys…

The awaited hour finally came, and the Escape theme was victorious. We quickly (and sleepily) gathered around one whiteboard and started discussing our previous ideas, along with new ones. Among them, the Survival Tetris game was highly praised. For some dumb reason, I went to my computer and searched if someone already had done such a thing. It existed, and in two quite different forms. In one you only controlled a stick figure, and in the other you controlled both pieces and a round character. We were bummed out.

Brainstorming

We tried multiple approaches

It was late, our two hours of brainstorming didn’t end with a winning idea, as we decided to go to sleep at 5am.

As each of us woke up, we agreed that we needed to go forward with one of our ideas. We were wasting too much time thinking of a game to make rather than making one. Our most solid idea was our twist on the Tetris game. We didn’t know it yet, but we would have a lot of fun developing it.

Sketches 1

The Idea

Our game isn’t Tetris. It might look like it, and use some of its rules, but you wouldn’t play it like Tetris. Actually it would be a bad idea if you managed to complete and erase lines, because it would be a setback from your objective, which was to save a non playable character from something dangerous at bottom of the screen. You’d be making steps with Tetris pieces so that character can climb to its safety.

Initially we took inspiration from the idol scene in Indiana Jones, the game’s character would be in the central chamber of some ancient temple, and removing said treasure from its pedestal would trigger a huge spiked cylinder that would try and crush you from below. The whole temple would start to crumble, and the character would use the falling debris to escape being grinded to death.

Eventually we started thinking on different treasures and dangers, even on a feature to allow custom tilesets. Though we weren’t glad with the default spiked cylinder danger, it would be easily animated but lacked something, like personality. The dinosaur mommy came into form, as did its egg. Our character changed from an Indy/Spelunker lookalike to a something akin of the great animal taunter Steve Irwin.

Goodnight Sweet Prince

Goodnight Sweet Prince


What went right

– Great references

We wanted a quick and fun arcade experience, and for that we had to make the player to play it fast. There had to be a rhythm that could match the speed the loop of which the pieces would appear on screen and drop down.

Every time we had some doubts on how to replicate that feeling, we’d turn to the current best example of a fast paced arcade game: Pacman CE DX. That game has so many small but important details that can be easily overlooked, from the music to the gameplay feedback. And we used it as our way to resolve impasses.

For the art style, we were constantly leaning over the shoulder of Spelunky. We loved the way Derek Yu can mask the mosaic nature of tilesets and we tried to apply what we learned from his work on that game.

 

– Knowing our priorities

By the end of the second day, we knew we were late on schedule. We didn’t have any prototype for some hands on and we had to start deciding what needed to be done versus what we wanted to have in the game.

Listing all of our features and deciding the importance of each helped us to, well, deliver an actual playable game. Leaving out stuff can be heartbreaking, especially on bigger projects, but we knew our challenge, and we knew we’d add all the stuff later.

White Board

One of the few annotations that weren’t in moonspeak


What went wrong

– No Streaming

It was a shame, but we had spent some time setting up our SVN and getting our game idea together that we didn’t bother with getting any kind of desktop video stream. We also had a camcorder but lacked a proper tripod to have it up high filming the whole process.

 

– Lack of planning

This was everyone’s first time working with Flash to code a game. That alone made us lose valuable time when we decided to ditch Stencyl for FlashPunk, because the prior was having conflicts with our SVN. Basically, when the XML files that Stencyl saved were submitted to the SVN, they appeared differently to each user, with a modified structure or a bunch of errors that weren’t supposed to be there.

But what hurt our time the most was the lack of planning before getting started with the code. Each was tasked with a particular job, and there was no discussion on how to approach their tasks. This lead to some late changes that kept us from moving forward with development and having a proper prototype of the gameplay we aimed for.

Sketches 2

What’s missing

For this Ludum Dare build, we only have two modes available: Survival and Time Trial. We were planning two more modes – Altitude Attack and Score Sprint – as well as multiple goal values for each mode.

The difficulty would also do much more than define how many lives you start with.

We had plans for a startup countdown before the game would begin proper, where a little cutscene would play out with the game’s character picking the egg and crapping his pants when everything started collapsing.

We wanted that the Score was a combination of remaining lives, height climbed and treasures collected. One thing that got in the build was the score multiplier that doubles your points each consecutive step climbed. But you probably didn’t notice it because we didn’t have time to put points coming out of the character’s head when he was climbing.

But worst than everything, we didn’t have time to include a splash screen with our team’s name!

Victory Screen Mockup

Screen mockups are your best friend


Conclusion

In one year working on a game studio, I’ve learn that game developers can’t get too obsessed with their projects. There has to be a time when a game needs to be finished and released, with or without implementing all of the planned features. A finished game has much more value than a game that’s been in development for years, without a release date.

Though we are finishing the game after the competition, this is a lesson that Ludum Dare has taught our team. In this industry, every project has milestones that need to be met. We had a lot of setbacks and what we delivered wasn’t accomplished without staying up until a couple of sunrises, but concentrating on what we could finish instead of hanging to what we could add helped us reach the finish line.

It feels good to finish something.

 

You can play Eggscape at Ludum Dare or at http://makeaga.me/eggscape.

 

Tools Used

FlashDevelop (IDE), FlashPunk, Audacity, Tortoise SVN, Adobe Photoshop CS4, Google Docs.

Tags: 2D, Eggscape, escape, jam, LD72, Make A Game, post-mortem

This was my first real LD, after having done miniLD 28.

Like a few others I’ve read about, I knew I was going to be a little short on time — getting about 12 hours of coding in since we were driving for much of the weekend.  Future LDs might also be cut short, but I’m encouraged by the people who finished something in 3 hours, or did full games in 10 hours.

I had a few ideas before the compo.  Once I saw the escape theme, I thought about possibilities while watching a kids movie with my daughter.  Before going to sleep I mostly settled on a smash tv like idea.  I always liked that game in the arcade, and the basics seemed simple enough that I should be able get something working.

Difficulty!

Good things:
– I finished something that was playable.

– Even if it was only for a few minutes, I actually got to the point where I was creating stages of attacking enemies.  I quickly typed in a couple of arrays and didn’t get to tweak them, but it was somehow thrilling to at least get to that point.  My miniLD 28 entry had no ending nor obvious objectives, so this was an improvement.

– From reading about everyone else’s LDs, I’m learning that if I can be ready for tweaking and level editing after the first day, I should be in pretty good shape to finish well next time.

Things that could have been better:
– I spent the first couple hours with framework/learning box2d problems — lining up and scaling graphics to match the physics.  Before the compo I didn’t realize my simple framework needed more work, but at least it should be better for the next miniLD.

– Control bugs
It turns out that having working controls is really important!
I didn’t test the game in native Windows with the mouse, just with the keyboard.  This made it unplayable for many people until I fixed the bug.  Personally, I like using the keyboard for both aiming and moving, but that’s a problem for some keyboards where simultaneous key presses interfere with each other.

– Controls were not clear
On-screen directions would have helped.  I’ll try to add this next time if I have non-standard controls.  Actually, maybe I’ll just use more obvious controls for one game :)

– Difficulty
After a few minutes, the game eventually becomes unbeatable.  There are just too many enemies appearing for the firing rate.  There other things that could have been added, but fixing this would have been an quick big improvement.

– Graphics and sound
I need to make the characters more complex next time, but for this LD, I was just happy gameplay worked at all.  I’m going to try some sprites for the next miniLD.  I’d also like to get sounds and music in, but let’s not get too crazy.

– Timelapse
Since I was conserving laptop battery for a part of the compo, I started a timelapse for a couple hours, but I didn’t get to continue it.  Even for that short time, watching your own timelapse is pretty fun! — and it was mostly just lines of code appearing on the screen :).

Wrap-up

After submitting, I wished I had gotten more done and felt a little burnt out.  My expectations were a little too high at the beginning.

The feedback is very helpful.  Also, it’s helpful for me to play the other games and read about their development.  I didn’t get to rate as many games as I did in the miniLD, but I’ve learned quite a bit from playing the other games.  While trying to finish up my miniLD 28 entry this weekend (hopefully I’ll post about it later), I’m realizing that it’s a lot easier for me to see which things need to be improved.

I haven’t decided if I’ll finish my LD21 entry yet.  It’s third on my list of mini games to finish, so if I think of a good story + graphics (that can be made by this programmer) I will spend some more time to finish it up.  Here is the compo entry: Escape Run, but no pressure to review, I’ve gotten a lot of good feedback already.

Hmm, this post mortem feels a little long-winded.  Like my ld21 entry, my next one will also get better. :)

Ludum Dare 21 Results!

It’s that time! Three weeks and a whopping 599 games later, here are the results:

Top 50 Games

Due to our HUGE recent increase in submissions, we’ve bumped the top 20 to a top 50. Check out the best competition games here:

Compo Top 50: ludumdare.com/compo/ludum-dare-21/?action=top

Winners are decided by the Overall category. In addition to the top 50 compo games (solo, stricter rules), here are the top 50 jam games (solo and teams, relaxed rules):

Jam Top 50: ludumdare.com/compo/ludum-dare-21/?action=top&cat=Overall(Jam)

Congratulations to all the winners.

NEW: The lists have gotten so big lately. So to keep the site fast and snappy during the heavy loads (events and results), we had to truncate them at 50. Don’t worry though, you can see your individual categorical ratings on your games page.

Categorical Top 25s

Here at Ludum Dare, being the best game isn’t the only way to win. Games are rated in 7 additional categories, with a special “Coolness” category highlighting people that went above and beyond to be sure you got a vote.

Categorical Top 25s: ludumdare.com/compo/ludum-dare-21/?more=1

(And for the press, a shorter Top 5’s is available here)

*NOTE*: You can click on the titles of the categories for Top 50 style lists per category.

More Ludum Dare 21 links

– Keynote!, with Breakdance McFunkypants and special guest Sos
– Theme Voting Results
– Post Event Post
– Wallpaper of all 599 games, by ExciteMike

Interesting Tags: montage, motivation, foodphoto, food, deskphoto, desk, timelapse

October Challenge 2011!

Yes, we’re doing it again this year. Details about the upcoming event will be posted soon.

In summary, yes, basically the same thing as last year. Go make money. 😀

Ludum Dare 22 – Coming December 2011!!

Stop by again this December for our next regularly scheduled event. We’ll try to have a date nailed down a month or two ahead of time. Don’t forget the mailing list, and Twitter.

September Mini LD, hosted by increpare

Still got that Ludum Dare fever?

Tune in Friday for a brand new Mini LD event hosted by increpare. Unfamiliar with Mini LDs? It’s like a regular LD without the weeks of voting (and waiting).

A Busy Busy September

Mini LD isn’t the only thing going on this weekend. Breakdance McFunkypants has posted a comprehensive list of 7 game jams going on this weekend (and/or ending/crossing this weekend). Check it out.

http://www.ludumdare.com/compo/2011/08/29/5-jams-in-one-weekend/

Don’t let the URL fool you. There was more going on than initially thought. :)

Suggestions

If you have any suggestions for us (website, observations, etc), we continue to collect them in the comments here:

http://www.ludumdare.com/compo/2009/08/30/suggestion-post/

Thanks everyone for coming out and making Ludum Dare 21 such a HUGE success! We hope to see you again soon!

– Mike Kasprzak (PoV)

lost cuboid got deleted:(

sooo i started a new game:)
zombidith sortof a series continueum from pyramidiath, and my friend is making bookidith; he sorta ripped the dith of me but instead we made it into a series of gamed #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 */ screenshot107 screenshot107

Slow.

I’m kinda slow at developing games because I get tangled up in the collisions and stuff. By next compo I’m gonna make a game engine. 😛

Comments

13. Sep 2011 · 10:16 UTC
I would recommend using an off the shelf engine, so you can see the way that nice ones work. Flixel is super great.
tnelsond
13. Sep 2011 · 12:23 UTC
Yeah, I guess I’ll try that, I’ve been writing in SDL (and pygame) for so long I probably should relax and learn some flash stuff.

Happy Programmers’ Day 2011!!!

Did you know that today(13 September) is a programmers’ day?
It’s the 256(=2^8) day of the year!!
So if you are a programmer then:
Happy Programmers’ Day 2011!!!

Tags: Programmers' Day

17th on community :D

Finally the results of Ludum Dare 21, and not bad for my first real ludum dare compo 😀 17th on community and score for the rest of my game that isnt bad. Winners are great games, and overal second did use haXe 😀

Small Stratus update!

Howdy! I’ve made a small update spurred on by the success of Stratus in the graphics category, and 9th place overall (very happy right now, thanks to all who voted on my entry!) I can’t wait for the next Dare :]

Stratus Link

first of all, i thought I would still be able to edit my entry to add an ‘after compo update’ separate download, but the edit button appears to have vanished now the results are out :S. So I’ve edited the original zip- since the voting is over and the changes don’t affect the actual game, I hope it won’t be controversial.

here’s what’s changed:
– added some contact details to the beginning of the game
– added arrow key support and changed input to use keyboard codes, so the equivalent of wasd should work on non-qwerty keyboards (sorry it took so long to add this non-qwerty guys)

Thanks!

Comments

Felipe Budinich
14. Sep 2011 · 22:36 UTC
Osom gonna go play it now 😀

It was a funny thing, this…

In the interest of full disclosure, I’ll state up front that the main reason for this post is because someone told me I couldn’t get trophies if I hadn’t written a blog post. I have no idea if we’re too late for any awarding, but what the hell.

I haven’t really felt the need to talk about my game, EscapeOut, because it wasn’t a particularly interesting process. Relying on a 20-min show-off video by Photon Storm about how to make a brick breaker in 20mins, I stumbled my way through Flixel and came up with something that put a little spin on the core concept. The theme of LD21 was Escape, so how else does one apply that to a brick breaker? Easy: something on the screen has got to try to get the hell out of dodge. From there it was a simple leap in logic to the eventual core mechanic. I won’t say what that is because I don’t like to spoil the game. In fact, I really liked setting friends down in front of EscapeOut with no instructions to see if they can figure it out. The game has no instructions for a very intentional reason.

Judging by the comments on EscapeOut, forcing players to discover the game’s mechanic paid off. I’ve been a very bad LD participant: haven’t blogged, haven’t played many of the entries, haven’t used the IRC channel except for a couple technical questions. Mostly this has been due to time; I only managed to spend half of the 48 hour timeframe coding, due to oversleeping and family obligations. So, I was quite surprised to log on today and see the comments and ratings left for EscapeOut. A few people really seemed to like it, more than I ever could have imagined. Even more shocking, the game was rated #54 in humour. Seriously, a game with no instructions, no words other than “YOU HAVE DIED” and “YOU ESCAPED”, no characters, no narrative, and even no sound effects or music, ranked within the top 10% of humourous games in the entire Ludum Dare 21!

I guess this really goes to show that an intriguing mechanic can turn a relatively bland experience into an interesting one, even if only for a few minutes.

Tags: as3, breakout, brick breaker, EscapeOut, flash, Flixel, photonstorm, post-mortem

My Gaming Post.

Hello World,  my name is David or if some of you know (i dont think anyone knows) my nickname for every game I play is Davidobot. SO I joined just after the Ld #21 finished so I’m realy looking forward to the mini LD on the 17th. I will be posting all my game on this post so watch it closely. BUT my submisions to the LD’s will be on a different post… That is all I have to say right now…

Vampire Runner – Post Mortem

Ludum Dare 21 is finished and rating time too and we have the rating results.

Vampire Runner was #290, not so good as other of our previous Ludum Dare games, but on the other hand there was a lot of games in this one, almost three times the games of the previous Ludum Dares.

Here are the scores Vampire Runner got in this Ludum Dare:

 Position	Category	Score
 
 #87		Community	3.22
 #144		Coolness	4%
 #159		Fun		2.94
 #168		Humor		2.18
 #290		Overall		2.75
 #305		Graphics	2.50
 #339		Audio		1.29
 #345		Innovation	2.38
 #450		Theme		2.00
 

Now, I want to share a small post mortem of the game and explain why I feel the score is what I expected.

What went wrong

  • As the game started like some kind of Canabalt clone, because my lack of imagination, I was a bit unmotivated so Saturday progress was really slow and unproductive.
  • I feel I lost too much time making the vampire animations and forgot about the environment assets.
  • The game lack of audio and that goes against the Ludum Dare score.
  • I forgot to reflect inside the game the connection with Ludum Dare’s theme.
  • Missing on-line high scores: it shouldn’t be so hard to add it as I have Face Hunt (and other games) experience but I was a bit lazy and didn’t. One reason to have this one is to make the game more competitive and also to know who is playing the game.

What went right

  • On Sunday, I almost restarted the way I was making the game and focused on making it really small and fun. It kinda worked.
  • Making the game available on a lot of platforms: Linux, Mac, Windows and Android.

Conclusion

I totally agree with the score of the game because I started with no motivation and for that reason I didn’t tried so hard, obviously that goes against making a good game. Here is a list of why I agree or not with each score.

  • Community: I shared a lot of stuff: source code, timelapse, made it work on multiple platforms. I believe that counts as community rating, so 3.22 is right for me.
  • Fun: Game IS fun (at least I feel that and some other people does), so 2.94 is right for me (maybe a bit more).
  • Humor: Game has a bit of humor when the vampire explodes, and maybe the vampire graphics are funny too, but only that, so 2.18 is right for me (even more than I expected).
  • Graphics: Only the vampire animation is something worth to value here, the background and obstacles are not so cool, so 2.50 is around what I expected.
  • Audio: Game has no audio, I am not agree with the score of 1.29.
  • Innovation: Game is almost a clone of Canabalt with some modifications, it has a bit of innovation but not too much, so I agree with a score of 2.38.
  • Theme: If you read the game description, it says what was the intention of the theme connection but as I failed to reflect that inside the game I believe 2.00 is right for me.

Thats all, hope you like it.

(note: this entry is almost a copy/paste of this entry from our blog)

Tags: LD21, postmortem, vampirerunner

Comments

13. Sep 2011 · 19:02 UTC
Hey, would you like this post-mortem to show up in indie(Magazine); Issue #15?

-Bret Hudson
Jorjon
14. Sep 2011 · 18:12 UTC
I really liked your game! You deserved better score.

How to earn £12,000 in one year from game development?

The Challenge:
I have a 365 day runway (until 9 Sep 2012) to earn £20k (about $32k) from games development.

The earnings value is based on a UK minimum wage calculation of about £6 per hour 9-5 job, and factoring in that I will have to pay money to make them, buying in music ect, and overheads for payment providers?

Resources:
Me, Unity, PC, Mac, iPod, Android.

Currently I manage to produce game ‘Prototypes’ like these http://www.kongregate.com/accounts/Arowx/favorites

Hurdles:
Art, 3D Animation, Procrastination, Funds, Motivation, Experience, Marketing

Forfeit:
If I have not hit or exceeded this target by the deadline and proved I can make a living from games I have to dust off my CV and get a job!

So what advice would you give or better still how do you do it?

Comments

Felipe Budinich
13. Sep 2011 · 23:00 UTC
I’m on a similar quest now, so I’m gonna tell you about what I’m planning to do, and it’s based on the extrapolations from the info I’ve got avaliable, the cost of living in my country is way lower than yours, some of it is counter to what digital_sorceress just said, and there is a big chance that I’m gonna be soooo wrong on the long run, so take it with a grain of salt:
14. Sep 2011 · 00:08 UTC
Cool. Next month, I’ll be challenging everyone to earn $1. Might be a good place to start. 😀
notche
14. Sep 2011 · 03:44 UTC
My advice is “Don’t do it!”
14. Sep 2011 · 04:36 UTC
I wish I knew, then I’d do it (well except I’d need 2-3 times more money just to pay the bills due to Switzerland being so much more expensive than the rest of the world v___v)
14. Sep 2011 · 05:17 UTC
Good luck!

My limited experience in game development as hobby tell me one thing: I must eat and live, so a main job, at least part-time job is required.
14. Sep 2011 · 10:02 UTC
Why not? Start a cool project (i.e. innovative and noteworthy*), and after two or three months, if you have enough to show the gameplay and some of the artstyle, put it on kickstarter or 8bitfunding, to get funding for some more months.

Results… hmmm…

#93 Audio 3.08
#207 Community 2.67
#276 Graphics 2.62
#280 Theme 2.85
#375 Overall 2.46
#379 Innovation 2.23
#399 Fun 2.08
#418 Coolness 0%
#466 Humor 1.00

Well… Let’s start with the bad stuff… Humor. I… didn’t have much, as you can see… Coolness. I am not very good at rating games, or playing them, when I have other things to occupy myself. I probably easily could have gotten a better score if I was actually interested. Fun. In this case, it was the large amount of fake difficulty in the hidden enemies, as well as the rather unorthodox control scheme. Innovation. Not much here, either. I completely agree with my low points.

Overall hits a little low, and it was even worse than my last entry in LD19 (2.46 vs. 2.82) -_-; It wasn’t a particularly good game, and I probably will only touch it to steal different things from it, just like I did from my last LD game.

Now let’s hit with the higher points. Theme. It fit the theme, but you weren’t really given backstory, and it didn’t really try to go anywhere special, so maybe a little higher than expected? Graphics. Honestly, there was little I did to do good graphics. It was a particle snow effect, some filtering, and some nice little tidbits like bullet cartridges, impact points, and the such. I didn’t even do any character sprites, let alone finish them. Community. Like the Coolness score above, this one didn’t really strike me as important. I simply posted my intent, midway point, and game. Audio. Well, actually, this one was pretty good. The soundtrack, though quickly made in Autotracker-C and edited to fit, worked rather well with the mood. I made sound effects to go with pretty much every action (except enemy movement for some reason, though I did for bullet cartridges), sometimes having to combine different sounds to get the effect I wanted (for example the gun-fire and the reload). It was easily my best attribute, and though it didn’t score top 25, I’m proud of the score I did get.

All in all, this was a rather mediocre game, and the players agreed. Though it had good points, it also had some low points. I’m not necessarily happy with my overall score, though I am happy with my Audio score, and content with my game as a whole.

Results for Unrest – Top 25 for Theme and Innovation.

Well, I finally got a look at my results for Unrest:

#23 Theme 3.92 #24 Innovation 4.00 #114 Overall 3.31 #122 Community 3.00 #177 Humor 2.13 #217 Fun 2.77 #305 Graphics 2.50 #371 Audio 1.00

For a game that was mainly based around concept, and my first entry, I can’t imagine a better result. I managed to get in the top 25 on both theme and innovation, which I think classes a game based on idea more than anything else as a success. I even managed to get a 1 for audio without having any in the game XD.

So yeah, really chuffed with that as an end result. Hopefully next LD I can make something with a bit more gameplay.

I unfortunately didn’t get very high with coolness – I ended up testing most of the Linux entries, and a fair few of the web-based ones, but never got around to testing the Windows ones, so my apologies there.

Overall, I’ve had fun, and look forward to the next one, I’ll definitely plan to compete again.

Tags: results, unrest

First Post! & 24th place in Innovation!

Seeing as this is my first blog post I’ll include a preface about my first LD48 experience!:

I’ve been waiting to do a Ludum Dare event until I had 1) Spare time, and 2) Recent experience with a game programming language/library. The second point is important because I do programming entirely as a side hobby. I haven’t had much experience with the art in the past 4 years. I’ve taken swings at SDL, LWJGL, and Allegro before… but this time I had been learning to use Flixel.

Cut to the night of the competition–I was checking my email in bed on my netbook and decided to check on the LD website and HOLY LUDUM they’re having a competition right now! Man, this is cool stuff… what would I do for the “escape” theme if I were participating? Actually, what can I do? Well basing it on Flixel what if I made the main character an extension of the FlxTileMap class instead of the FlxSprite class? Hey this is an exciting idea… let’s actually do it! So I opened up FlashDevelop and started typing away in bed. I ended up coding the whole thing on a netbook. The graphics I did on my old old desktop simply because I wanted higher resolution and I already had Paint.net installed on it. It was crashing on me but… I frantically got my desktop stable again and pressed on. In the end I learned a lot more about Flixel and even came up with something good enough to submit! My only regret was not having enough time to squash bugs.

My game, Globular Prisonbreak, in action

My game Globular Prisonbreak

So on with the blog entry thing. Results!

#24 Innovation 4.00 #115 Coolness 5% #190 Graphics 3.00 #272 Theme 2.88 #290 Audio 1.93 #308 Overall 2.69 #369 Fun 2.19 #432 Community 1.67

Here we go in reverse order:

Humor: No ratings at all? I must be super un-funny. I wasn’t really going for funny but the game itself is a bit corny. I expected a low rating for humor but got none at all. *shrug*

Community: I could probably benefit from posting once in awhile. I didn’t post before the competition because I didn’t register until a few hours into it. Plus there was no planning whatsoever. I didn’t make a post during the competition because I couldn’t figure out how to even navigate the LD website (and it was down mostly). I’d like to put a lot more effort into community stuff next time…

Fun: Well this was sort of expected. But I am surprised it got this low relative to my other scores. I knew it would be low because my game is confusing and buggy, and those make games very un-fun. On the other hand it’s fun in a innovative/schmup/puzzler sort of way. I guess my gameplay is also quite nitch and suffers from being something I want to make and not what others want to play. But I don’t think that’s not a bad thing.

Overall: Okay. Not much to say. Overall is sort of each individual’s weighted average. johnfn pointed out that Overall is closely linked to fun, so this score makes sense.

Audio: It’s nice to get a score in audio since the last time I touched game audio at all was with Modplug back around 2001. I only included a Level Complete Jingle for my game. I tried to have various pitch sound effects for when blobs hit you but my attempts didn’t sound right and I was wasting time. I’ll take a swing at sfxr now that I know it exists (thanks community!). I’d like to try including music when I’m comfortable believing that I can make something that actually sounds like music.

Theme: I was hoping to do a liiitle better here. Simply because my game was about escaping a prison, and each level involved you escaping off the top of the screen. I even included the line “Escaped!” as a possible level-win message. Plus I used the word “Prisonbreak” (not a “real word”, this is intentional) in the title, which I thought was a little more creative than games that simply used “Escape” in their titles. But I’m not complaining here so much as nit picking.

Graphics: A pleasant surprise to score this high on graphics. I did throw out my first colorful floor tiles in preference of a simple brick pattern after my roommate complained that they looked like shit. I guess it paid off.

Coolness: Ah yeah! My game is so cool! Oh right, this is about how many games I played. I made a point to avoid the overly-popular games during the voting. I played a mix of what looked interesting and those straight from the rate games page. My favorites were:

Dystopian Future Underground City – j_peeba Dystopian Future Underground City Bunnies, Back Into Your Cage! – ratking Bunnies, Back Into Your Cage! Planetary Mission – NMcCoy Planetary Mission Towering Inferno – tenpn Towering Inferno Snake Plissken: Surfin’ U.S.A. – vandriver Snake Plissken: Surfin' U.S.A.

I pity the fool who can’t beat Dystopian Future Underground City and Snake Plissken: Surfin’ U.S.A.

Innovation: I’ve been disappointed at myself that I couldn’t polish my game more or weed out bugs before submitting it. I was thinking, “well, at least I might score okay in ‘innovation'”. Turns out I did pretty darn well, and I’m really happy about it! I think most of us wouldn’t work on a game at all if we didn’t think it was innovative in some way. Why make something if it already exists? This i’s especially important to me because I spend a lot more time thinking about game ideas than actually making them (I don’t program for a living). Plus this is the first time I’ve made something public. So I couldn’t be happier with this result. I even made the Top 25 Categories page!

Future Plans

While I think my game does have potential, I don’t have plans to develop it much further. I think it would have to be reworked from the ground up. I would up the tile size to 16×16 and try to make gameplay smoother. My original plan didn’t have movement locked into a grid, and I’d still like to try it without the grid (which would need other changes for balance). Balancing could already use some work to improve the strategy aspect… things like reducing the color count to 4 in the earlier levels or changing the floor tile algorithm for better color clumping. (Without clumping there is no point to the bullet-adopts-the-color-of-the-floor-tile mechanic.) Ultimately I think my time is better spent on a randomly-generated platformer I’ve been tinkering with for some time already. I might start another separate short-term project or just wait until the next LD48. But until my “fun” rating becomes decent, I think I have to focus my time on real life concerns.

Tags: compo, Flixel, innovation, j_peeba, LD #21, NMcCoy, post-mortem, postmortem, ratking, results, tenpn, vandriver

Finished my game after all

I wasn’t able to finish anything for LD21, in the end I started all over for the jam, but didn’t get that finished either. Last week I spent some more time on it and now it is finally ready: Asteroid Escape.

In this game, you are exploring caves in an asteroid when suddenly lava starts to rise, which you have to escape.

In total I spent about 34 hours on this, but spread out over several days. I used haXe and my own base code and Random Art Evolver. There are 7 levels.

 

 

Comments

arielsan
15. Sep 2011 · 14:01 UTC
A bit hard to control, it has too much inertia imo.

Mini Ludum Dare 29 – HORROR

October is going to some sort of special challenge month, so let’s celebrate Ludum Dare Halloween a bit early.

The theme is HORROR. Not “interpret the word however you want”, but “try to make something that will genuinely creep people out/horrify them”.

Technically 17th-18th, but this isn’t strict. Start whenever you want, and finish 48 hours later, or take a little longer if you want (Submissions officially close on the 25th, say). Work alone or in a group, use preexisting media/code if you want, or whatever.

[ SUBMIT HERE | View all ]

And, have fun!

I’m in, I think…

I’m planning to enter my second Mini Ludum dare, and I’d like to see what I can get done!

Wish me luck!

Comments

Felipe Budinich
16. Sep 2011 · 02:10 UTC
Good Luck!

My body is ready for the mini ludum dare!

Woah, that was a really quick move, I never expected this.

Well, I’m considering this mini competition as a start off – this will be my first submission ever.

Wish me luck 😀

Tags: miniLD #29

Trees!

How not?

Woa, never mind…

This weekend is packed so I have really no chance of making anything. Oh well, when is the next Ludum Dare or MiniLD?

FileKiller – The most horrific game I can make

So I’m busy this weekend, but I figured I’d have time for a simple (but EVIL) game.

  • The game selects 20 files from your computer at random
  • to win, you must delete them all
  • you don’t know what each file is until AFTER you’ve deleted it.
  • files 10 and 20 are folders, deleting them deletes everything in them
  • there is no undo
this game is real, and yes, it could seriously fuck up your computer/work/job/life.

 

this text is a link to the game, you’d be wise to never, ever, click on it. (it’s windows only)

To try, or not to try…

I made this account so me and my friend(s) could maybe compete in next years Ludum Dare Jam, and I just read that there is a mini LD on the 17th. All I know how to do is make crappy games with Multimedia Fusion 2, I was planning on learning more/switching to Python+PyGame by the time of LD next year.

So should we try to make a game for the Mini LD?

Tags: 2, crappy, fusion, gah, games, ld, mini, MMF2, multimedia, try

Comments

Felipe Budinich
16. Sep 2011 · 14:35 UTC
Go ahead mate! But mini-LD is tomorrow 😀

Who the devil are you then?

So Ludum Darererers, who/what the devil are you?

Teen grub attenting a state educational facility? Corporate drone? Overworked techie? Full time indie progamming magician? It’d be fun to see who has energy and weekends to spend on one of the most splendid hobbies in the world.

9 to 5 IT programming guy myself, still struggling to comprehend (but having total max respect for you!) how anyone who is able to pull a LD comp entry off within the deadlines.

 

Comments

SusanTheCat
16. Sep 2011 · 17:04 UTC
Call Centre Web Application Developer; NaNoWriMo participant; Web Comicker
16. Sep 2011 · 20:34 UTC
Teen who just moved from script kiddie to novice programmer!
16. Sep 2011 · 21:43 UTC
Full time game dev, writing indie games and making films in my spare time.