Posts Tagged ‘ld23’
While my game didn’t do terribly well in LD 23, it got overall average scores, I did get quite a bit of plays and a lot of good feedback on it. I decided why not, take it and expand it out further. Well this has taken FAR longer than expected and I ended up developing a full cross-platform 2d game engine/library that supports Android NDK/Linux/Windows/Mac in the process, but as of last night the extended edition of my LD23 game “Tiny Defenders” Is available on google play
First off, a link to the free version:
And a link to the compo page!
But that’s not the primary purpose of this post! I wish i had though of it sooner and done more in between but i’ve started doing video logs of my development so following this sentence i’ll have a few videos, starting with a video of the competition version, showing how the game evolved as i tried new things and added on to what I already had. I actually think it’s kinda interesting to see how something starts from a tiny little ludum dare game and evolves into a full game.
Click the link to view the rest of this post! i’m hiding it under a “more” tag otherwise it’ll eat up the entire front page….it’s huge!
It is a First Person Shooter where you have to save the miniature Trivials from the mega-spheres!
I feel like I did better on this game, but it sort of lost the originality Isolated Assault had.
How I rated Other People’s Games
The games where a lot better overall this time around and I mostly gave 4 stars for most categories.
Results (Drum Roll)
Audio my highest rank, at #211, which made sense I guess. I put a lot of work into the music and sound effects, so thanks voters!
Innovation, however, was the lowest. I didn’t think an FPS was very original, but the idea of saving the smaller towns was new, so I don’t know what happened here…
Looking at my score compared to last LD, I did a lot better last time, my highest rank being #40. Then again there was a lot less people less time.
STAY TUNED FOR A SPECIAL GAME SURPRISE! (A sequel to a very popular game by Rob Productions :3 )
Nice job, everyone, great LD! <3
From Argentina, the Datamosh team wants to thank everybody who took the time to rate, comment, critic, enjoy and specially PLAY our very first entry ever at the Ludum Dare: “ONLY US”. Words right now simply don’t have meaning.
EMOTES <3 T0 EV3RYB0DY.
After I rated 50 games, I choose 10 entries which I thought deserved more recognition and praise. Now I reached my goal of 101 entries, so I’m picking 10 more games from the total I’ve played so far (of course, without repeating games from my previous list, so if I’m not repeating games here it doesn’t mean I don’t like those entries anymore, lol). To celebrate I reached my goal, I’m also putting pictures this time around!. You have no idea how hard is to select only 10 more entries out of 100 (and believe me, scrolling such a long list to spot the entries you enjoyed the most is not any easier, so if I missed one I’m sorry ) but here is my attempt:
Let’s do this!!
This game is beautiful. Simple, fun, polished, play it.
The title says it all! Here are some more of the many amazing games I’ve had the privilege of playing thanks to Ludum Dare. Go and show them some love, we’ve only got until tomorrow night at 9!
Necro Gaia - lazybraingames
A really fun take on tower defense with a great visual style and sound design. This game only has 7 ratings at the time of writing, it needs some love! You won’t regret it.
Space Cabin - trylle
The first thing that struck me about this game is its great visual style. It’s such a pretty game. As for the game play, it is a visual adventure game that relies heavily on classic text-based adventure game mechanics. I love this combination, it makes for a very fun and fresh feeling game.
Shrunkit - MagnesiumNinja
A really fun puzzle-platformer with an interesting mechanic. The puzzles are well thought out and the shrinking/growing mechanic is fun to play with. With some more polish, work, and lengthening, this would be a game I’d want to buy. You should definitely go give it a play.
ascii world - dwrensha
ascii world is definitely an interesting game. I don’t want to spoil the discovery element of this game; I think that’s what makes it so interesting. Give it a go, it’s pretty short and you can play it in your browser.
Curse of Grimwood - digital_sorceress
A neat little action-rpg that feels extremely polished for the given timeframe. Definitely worth a go.
Quantum Entanglement – icefallgames
Quantum Entanglement is a really well designed puzzle game. The puzzles feel well thought out and the mechanics at play are interesting and fun to mess around with.
That’s all for now! Please continue to spread the love around the community and rate more games everyone! And as others have said, it’s always nice to leave a comment saying what you liked/didn’t like about the game and offer some constructive criticism when you rate a game. It’s how we all can help each other to grow as game developers, and I think it’s what makes the Ludum Dare community so special.
Hey there jammers! It took a while but we finally found some time to sit down a bit and reflect on all that went down during the LD jam. It was our very first attempt. We had no idea what to expect from ourselves or the community and we couldn’t be happier with the experience. That being said let’s get down to the matter!
Check him out here!
Since we basically had no experience making games, we tried to aim for a platformer which seemed, at the time, the simplest way to make something viable in 72 hours. Looking back, not so sure it was the brightest idea. Although we defined this early on, ideas went crazy and at some point we had to stop and settle for the one that fit our skills best. Luckily enough it was one of the favorites almost from the start of the brainstorm.
Regarding the theme we thought of the most obvious topics and discarded them right away to try and make something different. By thinking about various interpretations of world, we came to the inner world of a being or how he perceives it. And so, Phobius deMelt was born! An overly phobic boy who sees his world close on him as he gradually panics from claustrophobia. It seemed to fit the theme just right and also provide room for a cool mechanic. It would also be very dependent on the audio to set the mood for the character which was a plus.
Pretty fast a story formed around phobius. He’d be going on some kind of a tour to a building with his family but fearing closed spaces he gets scared at the entrance and is left behind. The rest of the time he’ll spend trying to catch up to his family growing ever more phobic with the fact he’s now also alone.
So, this is our first Ludum Dare. Or was? Just 3 days left!
Anyway, we didn’t know what to expect. I mean, we are from Argentina. A place not precisely known for it’s videogame industry (which is actually growing fast!) And we are just two regular dudes!
Thanks to the comments and feedback that our 72 hs. game has been receiving, we have an extreme motivation to keep developing on it (AND keeping it FREE for browsers!). So we decided to give you guys a tiny present: An HD widescreen wallpaper!
Again, thank you very much. We still have about 1240 games to play and rate! See yah!
[My name is Carlos Leituga and I’m a Game Designer / Implementer in a Portuguese company, where I’m working on a _NEW_ Hidden Object Adventure. That one is going to take a bit to finish, so I'm back again helping the Make A Game team to create a game in 72 hours for Ludum Dare #23.]
«That’s a wrap!», we said when “alone I art” was submitted, «We’re not going to do another Ludum Dare before making full games out of this and Eggscape, okay?»
We all agreed, until seconds later someone reminded us that the next Ludum Dare was going to mark the 10th Anniversary of the competition.
«#&$*@!», I said, before blacking out and waking up four months later and right when the theme was announced.
«The theme is Tiny World?»
«#&$*@!», there, I did it again.
Now that I’ve reached the 75 ratings milestone, I thought I’d bring to light just a few of the great entries I’ve come across in my journey for the gold! These will likely be lesser known entries with fewer ratings, so go give them some love!
Get The FROG Off My World!! - by CitrusPunchSamurai
This game made me smile. It’s a really simple game, but it’s presented very well. Also, the catchy tune will get stuck in your head for quite some time after playing it!
Bottlecolonies - by tcstyle
A little strategy/puzzle game with a really great, distinct visual style. Awesome presentation.
Tiny Planet - by CherryNukaCola
The music in this game combined with the euphoric explosions as you send stars off into the galaxy was very relaxing. Really nice, simple art style to this one as well.
Darkness Creeping - by AD-Edge
The intro to this game pulled me in, and the creepy atmosphere and interesting little creature-controlling mechanic kept me playing. It’s a 3D first person puzzler of sorts. Very impressive for 48 hours.
Interstellar Moai Ranger - by Shifty
This is a super-fun on-rails shooter in the same vein as games such as Space Harrier. Very nice art style, music, and sound effects.
These are just a few of the great games I’ve gotten to play as a result of this amazing community. Great job everyone!
First of all please excuse my English, that might not be perfect.
This competition was my first Ludum Dare, and my first entry was also (more or less) my first game (unless you want to count this Minesweeper in). I must say I thoroughly enjoyed the experience, and I’m positive I want to take part in a future Ludum Dare competition.
Even though I don’t have much to say, I wanted to make a short “post-mortem,” in order to share my modest experience and some thoughts that might be useful to some. If you want to understand better what I’ll be talking about, play the game here (and please rate and comment, if you want!).
What went right, or wrong, or not (yes, I’ve decided to merge the two since I couldn’t split some ideas into these two categories):
- The idea came to my mind rather quickly. (Some people around me couldn’t believe I had this “dirty” idea; or they thought it was related with a girl, which is false, believe me.)
- I worked efficiently the first day and I had a functional prototype early enough. However I didn’t work very much the second day, but that was because of French elections and friends visiting me.
- I managed to create a rather good-looking sperm animation! Actually I spent a lot of time trying to make a beautiful regular 4-frames animation, the last two frames being symetrical to the first two, and I ended up realizing that the symetry was a bad idea: the animation was anything but “natural”, the symetry was visible and didn’t look well at all. I finally decided to draw the 4 frames by hand, without any kind of “regularity”, and it was a success (in my opinion).
- I failed at improving vertical controls (acceleration). Your “character” goes up or down too fast, and it sort of sticks to the top and bottom edges of the screen. Very annoying at first.
- I failed at recording other sounds and music. I tried some ideas and was close to a good result, but didn’t have enough time to record and include it into the game.
- The last two hours of the competition were awfully rushed and that was not necessarily a good point. But at the same time, the emergency of the situation made me sometimes find good and intelligent solutions to my problems. I liked that.
- As a conclusion: Even though I sort of failed by not using my time very well, this competition showed me that I can produce a (sort of) game in 48 hours. Ok, that didn’t sound very original. Actually I want to say that this Ludum Dare may have made me more confident in regards to motivation. I tend to procrastinate a lot, and I came to the conclusion that I should from time to time impose to myself short delays (like, say, 48 hours?) to accomplish some kind of task or project.
I hope this wasn’t too boring. Thanks for reading!
And…… Done! I got through 10% of the total games and I’m mighty impressed. I have been mostly just searching for web games and am pleased that there are soo many games that don’t require anything to download. Anyway, here are my favorites (as in they received a 4 or 5 in the overall category).
Atomsmash - By Dan C. It’s a C64 game, like for reals. If you bother to you could actually play it on a Commodore 64, and it would be awesome. If you don’t want to go through that, there is an emulator you can get to experience the awesome for yourself.
Aether - by Danik. It’s a planet defense game, with a bit of a twist. What happens to the planet on a large scale is experienced on the small scale. I love the concept, and the visuals for both large and small are stunning. Really a great game.
Deconstructorium - by GreyShock. Go into objects and steal their molecules, then use these molecules to destroy the world! Essentially a collection of minigames with a linking story of mad scientist. Really fun and very funny.
This Precious Land - by Ishisoft. A nice puzzle game where you create resources to try to grow a new land. Very relaxing and yet still engaging.
The Good Ship Higgs Boson – by Jezzamon. Its a platformer. No, hear me out, it’s a gravity manipulating platformer. Give it a chance, it is actually very polished and provides some good puzzles.
ANT SURF HERO: THE SURFENING – by Jigxor. This has been on everybody’s top N games list and if you haven’t played it by now, for shame. Anyway, very good, very pretty, very funny, play the game already!
My Little Planetoid – by matthias_zarzecki. You build up a planet and evolve to the point where you can travel through space. Very nicely done and relaxing to play. I would also like to thank Mathias Zarzecki for playing everyone’s game. Seriously, look at his coolness, he is really trying to play all of them and I salute you for your efforts.
Atom Planet - by NMcCoy. A little puzzle game that is a mix of minecraft and alchemy, with a cute little character and relaxing music.
Tiny World - by piterlouis. A planetary defense game with a bit of a twist. Defend your planet with your own orbiting moon. Very fun. Should have picked a better title, however.
Michael is Myopic - by Several. Another puzzle game where you eat to grow, and have to avoid growing too large too fast. Has a nice zoom out feature that just looks awesome.
Tiny World Cardgame - by SusanTheCat. A fantastic card game that I wish was real. I would play everybody in it. In fact, I’m going to print off the cards as soon as I’m done with this post.
Fracuum - by TylerGlaiel. A maze game where you zoom in to advance in the maze. Reach the center to win, but there will be enemies trying to impede your progress.
And there you go, my list of games you should play. It has been a long hard ride through some 140 odd games, but these gems made it all worth while. And, if you are feeling generous, also play my game, Path O’ Invasion. Not as good as those games, but it has squishy movement, and really that’s what Ludum Dare is all about.
It’s been two weeks since that fateful weekend on which we all decided (perhaps against our better judgement) to make a game in less than 48 hours.
How’d it go?
So how did I pull it off? POLARITY is all HTML5 and CoffeeScript, using a tiny helper library I wrote called atom (coincidentally theme-appropriate). I used the excellent Chipmunk-js for physics, which made collision detection and response trivially easy. I drew the pixels in GrafX2, which is a superb tool but for its animation support (of which there is very nearly none). The sound effects were a result of noodling around with BFXR‘s “Random” button for a while. And the font is 04font, created by the sublime Yuji Oshimoto.
I think one of the things that really made POLARITY was the polish. I had the gameplay more or less finished early on day one, and I even had a few levels. Day two was entirely polish: particle effects when you die, animations when you change polarity, level names and transition effects, an attract screen, and so on. On top of POLARITY’s simple and flexible mechanic, these bits of aesthetic tightening worked wonders.
That said, there are certainly some things that I wish had gone better. Most obviously: music. Since LD I’ve been trying to figure out how to make it (unsuccessfully).
Less obviously, I’d like to improve my tools in preparation for the next game jam I participate in. GrafX2′s lack of animation support is pretty bad, and I would have saved a bunch of time if it’d had e.g. live preview. I need to find a tool that works on Mac that I can do pixel anims with.
When working out how to make your web browser bloop, I spent nearly an hour staring at Sound Manager 2‘s documentation before giving up and using the Web Audio API. Unfortunately that meant that my sound effects would only work in Chrome, so a goal for next jam is to add some audio support to atom that works with Firefox’s audio API as well.
And with that, please enjoy this video of me making POLARITY. Yes, I really type that fast.
So it has been a week and I’ve had time to think about it and now it is time to write up my thoughts in a nice solid post-mortem form. But first, play my game Path O’ Invasion!
What Went Right:
Tools – I laid out all my tools beforehand and had been practicing with them for the week before, so I knew what I was going to do and how I was going to do it. This really helps get things going as soon as the bell rings.
Starting Slow – I didn’t start on the game right away, I let the idea of Tiny World just sit there for a while whilst I did other things. This time apart from the contest ensured I didn’t make the same mistake I did last time, which was start a game I didn’t really want to make.
Time Management - I only spent about 25 hours actually working on the game. The rest of the time was spent sleeping, eating, hanging out with people, and generally being non-stressed. This time was good for me in that it prevented me from freaking out soo much, which is always a good step. Unfortunately it prevented me from adding some features that people have really missed *cough* Group select, AI balanace *cough* but I think it was for the best.
Keeping Assets Simple - Last time I created an asset heavy game, which was pretty terrible. I spent most of my time drawing very ugly backgrounds and generic level code and I didn’t get to program anything that really caught my attention. This time, for more than half the contest, I had one art asset and three class files. Keeping those things simple I was able to make a game I thought was fun, and then on the last day go around adding other assets to make it more diverse. I had a much better time this contest because of it.
Programmical Animation - Is that a word? I don’t think it is. Anyway, I’m not an artist, but I didn’t want my sprites to just slide around the screen. I came up with this little shrinking/expanding sprite movement (known in code as “squishy” movement) that I think looks so much better than anything I could have drawn.
Using Paper - There were a couple times when I was stuck on a problem and I kept trying to solve it in my head and turn that into code, and bugs just kept popping up. Finally I got out a sheet of paper and started writing out the problem, and it practically solved itself. Never underestimate the power of pen and paper.
What Went Wrong:
Programmical Animation - I spent way too much time trying to get this to look good. I’m very proud of the result, but that was all time that could have been making a decent AI. I had to stop and force myself to work on the rest of the game, which is why there are still obvious animation problems.
Scaling - While testing the game I had everything 4x bigger, to help me see animations and quickly move around. I thought that that wasn’t enough play area, so in the last few hours I shrunk it back down to 1x size. Because it was soo late, and I had been soo used to playing, I didn’t realize that this made seeing what is going on and selecting units very difficult to do. I probably should have left it ay 2x, or implemented some kind of zoom function.
Outside Testers - I meant to get on IRC and ask people to test my game before I finished, but I never got around to it. Because of that, there were never a fresh set of eyes on the game, and I think playability suffered from things not being too obvious.
I had a lot of fun and I think I did far better on my second showing than I did my first time. I would like to thank my girlfriend for coming up with the initial game idea, for making me food, for preventing me from freaking out, for dealing with me and my crazy ideas all weekend, and for making me go to sleep. Nothing would have been done without you.
If you have a moment, please play and rate the game.
So now that Ludum Dare #23 has finished and the dust has settled, I guess its time to write a post about the post mortem and give some insight into my experiences with making a game in 48 hours…
Here is a diary of the major milestones of my 48 hours highlighting interesting points of my development:
I rushed head first into creating my voxel engine, I was pleased with the announcement of the ‘Tiny World’ theme, it seemed as if this theme was perfect for what I was creating… My mood was great!
Still driving ahead with the voxel engine, encountered a few problems with how the triangles and meshes are rendered, so had to go back and improve my rendering engine. Spent a good portion of these hours optimizing how triangles are pushed to the renderer and adding support and features for mesh rendering with display lists and vertex buffers.
Started playing around with different configurations for meshes/chunks/regions… came up with some interesting implementations of how a voxel world could look (sphere worlds, cube worlds, trees). I made sure to leave all configuration/ideas in the code so that I could easily come back to anything which worked.
Added support for cubes/voxels with different textures. Using a texture atlas to store the different textures. i.e. (grass, stone, wood, magma, etc) This would be important since I wanted to make a world that could be modified by using different cube types.
Towards the end of day 1
Hit a wall with regards to what my final outcome was going to be… I did have some original ideas relating to a flat, cubed world with tress and houses that you walk around and do stuff as a player, but nothing really inspired me in that respect without completely ripping off minecraft functionality (which I did NOT want to do).
So I went to sleep and hoped to come up with some neat ideas in the morning.
I woke up with renewed vigor and some thoughts about a different direction that my game could take. I decided to make it more abstract and not have a player in the world or have any direct user control, instead focus on world destruction and voxel effects.
Day 2 general
The bulk of day 2 was taken up coding effects and voxel related gameplay. I created asteroids and a layering system for my planet, exploding blocks and effects of asteroids crashing into the planet. The vaporize and terraform effect was actually something which came about accidentally, but I liked how it looked so decided to keep it in and make a gameplay mechanic for it.
This period was pretty crucial for me, I was rushing and coding gameplay elements really fast, I had a feature idea and once I got it working I moved onto the next thing on my mind. Asteroids, world vaporize (terraform), exploding chunks of the world, world rebuilding. I needed to make a full game cycle so I decided to add a timer that would ultimately drive the gameplay (destroy the world within the time limit).
I had finished the gameplay that I wanted. Next came the hard part of making it usable and playable. Having a lot of functions that are bound to keyboard keys is no good when you want other people to play your game and enjoy it.
I started to code the game flow:
Start menu –> enter game –> game timer –> score screen –> restart.
Added basic HUD and menu. i.e “Press SPACE to start/restart” and a scoring system.
My plan for the scoring system was going to be more complex with multipliers and additions for which super moves you used, but I didn’t have the time to make this work, so stuck with a simple score and time multiple.
The HUD and user interface needed work, I added these features faily easily but they were basic and static. So I started working on timings and polishing the interface. Flashing “Press SPACE to start/restart”, score screen with accumulating score. Timings and delays on the game flow to add additional polish. For example when you destroy the world, the score screen doesnt instantly popup, it has a time delay, or when you press to restart the game, the game waits until the world is rebuilt before allowing player control and starting the time. etc. This polish and attention to the small details is what makes your game stand out and feel like a proper experience, rather than a load of features cobbled together.
This last hour was mostly taken up with preparing a release package, zipping up the projects and source and testing to make sure a download of the source and executable would build and run, etc… Faily boring stuff but it does take time. I noticed a problem with absolute paths in my Visual Studio project, so had to rebuild a whole new project solution to fix this… luckily my project solution didnt contain too many header and cpp files.
I tested my package, uploaded it and then created an entry on the Ludum Dare website… then sat back and had a rest.
My entry can be seen here:
WHAT WENT RIGHT:
- Had great momentum from the start – I was able to put off the design and gameplay decisions till much later, since I had a lot to code from the start, having decided on a specific rendering engine.
- Used my own personal engine – Since I was using my own 3D/OpenGL engine, I knew exactly what I could do and how to do it.
- Voxels and cube art is great for programmers (and anyone who isn’t an artist) - Art was always going to be a problem for me, but creating stuff in 3D mitigates that problem slightly and creating stuff purely with voxels actually looks great with NO art whatsoever (See minecraft )
- Got lucky with the theme – Seriously, I couldn’t have chosen a better theme for a voxel based game if I tried. if the theme had been something like ‘Evolution’ or ‘Discovery’ or some other abstract concept then I don’t think my game would have turned out half as good as it did!
- Got involved with the LD community – I really enjoyed looking at the other users entries on the LD website and also posting my own progress and hearing feedback and comments from the community. Nothing is more rewarding that seeing other people’s efforts and encouragements from the community.
- Self documentation – I think I did a pretty good job on documenting my progress, taking screenshots and uploading videos to youtube. I even enjoy looking back myself now and seeing the progress that I made during the 48 hours.
WHAT WENT WRONG:
- Gameplay – I left most gameplay decisions until the 2nd day. After I was happy with my rendering and voxel engine I actually spent a good hour or so scratching my head as to what to do next.
- Focusing too much on the rendering/engine – I was torn between wanting to make a really optimized re-usable voxel engine, and adding in gameplay features. At one point I had to physically stop myself adding voxel engine features and rendering optimizations to force myself to think about gameplay and mechanics. I could have quite easily spent the whole 48 hours making a voxel engine…
- Trying to do too much – I had far too many ideas that I wanted to try out and not really having a clear design goal or making any gameplay decisions at the start meant that I was fragmented when I wanted to start making something that would be playable.
- Memory leak! - I found a major bug (memory leak) in my voxel particle renderer about 8 hours before the compo was due to end. I was leaking memory quite badly when creating and destroying particle effects that I HAD to fix. This took up about 2-3 hours of valuable time towards the end of the 48 hours.
- Basic user interaction - It is really hard polishing a user experience, so I ended up just putting a couple of buttons in for the special moves, not the most elegant way of coding gameplay features
- Sleep! - Don’t even bothering thinking that you can work solid for 48 hours, it is just not possible. It’s counter productive to lose ANY sleep and even just trying to do one all nighter is going to be detrimental to your progress. Yes you are going to probably stay up later than usual and once you are in the zone its hard to leave things to go to sleep, but if you are staying up into the early hours of the morning and going to sleep before it gets light outside, I would say you are doing something wrong.
- Prototype FAST - 48 hours goes really fast, if you are spending a lot of time on a feature or idea that just doesn’t seem to be working, move onto something else. Don’t waste time flogging a dead horse.
- Know your tools/code/engine – Since you are going to be creating something SUPER fast and with no time to spare, you really need to know what you are using. It helps if you know exactly what your engine is doing, right down to the individual function calls and rendering details. You will spend far less time fixing bugs, debugging code and trying to figure out what is going wrong if you know your engine/code inside out.
- Make decisions before the competition starts - I think I can attribute a lot of my success to this point. Since I was prepared before the theme announcement and was ready to start programming the instant the 48 hours started, this helped me a *lot*. I could have took this EVEN further by making some gameplay decisions first as well as deciding on the style of my game.
- Make the theme work for you. – (This is related to the previous point) Already have an idea of the sort of game you are going to make and then just adapt it to suit the theme… It is no good having no idea about what you are going to make and just trying to come up with a game that perfectly suits the theme. You will waste valuable time thinking and designing when you could be coding!
- Polish what you have – Personally I think that a well polished, smaller scope game that does a few features really well, is much better than some attempt at a game that has lots of features but doesn’t implement any of them particularly well. LD is a time to create something small that shows off something cool in a neat little package, not create the next big blockbuster.
Overall I had a blast making a game in 48 hours and taking part in my first Ludum Dare. I am pleased with my final outcome and even surprised myself with what I made. I now have a 3d voxel engine that I didnt have before I started the LD48 and don’t doubt that I will be using and improving it from now to create even better voxel games.
Thanks for all the support guys and see you next time.
After about a week dealing with Avidemux unsuccessfully I’ve decided just to release the rough timelapse as is. If anybody could help me with either a better video editor or explain why camstudio can’t import into Avidemux, I would greatly appreciate it.
Anyway, play the game here:
Post Mortem to come shortly.
Ok, I’ve rated 50 games so far (and left comments on each one of them because they all deserve it) so it’s time for me to share the awesomeness of the entries I’ve reviewed. I must say all of them were amazing games so it’s hard for me to pick only 10. I would actually like to pick 50 but oh well, I don’t want this to be easy for me either, picking 10 is a sort of a personal challenge.
There are a few games whose level of polish blown me away. I’ve placed them at the top 5 places of this list. Besides that particular arrangement there’s no order in the list whatsoever.
Angle Isle is my second Ludum Dare game. Here’s how it happened.
The theme arrived at 6pm PST. After throwing out the first 60 minutes of work on a bad idea, I started sketching in Photoshop for inspiration. Soon after I developed a 45 degree angled art style. It seemed interesting enough, so I spent the rest of the evening creating tilemaps and characters.
During the morning shower I tried to figure out what the hell I was making. I liked the world, but most of the characters didn’t fit. I only liked this angled bird and before I dried my hair, the bird became the hero.
After a quick cup of coffee I started the code. Angle Isle was coded in Flash Builder on top of the excellent Flixel engine. I don’t have much experience with Flixel or Actionscript, so I was often reading Flash Game Dojo and the Flixel documentation.
In the early afternoon I coded and animated the player. The desktop playtesting was done with an Adaptoid and my original black N64 controller. Once the bird’s flapping felt pretty good I started thinking about levels.
A large chunk of time was then spent on level transitions. I could have made it simple, but I wanted the levels to change dynamically. The player would seamlessly fly between one level and the next. It took awhile, but I think it was worth it.
At this point it was late. I needed to start designing levels, but there was much to tie up including touch controls, the breeze, and the shark. (More on this later.) I was delirious by 4am and went to bed a half hour later.
I slept two hours and awoke a bit groggy, but anxious to start. First task: writing music. The gameplay theme was written in Textmate with MML. The tunes didn’t flow, but In four hours I had a passable melody.
I moved on to sound effects and finished them with six hours remaining.
The levels still weren’t designed. I set a twenty minute repeating timer and tried to make, playtest, and finish each new level before it went off. This was a tall order. I spent extra time in the early levels trying to figure out what the player should experience and learn. I also found the tileset incomplete and had to spend more time adding tiles.
Halfway through level design I stopped to create the title and ending screen. This took another hour. When it was time to submit I had squeezed in 8 levels.
What Didn’t Happen
I had started to add an antagonist to hunt the player in later levels. The shark would jump out when the player was trying for the lower hanging berries. But time grew short and the shark was cut.
I also hoped to add a continuous day-night cycle with parallax stars. Ran out of time.
When the player collects more than half of the fruit on a level, a wind appears to the right and the player can ride it to the next level. A bird chirp sound effect signifies the “exit wind” is available. Although I like the chirp sound, it doesn’t communicate a connection between the berries and the wind. I should have used a wind visual and sound effect instead.
I submitted an iOS port to Apple the morning after Ludum Dare. But as I’ve been playing it more, I’m less satisfied with the performance on older iOS devices. Instead I’m looking into porting to Axel or perhaps Objective-C for the post-compo version.
Ludum Dare is awesome. I’m amazed by the results of some good ol’ pressure. Angle Isle blew away my previous entry and I’m pretty happy with the results.
If you entered the competition, please take a chance to rate my entry. I’d love to hear your feedback.
I added some bits and bobs to my entry version of the game. I’m done with it for now, but maybe in the distant future I’ll come back to it and make a much better version.
- added sound and music
- added pause, sound and music toggle
- changed level layouts to be more interesting
- changed speed of the game to generally to play faster
You can download it for Windows from here:
I made a game in 48 hours! And I even like it!
I started preparing for this LD with the release of @mcfunkypant’s book “The Game Jam Survival Guide.” I had been wanting to enter the LD48 contest ever since I first heard about it 2 years ago, but the survival guide is what finally gave me the confidence to try.
Code preparations began a week before with the warmup contest. The 1 week deadline helped keep me motivated as I put together the library of important basic functions that I knew I would need. I had decided by this point to do a pixelated platformer because I felt like that was comfortably within my skill level to accomplish in the time. I used the warmup time to hash out rect-vs-rect collisions, some really basic spring/damper physics, and a set of map loading and rendering utilities. This brings us to the first major thing that went right…
What went right
Using Bitmaps as Levels
In previous projects I’ve lost many hours of game coding because I attempted to create “the perfect level editor.” Inevitably the process takes longer than I had expected, and my final product does far less than I had hoped. This time, I was inspired by a friend of mine (who was inspired by Notch) to just use the pixel data in an image as the map. Brilliant! This means that I can take full advantage of my graphics software to make rectangles and circles and rotations and flood fills… all those things that I’d never have time to implement in a homebrew map editor. Then my game loads this image and translates each pixel of the image into a tile in the world. It recognizes certain colors as being tiles with certain properties (non-destructable, collidable, non-collidable) and, if it reads a pixel it doesn’t recognize as a particular kind of block, it generates a slightly noised-up tile of the same color and gives it some default properties. This technique slayed the level-editing-dragon that has conquered me many times before.
Choosing an Art and Game Style in Advance
Two weeks in advance of the theme being announced I knew that I would be creating a pixelated platformer. Having those additional constraints in place really helped focus my thinking once the theme ”Tiny World” was announced. Making the decision to make a platformer style game early also let me write the necessary collision, spriting, and map loading/drawing code before the contest began.
Being Ready with my Tools
I devoted some pre-compo time to setting up a reasonably efficient Clojurescript development workflow. I used cljs-build to monitor and continuously re-compile my source as I changed it so I could very quickly hop back and forth between emacs and the browser to see the effects of my changes. I hacked my resource fetching code so that it would keep the browser from caching anything while I was coding. I even decided in advance that my nominal sprite/tile size would be 16×16 pixels, and I figured out an appropriate scale to apply so that the game would have the retro-pixelated look I was going for.
Throwing Away My Early Ideas
To quote Chevy Ray Johnston in “The Game Jam Survival Guide”: “A great way to come up with an idea to fit the theme is to write down the first five things that come to mind, then toss ‘em. Those are the ideas everybody else is already thinking of and/or making.”
When the theme was announced I immediately starting doodling gameplay ideas on my handy pile of scratch-paper. My first idea was a game centered around some kind of proto-plasmic hero that collects nutrients and waste and transports them around a human body. I’ve now seen a few game entries that are similar to this idea, and I would have been pretty disappointed to write a duplicate game.
My next idea was some kind of RTS / resource management game where you lay out the major components and the transport systems within a cell. I wasn’t able to find the spark in that idea that would make me confident that the game would be fun. After this idea, I also rejected another idea due to its potential art scope.
After looking up “tiny” in a thesaurus, I came across the word ”elfin” and its synonyms: “sprightly, playful, rascally.” Thus was born the idea for a game about the little people who are always stealing my keys. As I was telling my wife about the idea, she suggested the collecting-and-stacking mechanic that ended up being central to the game.
What went wrong
Insisting on “realistic” physics
The number one complaint I’ve received from players is the sluggishness of the controls. You see, I fell for the classic blunder of having the keyboard apply forces instead of velocities to the character. It’s my own fault. I even got that feedback from friends that I asked to play the game after the first day of the contest. I responded to their feedback by increasing gravity, increasing drag, and applying stronger forces due to keypresses. This improved the feel, but it seems that any perceptible acceleration time translates to the player’s mind as ”sloshy, unresponsive controls.” Never-mind that that is the way it works in real life… sometimes reality just isn’t real enough for video games.
Not fully rewarding the player
In my game, you race a timer and collect keys (while doing general damage to some poor sap’s house). I scored the player both on keys collected and damage done but emphasized the importance of keys by giving the player an implicit goal (e.g., “You found 8 of 12!”) However, I failed to reward the player for achieving my implicit goal! Sadly, it never crossed my mind that players would want some gratification for getting all 12 keys. It’s obvious now. It should be one of the commandments of game-creation–look for ways to reward the player. You can never reward them too much.
I had to watch new testers play my game in person before I realized how unintuitive my animated instruction screen was. The problems are clear to me now: I have arrows representing arrow keys, but they don’t really look like keys; I have “SPACE” written on a horizontal blob with the player’s character sitting next to a tool, but that doesn’t really communicate “hit space to use your active tool” like I had hoped. The instruction screen came late in my development process and after I had already used up my available fresh-to-the-game testers. I should have opted for simple text to explain the controls instead.
My final tool stack was:
- Clojurescript: [https://github.com/clojure/clojurescript]
- cljs-build: [https://github.com/emezeske/lein-cljsbuild]
- zynga/jukebox: [https://github.com/zynga/jukebox]
- Garage Band (iPad)
- Paper and a blue ball point pen
- Trello (to organize my thoughts): [http://www.trello.com]
- A very reasonable amount of sleep
Things I produced:
- My Game: http://50ply.com/ld23/
- My Timelapse
- This postmortem
- A new personal confidence that I can actually create fun games!
Ludum Dare 23 was a fantastic experience. I’m proud to say that I succeeded in my ultimate goal of making a game that I actually enjoy playing. Now I’m continuing to learn as the very talented LD community members evaluate my game and offer suggestions.