Hello World
Unfortunately I only just joined up after the competition finished. But I’m very eager to participate in the next Ludum Dare
So watch this space.
Unfortunately I only just joined up after the competition finished. But I’m very eager to participate in the next Ludum Dare
So watch this space.
I’m so happy I finally participated in Ludum Dare, it’s been something I’ve wanted to do for a long time.
This weekend my brother had a wedding, and I was the celebrant and also the best man. So I was fairly busy but I managed to get the game done.
I had no idea what I was making but it came together in the end, and I’m proud of what it is. It’s kind of zen.
It was also strange to think of the theme of ‘alone’ during a wedding, because I was surrounded by friends and family.
I made sure I still made a game, because I want to do every ludum dare from here on in, and I was worried if I make excuses this time it will be easier to make excuses later.
I made the game in 24 hours, so next Ludum Dare I will try to be more ambitious.
I’ll do a blow by (jonathan) blow analysis of the whole process when I wake up. I’ve had no sleep all weekend so I’ll see you on the otherside.
Can’t wait to jump in and play all your games.
Peace
Canyon
I’ve wanted to do Ludum Dare for a long time, but for one reason or another kept missing it.
This time I decided I wouldn’t miss it, no matter what happened, I would be doing LD22!
And then my brother’s wedding happened to fall on the first day of Ludum Dare. And added aspect of complication was that I was the best man and celebrant of the wedding.
Initially I thought I couldn’t do it, I wanted to be quite ambitious with Ludum Dare and create something very polished. But I’d most likely lose most of the weekend to the wedding and planning it.
So it inevitable I’d have to make a minimalistic, simple, procedurally generated game .

Intro to First Cell
‘Alone’ is a difficult theme…
because game design is based around interaction with other entities. It limits the possibilities of your game when you are meant to be alone.
But I also firmly believe that external limitations bring focus and help the creative process.
I was at the wedding when a friend emailed me which theme was announced. And I had a good 12 hours before I’d be home coding. But the entire time I couldn’t think of an idea I could complete in 24-36 hours.
But I had a game mechanic floating around in my head for a while that I had never coded, so I thought I’ll work on that idea, and if I can’t get it to work with the theme, so be it, at least I would be productive.
The mechanic:

The columns on the left are before collision, the columns on the right are after collision
The concept behind the mechanic was a system whereby shapes would morph into new shapes based on the number of corners on each shape.
In the diagram you can see that if a square hits a triangle, they simple swap, same goes for a square and a pentagon. This is because there is only a difference of 1 in the corner count.
At the bottom of the diagram you can see that a square colliding with an octagon will result in both shapes becoming pentagons.
In essence the shapes lose or gain the difference between there corners when they collide.
But I did not know what the game was going to be, a 2d shooter? a puzzle game? an evolutionary art piece?

A similar diagram but in the case of the triangle collisions.
Workspace:

My workspace during the LD22 Compo
A great workspace, I came to visit my parents in the Blue Mountains for the wedding so I set up my computer //Atlas, on their dining table.
You can see the garden as you code, it’s much nicer than Sydney.

Something I ate while doing the compo.
Notes:
When the reception was over I got home and started coding straight away, probably about Midnight. I decided I’d get shape generation working first and assumed I’d figure out how to turn it into a game as I went a long.
Here is my notepad file which I used to brainstorm as I coded:
-----------------------------------------------------
acceleration increase when collide friction over time interaction keeps the system going! ENTROPY > lonely? Initially nothing moves, but you bump into it, and it brings the world to life! mist, and prisms! darkness, you emit light! when you accidentally bump into an object, it slightly illuminates and begins to move, but will slow down over time unless it collides with something else. this sets of a chain reation, lighting up everything! sounds to represent this change! the shapes change when they collide. You need to be a certain shape to fit through certain parts of the world NO lighting - too hard just use shades of flat colour. Lighting actually easier than expected. 1.Wake up your friends 3.Become a goal shape 4.Avoid 5. 6.Eventually create a fish creature out of composite shapes. 7.Cell replication?
-----------------------------------------------------
So the fish creature didn’t happen and I had a few problem with collision along the way.
I really could have benefited from setting up a simple simple engine beforehand to save me from figuring out simple issues. Next time I’ll know and maybe try out Flashpunk or Flixel or lwjgl.
Alone – Aha Moment!
There was a moment where I realised how to make this game that was fairly interesting I literally stood up and did a dance. It was a great feeling.
Timelapse
can be found here.
Gameplay Video
can be found here.
What worked, what didn’t, lessons learned.
What worked:
I like the aesthetic, I like the game mechanic, I feel the game is really fun. It is just kind of arthouse and obscures how easy it actually is to play.
I accidentally made the game quite in depth. Because there is a system behind the game there is possibilities to master that system, and also for emergent gameplay to arise.
Blending modes in AS3 are great. The red glow has this brilliant effect of creating silhouettes of shapes around you, it’s almost like a sonar. It dissipates over distance.
I really like the sudden flashes of light at the beginning of each round, combined with the thunder. The sounds in general work very well, and even though most people didn’t understand how to play(my fault), they all seemed to enjoy the mood of the game.
I showed a few friends, and after explaining to them how it worked they contacted me later saying they have been playing it since and really like it, and that they actually find it quite addictive because it has no precise ending(muahaha!).

Blending Modes in AS3 are really powerful.
What didn’t work:
It is a dark game, it is also not a recognizable genre, it is abstract. So that means I had to fight for the players commitment.
To see around you all you have to do is move. The trouble is the timid uncertain players will probably not move. It is a game where you have to remember where each shape is and navigate there quickly before the shapes change. But that isn’t communicated, that is only observed after playing a while. If you sit there, everything will go dark and your opportunity to hit the once shape you need will escape.
I don’t like the fact that it isn’t accesible. A few hours after the submission time I added some in game help and made the glow colour red to help differentiate the player from the other shapes.
But really the nature of the game is that it is abstract, and it is hard to have pure aesthetics and also accessibility.
Lessons learned:
Play testing is actually important?
Submit now, test later? It doesn’t work. If you are lucky you will get 10 reviews from users, I had 3 within the first few hours of submission. Their feedback was great, it helped me make the game a lot better. But they were judging the game based on that snapshot. Probably best to test on people that aren’t going to affect your score. It’s good to get a friend to ask their friends what they think, they will be more brutal when they aren’t saying things to your face.
In game help is actually important!
Sure have a blurb, on your website, but a lot of people prefer to download the binaries. People also often skip reading the help, because we always think we will understand things immediately.
Have in-game help and make it unavoidable. I made my help context sensitive, so if the player was going well, I wouldn’t give them hints. But I think you can take that a lot further.
Have a tutorial, or some kind of learning curve.
I really really wish I went down the route of levels designed to teach the mechanic and the concept. I think of the first few stages of Osmos and how short that tutorial and how it so smoothly bleeds into the game.
I also think about Miyamoto saying to never blame the player if they don’t “get” your game. It is always the game designers job to work around that, to communicate better.
Ludum Dare is more work than just the 48 hour jam.
I am sure a lot of the veterans know this, but once you submit your game you should rate and review other peoples games. You should probably have created a time lapse, a game play video.
You have a short period of time where you can make subtle bug fixes, so you are actually working a lot after the competition. Uploading, testing and dealing with the consequences of doing a 48 game jam.
Assume nothing!
I assumed that people would just assume (double assume!) that you used the arrow keys to move. But when I tested some people tried to accelerate with space bar, some people used WASD, some people tried to use the mouse.
So I ended up adding a lot of alternate control schemes.
Uploading takes ages.
Especially in Australia. The site couldn’t handle the simultaneous uploads so we were given extra time. Without that extra time I wouldn’t have made it in time.
I suggest upload your resources and other larger files early on, you will most likely only be changing source code. Then you can upload a single zip file after the competition is over. That way you cover all bases.
A lot of my favourite games…
are Ludum Dare games, and as a game development student I use them all the time as game design and code examples. I tried to encourage friends and other students to participate and maybe they will next time.
I am actually honoured to have submitted a game alongside so many creative and talented people.

Shapes illuminated at the start of a round.
Thanks for reading the Post Mortem, I hope you play the game, and I wish you the best.
Cheers,
Canyon
I know that the competition has already started and been going for a few hours.
But I completely forgot to do an “I’m in!” post!
This is my 2nd Ludum Dare. I was in on LD22 and missed LD23,
which is a shame because I really liked the Tiny World theme and had an idea for it.
So I hope that is the last LD I ever miss.
I’m using a laptop without anything really installed.
So no Photoshop or Flash IDE to help with graphics, and as I’m not too familiar with GIMP or any other alternatives I am just going to generate graphics dynamically as much as possible.
Sometimes limitations like these actually help you focus!
I think I’ll be coding in AS3 and maybe adding some sound with Garage band if I can borrow a friends laptop.
It’s highly likely that I’ll use freesounds.org and BFXR. And I am Chronolapsing as I type this.
Good luck to everyone participating!
I can’t wait to see what everyone creates. A lot of my favourite games came from this competition.
So far on screen I have just two lines. Two lines you can click and drag and the changes made to either is mirrored in the other.
I’m trying to make a game about trees.
I’m in.
This will be my first Ludum Dare living in Melbourne.
I have always done Ludum Dare in AS3 using FlashDevelop but I’d like to give JavaScript a go.
If I use JavaScript I’ll code in Sublime Text 2.
I have very little experience with coding in JS so I may chicken out and go the Flash route.
If my art isn’t procedurally generated, it will be in Paint.NET as I don’t have PhotoShop on this laptop and my tower is
still in the Mountains.
Next Ludum Dare I plan to have a different machine (most likely a Surface Pro for it i5 and Wacom Pen) and I will likely use PhotoShop a lot for that.
I have been reading a lot about NodeJS and maybe will try and package my game as an executable using NodeWebkit
I’d be very impressed with myself if I could implement some kind of networking (not gonna happen).
Very much looking forward to the jam.
-Canyon
Ludum Dare is one of the most wonderful things and as always I am honoured to be a part of it and grateful that it exists.
I’ll probably be using the following tools:
– BFXR for sound, maybe garage band depending on the game
– Pickle for sprites
– Frame.js for animating the sprites
– e.js for the Entity Component System
– Sublime Text / Light Table for an editing the code
– Javascript + Canvas
– Chronolapse for the Timelapse
I released Frame.js and e.js today so my brother could use them for his first Ludum Dare. I’ve used Frame for 4 or 5 jams and it is an absolute pleasure as long as you can keep all your spritesheet as a single row.
e.js is a newer library I wrote that I’ve been using more recently. It is untested in a jam except for previous rushed entry. But I have used it for lots of little projects through the year and it has changed the way I think and work.
I’ll probably use the result of this game jam as the code example for both libraries.
Good luck to you all! So excited!
![]()
Here are some links:
Short version:
The jam went well, because I because of a library I made called e – which is a functional Entity Component System library in Javascript and because I knew my limitations. But if I had have slept more, I would have got a lot more done, instead of staring at my screen for 10 hours like a zombie.
Choose your battles:
Before I started I already had two ideas that I wanted to try. The first was a top down stealth game, the second was an arcade minimal touch shooter.
I decided against the top down stealth game because I didn’t have a lot of experience with path finding, and AI. And if I was going to do that game justice I would probably need more than 48 hours to complete it. A few Ludum Dare’s ago, I wouldn’t have made that decision, I would have just gone for it and missed the target. So I am happy that I am more aware of my limitations and what I can reasonably achieve – that means I am definitely learning.
The touch arcade idea was a lot more pure than what I ended up with. Retrospectively, I think I simplified it because it was harder to communicate exactly how those mechanics were going to work, without iterating constantly. So I made a more conventional game. I will definitely revisit the original idea, but the idea is so abstract that, again, trying out wasn’t going to do it justice.
As I am writing this, I can hear a devils advocate’s position, which is: I shouldn’t be aiming to make a more “complete” game, I should be following my instincts. And I am very aware of that perspective, but I think it is actually more balanced for me to think in the “finish something” mindset for the next few jams. Because honestly, if I make any more half baked prototypes, I would probably burn myself out.
The more jams I do, the more I understand that I have so much more to learn. The more I come up against my own limits, and just choosing one weakness to focus on and improve is more productive for me, than learning on all fronts and not making any progress. Life is short, and you really only get to make so many things in life.
That all said, this jam went pretty swimmingly and here’s why.
Why did it go so well?
I stumbled across Entity Component Systems 6 months ago, and I’ve had enough time to allow my head to get around the concepts. I did a lot of research and read everything I could find on the topic, and often came up against a lot of bad advice.
I ended up writing a library, which I call e, that has completely changed how I work, and made my jam code very neat and extendable.
In fact, there is nothing I would really change about the existing code, which challenges the myth of prototype code needing to be redone for production.
After working as programmer for a few years now, on fairly large projects, I am more familiar with the tools and having great tools really helps.
I tracked down this horrible collision bug using the Chrome debugger, I hosted my game using the gh-pages of github and I used Light Table to be able to inject changes to my game code without refreshing the page. All in all, it was fairly joyful.
What went wrong?
There was a stretch of 10 hours at the end of the jam, where I just was completely unproductive due to being so tired. I should have slept for 2 hours and came back. It would have made the game so much better. And because I was so tired I stopped working on the game 4 hours before I needed to.
That time could have been spent on a tutorial, different levels, better animations, a menu system you name it. Sleep is important.
So far I have had a great time judging games, and I would like to a round up of my favourites so far. I’d also like to do a post on why this library was so great.
-James

