LD24 August 24–27, 2012

Clickable grid of 1.406 kilogames! And wallpapers!

I made a webpage where all 1.406 kilogames are arranged in one big grid, you can mouse over them to see titles/author, and you can click to go to the entry page for that game on ludumdare.com! With this many games I thought it’d be worth trying a different way to browse through them all.

CHECK IT OUT!

I’d like to do more to make browsing/rating games a bit less painful, so if you have some ideas, leave a comment!

I also kept up my tradition of making desktop wallpapers out of the games!

screenshots of all 1406 games

good luck finding yours

The wallpapers in various sizes:

Ludum Dare 24 Postmortem

Ludum Dare 24 started nearly a week ago, enough time to think it through and
write up the postmortem for “Literally: Earth Shaping”. This was my second LD
and overall I am very happy with how it progressed. The final result was not
much of a game this time, but I am much happier about the process than last time.

What went right

Base engine written before start of compo

I spent the week before this Ludum Dare refamilarise myself with Java and
learning LWJGL. I started the compo with an engine that could draw textured
sprites and play sounds. I could also present menus that produced satisfying
click sounds. This start spring boarded me forward at the start of the compo,it
really gave me a good boost considering the theme.

Pixen

I discovered Pixen in the aftermath of LD22. It is probably the best dedicated
pixel art tools on OS X. Pixen is quite limited in its ability, as an example
you cant set a colour scheme to use across multiple files. In the end it is a really
useful tool.

What went wrong

Integer Positions

So I built my own engine and it was a really good idea. There was one issue that
cropped up over and over again though. I used integers to store the location of
Entity’s. This made life really difficult when it came to moving things around
the screen. If anything hit (0,0) then it would never move again.

Overall my use of types in java was a constant issue. I used floats all over the
place. In reality floats should have been a cast down from a double in the
OpenGL calls and not used anywhere else. Java is silent about casting between
faults in certain cases, this coupled with the pressure of the compo made life
a night mare.

Update your tools

While Pixen was a brilliant tool for the art I needed it was not at the latest
version until about halfway into the compo. I has a crash just after finishing
the “Play” button and lost about an hour of work. When this happened I decided
to find and install any pixen updates. The updated pixen was a mile better and
I managed to created the play button in about 20 minutes. The lesson here is to
make sure your tools are up to date before the start, you will be able to work
a lot faster.

Sleep

In the 48 hours I had maybe 3 hours sleep. This is against the popular wisdom,
but I was good on my first LD and I wanted to see how this would go. Starting
straight out was a good idea, but I should have taken advantage of Saturday
night. Sleep is good for you.

Simple Mechanics

48 hours is really not enough time to think thoroughly through and implement
complex game mechanics. I have definitely learnt that lesson now, its just a
shame I had to use this LD to figure it out. I started with good yet complex
ideas, but instead of implementing just enough to get going I did the whole
thing in one fell swoop. If I had only included two or three of these ideas I
could have created much more of an accomplished game.

Sound creation

I really did not know how to use SFXR at the out set and that never really
improved. I also have no real skill in sound creation and so didn’t get around to
creating a sound track. Something to definitely fix for the next LD.

Version Control

I wish I had taken better advantage of version control and other tools. This
would have given me data to create some awesome graphs in the aftermath of
Ludum Dare.

How we turned a LD 23 failure, into a LD 24 success.

Our first Ludum Dare was LD 23 and from a first timer perspective it was success. But it was mostly a success because of the lessons it taught, not the final product. Thankfully, LD 24 was a huge success! Ancient Ruin has received mostly positive feedback and to me it was success, not just for the final product, but also for implementing the lessons we learned from LD 23 and using them for LD 24.

Here are the lessons we learned from our first LD, Honey heist, and how we implemented them into our LD 24 game Ancient Ruin.

Put in the hours

LD 23 Lesson Learned : We worked hard on LD 23, but we could have worked much harder. We wasted most of the second day and probably worked a maximum of 6 hours on any given day. This left a lot of work undone, most notably the controls.

LD 24 Lesson Implemented: This time around we probably put in 12+ a day. We got a lot more done and there was a bit less stress when it came down to crunch time because most of the assets were done and ready to go.

Start balancing the gameplay halfway through the last day

LD 23 Lesson Learned : The major complaint we had with Honey Heist was the controls. We knew this before hand, but we just left it to do later. Later never came. We were so busy and under so much stress under crunch time that there was no time to do this.

LD 24 Lesson Implemented: This time we had a discussion mid way through the last day to go over the gameplay and start tweaking it. Luckily we did this, because we ended up tweaking the gameplay right to the very end. Had we not done this we probably would have wasted time on features that weren’t as important.

Sacrifice perfectionism in favor of good enough 

LD 23 Lesson Learned : I wasted countless hours trying to make the art in Honey Heist perfect. This led to a lot of frustration and probably made the overall look of the game suffer.

LD 24 Lesson Implemented: This time around I decided to get the art to “good enough” and move on to the next thing. This kept frustration to a minimum, kept the work pace going and allowed me to get a lot more done. Once I have all the assets finished, I can always go back and improve upon it after.

Take breaks

LD 23 Lesson Learned : Working non-stop drove my frustration level through the roof. I remember being so frustrated working on the art the whole time. Then I realized I wasn’t taking breaks, which I normally do.

LD 24 Lesson Implemented: For Ancient Ruin, whenever frustration would set in, I would remember that its time to take a small break. Sometimes this even meant taking a break from one piece of work and working on another. This seemed to work out well as my frustration was pretty low and only came back towards the end when there was no time for breaks.

Now for the lessons learned from Ancient Ruin LD 24

Start working on the gameplay at the beginning of the last day

LD 24 Lesson Learned : Starting the gameplay halfway through the last day helped out a lot, but we still ended up working on it till the last second. Gameplay after all, in my opinion, is king.

Have all assets done before the last day

LD 24 Lesson Learned : Having this done will allow you to work on the gameplay on the last day. If you have time after, you can always add more.

You can get a lot more done in 3 days than you think!

LD 24 Lesson Learned : It’s amazing what you can accomplish when your motivated and have a deadline. This LD opened up my eyes to the fact that I could be working much harder and getting a lot more done. Even playing other peoples games amazes me of how much content can be created in 3 days.

I’m sure there are more lessons to be learned as I analyze the situation more, but for now these will do. I got to say, I’m happy that something like Ludum Dare exists. Not only is it a fun experience with a great comunity, but it can teach you some life lessons as well. I can’t wait for LD 25!

4

This entry was posted on Friday, August 31st, 2012 at 3:30 pm and is filed under LD #24. 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.

15 min Post-Mortem “Paprika Blue”

Eating my bagel sandwich on break at the cafe I wash dishes at.  Got 15 mins.

Preparation:  Prior to ludum dare I was working on a project Grand Law, where I learned several useful animation techniques which definitely became useful during LD.  Eugene and I planned several games before LD, it was high energy as we anticipated the weekend, none of those games got off the ground but we had channel our excitement somehow of working together again I suppose.  I remembered last LD, it took me 48 hrs to settle on a visual style, so I decided to try to pin one down before the compo, a visual style that hopefully would help set us apart.  Finding that visual style didn’t really happen, but I know I wanted to try something different with graphics, something that wouldn’t be tiled based like many games I’ve tried to make, and the first thing that came to mind was Aquaria.  We looked at the editor, and decided to make one of our own and design for Entropy was born.

Day 1:

I had my head against the wall still frustrated mulling over the design, was it going to pixel art or hi-res, nothing came out right except our initial painted background seen in the game.  I didn’t have the editor to play around with the whole day.  I felt fairly unproductive, knowing the rest of my team was working hard on their own stuff, music and the editor/engine.

Day 2:

Finally somewhere:

I think the tree was the initial asset to come out, and set the rest of the visual style down for the project.  The editor was available at this point, I gawked for an hour really happy about it, it wasn’t finished, but I could rotate and place images anywhere within it to get a feel for what I was going for.

Just some unused assets for the fox, eventually settling on the last one seen in the game.  Our initial idea for the story was a creature shunned by his peers, he evolved much slower, constantly being rejected, eventually surpassing them and winning their favor yadee dada.  never made it in the game.  You could say that our graphics were constantly evolving (???) that wasn’t really intention so however you want to quantify it.  I don’t think we really aimed to match the theme but to make the best possible game we could in 3 days, I don’t even know if we realistically aimed for the 72 hours.  I certainly didn’t.

Day 3

The big day, we were all tired, and in the last hour, honestly it was tired yip yip yay, not the same excitement as the last LD.  We made 4 levels in the span of 20 minutes before submitting.  We cut out 3 of the levels that we weren’t happy with.  I think part of the reason we weren’t so exubherant this time, was because we knew we had a lot more work to do.

And that’s where we are now, we’ve been constantly at work, recovering from the weekend, and pouring everything into building this game up.  We’re not quite there in seeing the complete picture, but it’s coming.  Eugene’s been adding some awesome features to the editor, like zooming, scaling, color/alpha effects.  I’ve been sitting in the backseat thinking mostly of design and drawing a few more assets haha design’s important okay!  Without the restriction of the weekend we can take this project any which way and I think its precisely that, that I’m struggling with this.

You can play Paprika Blue here:

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

Thanks for Plaaaaaayyyyiinnnng

-Keo

6

This entry was posted on Friday, August 31st, 2012 at 4:03 pm and is filed under LD #24. 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.

Post Mortem

I really understand the advice I’ve heard before of figuring out what you want to do before hand, and tailoring it to the theme once its announced. I still had no work on the game I ended up doing more then 18 hours in.

 

UI

I got the game functioning technically, all the game logic is there and win conditions work but the UI is awful. I know its awful because I didn’t really get to finish it. There is little feedback on what is actually going on and that is frustrating.

 

AI

I also never got a chance to add AI so its a hotseat game. This is probably going ot cut into the judgability a lot since judges won’t necessarily have someone to play with or be willing ot hotseat with themself.

 

Outside tools are useful

The tools section was very great. The pyxel tool helped me a lot with the images. It will also make upgrading the graphics easy.

 

so Figuring out what direction to go and how to do it was the biggest problem, but the tools section here on the LD site was very helpful once I got going.

 

I am slowly updating the LD entry as time allows with my post compo version here: https://dl.dropbox.com/u/61777182/Geomancy/WebPlayer/WebPlayer.html

500 years : Post Mortem

500 years is my first LD but also the first game Jam in which I manage to make the game in time. The game is basically a simulator in which there are 1-4 tribes on an island and depending on their profile (ex : friendly or aggressive), they shall interact with the other tribes differently. As the player, you can’t control a tribe. However, it is possible to unleash disasters “like a trolling god”.

You can find a link to my enty here!

Here’s a little diary of how the game was developed:

  • Day 1 :

I guess we can consider that day 1 started at 3 am when the theme was announced. I stayed up late until that time just to get a small idea before starting the game the next day. By the time I was to bed, I had 2 main game ideas. The first one being about some guy trying to go back in time to kill Darwin and prevent the invention of Evolution. The second idea was what later became my game.

I spent most of the first day trying to decide what idea to take. In the late afternoon, I decided to start working on the menu system since it would be the same no matter what I would later choose. It was only at the very end of the day, not too long before going to bed that I finally chose to do the simulation. My main argument being that it would probably be harder to make so It was perfect to do some experimentation.

  • Day 2 :

The second day was probably the most unproductive day of the Jam. That day, I spent most of the time working on the AI for the tribes. It was the first time I had tried to program an AI (but that’s not an excuse) and the program I used (Game Maker 8.1) was making things very difficult at some moments. Game Maker is a wonderful program when it comes to getting started in game making, but for me it was quite frustrating because objects are not handled the way they are in other languages. So my code ended up being very messy.

By the end of the day, the AI was working but with a few bugs, and all the sprites were done. I had to choose between submitting the game as it was and make it for the compo, or work on it an extra day for the Jam. In the end, I chose the Jam because there was a lot of polishing that could be done, and also I hadn’t implemented as many features as I wanted.

  • Day 3 :

On the last day, I spent a bit of time working on the AI some more and managed to remove several bugs. The rest of the time was dedicated to programming several features I wanted to see in the game (ex : disasters, pop messages, sounds). I had to change the link to my submission a couple times for correcting typing mistakes. My last edition almost killed me. Only 30 minutes were left and I had to refresh the page many times before I could do anything. But in the end, I somehw managed to get it done.

 

The good :

– the AI : Even though it’s the first time I did such complexe AI and there is huge room for improvement, I quite satisfied of the result.

-the Menu : It’s probably not amazing but I think it’s good enoughfor the little time I spent on it.

The bad :

– The game may be a little fun at the beginning. You can troll the tribes as much as you want but it quickly gets redundant.

– When I think about it there isn’t much that you can actually do. It lacks features.

-Even when looking close, It’s very hard to say if a human is a worker or a soldier in the game.

The ugly :

– The graphics : I spent probably 1% of the time on them. The only sprite I think is almost satisfying is that tile set for the island. And that’s just because I randomly tried some filters on GIMP.

 

Conclusion :

I guess that for a first LD, I’m quite satisfied because I could at least release something. There is still a lot of work that can be done.

I’ve had lot’s of fun making ‘500 years’ and I hope you’ll have as much fun playing it.

 

PS : I have decided to start working on a post-compo submission. So far, I’ve done maybe half of what I want to add.

I’ve got an idea: The Quest!

So the plan is :
1. Find a hilarious picture.
2. Think of a comment to this pictire
3. Play the game and rate (and/or put comment)
4. Tweet/PM/mail/comment me that combo with tag/subject “LD24CQ” !!

There is quite big possibility for that this pic will be ingame signed with your nick.

How about that ? Huh ?:D

OK, a REAL lag fix

What a pain it is to fix this lag… I’m not a very good programmer, so my brain hurts from this trial and error of fixing this annoying lag in my game, making it impossible for everyone for getting to the end. Alright, there are no more particles in the blaster! I hope it works alright now…

For those of you who played it and never reached the end, and want to reach it, you can play here (the end is not even worth getting, it’s just a last minute cutscene)

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

 i’m a lagbot

LD24 – week 2 challenge

I challenge all of you to take the first steps now for October.

Be preemptive !

Right now you did it! You have your game up for LD24 and are under judgement by the community.

Right now you are getting great feedback on your effort and your prize.

While the code is fresh in your head and you already have the gears working start taking the October challenge early.

Maybe not the whole game ready for market, but how about tackle some of the small bugs and features you really wanted to get in and know need to be there in that game.

Create a new Post Compo Branch tonight. Right now. Fix 1 thing add 1 feature. do it before October and get a list ready for then. I have played so many games if I had the money and you were charging me I would be broke.

A lot of you turned in gold.. or at least you turned in lead with a chance. Take that chance. Start now.

-TigerJ

6

This entry was posted on Friday, August 31st, 2012 at 8:42 pm and is filed under LD #24. 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.

Postmortem: Planetary Overseer

Well, it seems like a good time for a postmortem, having gotten a little feedback.

What Went Well

  1. Originality, theme-connection. The product I made this time is fairly unique from ones I’ve made previously: this game is fully based on the theme and is very original. I’m proud of this and I think it results from a pretty simple rule I try to follow and think that, this time around, I achieved: The game must relate to the theme even before any assets are made.
  2. Respect for Evolution’s Elegance. This is a bit of an odd thing to have come out of a game jam, but I have a new respect for how awesome evolution is. My code has nothing in it that says a whole species should be able to gain new, positive traits if they are introduced via mutation, but that happens. It was really rewarding to, after a few hours of work, be able to see a beloved theory in action.
  3. More confidence. I had only one day for this dare, but it turned out to be one of my favorite experiences with the Ludum Dare. Also, what I made is genuinely something from my own imagination, not a copy of anything else. Really, that’s why I love this competition: I get to have an idea then realize it.

What Didn’t

  1. Graphics. I cannot draw fish. At least, in this amount of time, I can’t. I probably should learn something more about making graphics some day, but it’s not really what I’m passionate about. In general, at the end, I felt I’d done something cool, but didn’t really want to polish, therefore, I didn’t polish.
  2. Goal of Gameplay. I think that what I have is a neat toy. You can play around with it and try things out, but the goal isn’t very strong – making the most mutations doesn’t really give the depth of gameplay I wanted and was really just a thing of “I don’t know what to do. I don’t have time to figure it out.” I still don’t know an appropriate goal.
  3. Focus. I wasn’t at all focused this time around. I think this was really mostly a thing of circumstance though; I wasn’t able to start until about the midpoint of the competition, and even then, I’d been away from home for a while, so there were other things I wanted to do (and then I did them). I felt sort of like I couldn’t do more at the end, even though I could see areas for improvement that I could accomplish before time was up.

Vol

Just realised I have forgot to do a “I did it” post so here it is, delayed and all.
You can check out the game here:
Vol on Ludum Dare

This was my second LD and I’m pretty happy with how everything turned out. I went in wanting to make something that feels, looks, and sounds a little different than normal (or just crazy) and I think I did pretty well with that.

I also wanted to focus more on presentation this time, and unfortunately I had to make the decision of sticking with the theme more or polishing what was already there. I chose the latter though I’m happy I did.

Oh and here’s the time-lapse:

Until the next LD!

~ Thomas

Tags: compo, final, ld24, time lapse, time-laspe, timelapse, unity3d

PostMortem — Robot Panic

If you haven’t yet played Robot Panic, you can find it here.

 

The Good:

Map graphics

The graphics on the tiles of the map looked better than had initially hoped. It was my first time using an atlas for the entire terrain, and the actual graphics turned out well as well. The character graphics are another story all together. If there i something I would change it would be to add more diversity to the tiles and textures, even more tile types, which leads me to my next point.

The Gameplay

The games has pretty much the same gameplay as most other platformers, but it meshed nicely with the theme without grinding too many gears. I now wish I had explained it better in-game, though, as a few people were confused about certain things.

The Level Design

I like the first and only (for now) level layout. The (notedly Metroid-like) layout is the part of the game that got the most compliments. Though some players didn’t always know exactly where to go, it was a very simple level with challenging puzzles. I don’t know if I made it too difficult or not, but I prefer difficult games. The level was probably my subconscious telling me that I have played too much I Wanna Be the Guy.

 

The Bad:

The Physics and Bugs


These are the same category because almost every bug in the game is physics related. Thinking back on it I should have relied less upon the built in physics engine and more on making my character controller do exactly what it was supposed to. Bugs are like hydras. Whenever you destroy one, two more take its place. Most notably, the worst bug in the game is the fact that the character’s responsiveness is somewhat spotty when it comes to jumping. The most annoying bug is the fact that players get stuck on walls. This bug was created in an attempt to fix a physics bug where too much force was applied when holding the move buttons and gravity had no effect on the character.

The Music

I’m happy using Moonlight Sonata, but it doesn’t fit the theme of the game. It was chosen because the game’s difficulty was bound to make people angry, and the music would calm them down. (That’s the reason I came up one to hide the fact that the music is only there because it’s public domain). If I had more time I may have composed something myself that would be more fitting to the theme.

 

The Ugly:

The Character Graphics

I know what’s crossing your minds, and is even still crossing mine: “Come on! An unanimated sphere? REALLY?”

The character was not originally a sphere, nor was it unanimated. It was a quite nice looking robot made by my artist, but something was wrong with the rig and it didn’t animate very well in the engine. Take a look here. In the end we counted our losses after spending a while on the problem and put in a sphere. A low-poly, unanimated sphere. If the animation had worked, the game would look so much better. Too bad.

Iterate – Post-mortem Backgrounds.

First post-mortem about our game Iterate.

You can see below the backgrounds graphic researches – just one is currently integrated to the game. The others will be soon for the V2 (OFF LD)!

Sorry for our bad English speaking. Next time we’ll show you all designs, sprites and FXs!
Rate for us!

DOWNLOAD Iterate v.1

The blog of the artist.

Super Difficult Charles Darwin? – Post mortem

The game: http://www.ludumdare.com/compo/ludum-dare-24/?action=preview&uid=8333

 

As I read the comments for my entry it was clear one issue was constantly being highlighted: level of difficulty.

I have distilled the main perspectives I’ve gotten in the feedback into 2 main opinions:

  • “It was too difficult, and I would have enjoyed the game more if it wasn’t as difficult”
  • “It was difficult, but it was fun so I played anyway”

Now at a glance it would seem the solution is simple, make it less difficult so everyone can enjoy the game!
However I have some experience and logic to suggest difficulty is actually very crucial to the genre I picked for this LD.

WHY IS THIS GAME SO HARD? 

This is actually 2 good questions:

  • For what design reason is this game so hard?
  • Are the right things making the game hard?

I made Super Charles Darwin with a very specific type of 8bit/16bit console era game type in mind, just like the title suggests.
In these type of games such as the Megaman and Contra -series the design logic of the difficulty is quite simple:

  • Memorization: enemy placements are constant, environment is deterministic
  • Timing: right moves at the right time, to me playing a Megaman 9 level resembles a rhythm game surprisingly a lot.
  • Strategy: alternate routes, risk/reward tradeoffs for upgrades

So we can see that the amount of “live decisions” in these games is actually fairly small, since you have a reasonable expectations of everything being the same each playthrough.
The central challenge instead lies in being able to piece together one of the right sequences from the numerous trial and errors and then being able to execute on it. This is the reason why save states for example eliminate most of the challenge from these games. It is not that hard to memorize a short sequence of events and the right timing pattern for it. It only becames a challenge when you have to remember everything and a long pattern of events.

UPSIDES

So what does a designer get by alienating their audience with this nonsense?

  • player can experience a true sense of achievement, overcoming what indeed at the start was an impossible obstacle 
  • high stakes, having limited checkpoints/lives increases the emotional price of each playsession, creating memorable moments
  • player investment, well made hard game is nearly never boring
SO YOU DID ALL OF THE ABOVE? Most likely not. My main concern was trying to make the action fun enough that dying repeatedly wouldn’t deter the player from trying again. I also originally wanted to implement a traditional lives system, but settled instead on having the player always being able to start at the beginning of the current level, as I don’t want to take the earned progression away. All in all, I’m fairly sure that among the games I’ve done for jams etc. this one has the most people playing it all the way through. And similarly probably the most number of people quitting on the first parts of the first level. As one final note I thought the music and sound was very important in keeping the “mood up” in a game where you inevitably die tons of times. So I actually cut some time from content to make the audio as good as I could in the time I had.

EOT

Evolution Curmudgeon

Well, while still in my work trip, I managed to set aside sometime to rate some games.

Given that I’m currently on a linux netbook with a tiny screen, the amount of games that I can try out is rather limited, even if you don’t account for work and things like that.

Nevertheless, I managed to rate about 10 games today, and I want to highlight this one:

Social Evolution

Social evolution is a “pick up the right items” kind of game, where bad and good upgrades fall from the right side of the screen, and you must pick up the good ones. The gameplay and mechanics are rather simplistic, but the art style of the game was very remarkable. I recommend playing this game to realize what kind of cool graphics you can make over a simple pixel base.

If you want me to rate your game (a comment is always attached!) feel free to comment below! If your game is windows only, it will take about 10 days before I can rate (when I get back from my trip), but I promise I will!

Cheers, and thanks for all the games.

Tags: rant, reviews

Comments

Cake&Code
01. Sep 2012 · 04:32 UTC
Sweet spotlight! We’ll definitely be sure to check it out, it looks interesting.
Jorjon
02. Sep 2012 · 03:49 UTC
Wow! I didn’t notice this post. Thank you very much :)

Shit! It’s evolving Post-Mortem

Try the Web-Version!

This was the first time ever for me to successfully complete a Ludum Dare. I have tried 4 times before, but never was able to finish. The reasons varied from other real-life distractions and no good ideas to simple exhaustion. And also this time it felt the whole time like I will not be able to finish it or submit something really bad not even close to the theme. But with a week now to look back, I have to say that I am pretty happy with the result. The story and the feel to the game is more then I could have expected to develop in about 35 hours (including breaks but not the sleep).

Already a few days before the LD I decided to go with a ray-casting-based 3D game in a Wolfenstein-like fashion if I would somehow get the game to match the theme in some way. So, I briefly read an article on ray-casting to get the idea and the math straight …at least in theory. Also, I wanted to do 3D but the problem is that you can easily get caught in the art-trap: doing highly polished graphics that take up a lot of time. That’s why I love pixel-art: It has a great visual style but (depending on the resolution) requires not so much effort. Well, that sounds wrong; great pixel art takes a lot of time but you know what I mean: You can have a visually pleasant game with rather simple and fast pixel art. Would I have used OpenGL, you often get lost in detail because you can display a lot of detail (one of the previous failed attempts made me realize this).

Result of day one: basics renderer including texturing are working.

Come the announcement of the theme, I was sure that I made the wrong bet because I could not immediatly think of a good gameplay idea. I decided to proceed with implementing the raycasting-based renderer and postpone this problem to a later point in time. This lead to me spending basically 1.5 days of the time on implementing  the renderer; i.e. rendering perspectively correct walls and sprites, getting the math straight and implementing all edge-cases. I was sure that I would not be able to finish this time. Espacially because thinking straight and doing the math got hard after one day and I struggled a long time to get the textureing and sprite-rendering right. And I also discovered a bugs that got my rendering spiral out of control once I went out of the defined bounds of the world. But I learned a lot from these two things:

Result of day 1.5: Everything is almost finished (main-menu, story, weapon animation, level, sound) except the sprite-rendering

  1. Having to tackle a “hard” problem (it was hard for me at that point) actually made me get frustrated and push the problem aside a lot of times. I did not get the sprite rendering done before 4-5 hours in to the end of the compo. This lead to the situation that I was doing everything game-related that I usually have the least fun with: doing menus, sound, story, optimizing the mechanics, nice graphical gimmicks. In the end: improving the overall atmosphere of the game. I did all of this in quiet fast succession. In between I always tried to tackle the hard problem but failed or was not motivated to do it. So, 4 hours to the deadline I have a “polished” game that was only missing one core element: the enemies; because I had trouble getting the sprite rendering right. Then I got back to the problem and was so motivated to get this finally done because it was the only thing left for me to release an actually pleasant game for a 48h compo. And I finally cracked it.
  2. I realized that you sometimes get blinded by problems that are no actual problems you need to care about. As said, the rendering went haywire once I exited the bounds of the game world. Some trigonometry where I though there is a symmetry or math itself takes care of it but actually wasn’t. After struggling with it for an hour I came to the realization that the player will never be exiting the game world. Why would he? Per definition he keeps in the game world. So, I just implemented the checking that the player cannot run past the bounds of the world and everything was fine. This is not the solution that makes the math-addict in me happy because I know there is some wrong thinking in my calculations but for all practical purposes it does not matter.

Game development is almost over; the sprites animations of the blobs are finally rendered correctly.

So, actually everything went good in the end. Also the story was ok and somewhat in line with the theme. I guess you can always push a shooter in  the direction of a theme if you want but I was not happy at first with going this easy road. But as I did not have any good gameplay ideas, I got pragmatic and am quiet happy now that I did. Otherwise, it would have been another failed LD with the excuse of having no good ideas.

Once the sprite-rendering was working, the low-resolution art style again came to my rescue: the blob with it’s two animation frames was done in zero time and I could focus on improving the feel of the gameplay. What sounds are played when the blob get’s hit? How many times do I have to hit the blob? When is it getting to hard/easy? How many blobs and where are they located in the level?

I actually did not spend too much time on this questions because there was still one final thing that I never did before (due to always dropping out)  but actually turned out easy: Actually releasing the game. A quick question in the IRC revealed that most people use dropbox to host the download, so I went with that too. Especially because you can also host a static website (which I did not know). So, packaging the game as a Java applet to run in the browser should be an easy task in theory… Also in practice: I never before developed a Java Applet (maybe once in a Java course at university) but was hoping that it would be easy as my game was based on AWT as the window system.  And I was not going to be disappointed: Embedding the game-frame within a JApplet and done. It was so easy, I was impressed. While doing this I actually lost track of time and noticed while writing my final progress post that I was minutes away from the deadline. I guess it was because I really wanted to package the game as a web-version to make it as easy as possible for everyone to try it. No download and bad feeling to start some random executable on your local system. (Side note: I still don’t understand why not more people make this a higher priority in the choice of their dev tools/language. The exposure of the game gets so much better.)

Looking back, I am happy to have finished the compo with a game I feel is not too bad for 48 hours and me knowing that I can do this; there is no excuse anymore to drop out of future LDs.

If you are interested, I also made a timelapse:

Evoquarium – A Post Mortem Analysis of Design and Development

Evoquarium Title

 

 

 

Before now, I had never participated in Ludum Dare despite hearing so many good things about it, especially over the years I have been following Notch’s development of Minecraft.  After finally giving in to myself at the last minute, I decided to give it a go and do the best I could.  I had a great overall experience getting back into game development after quite a long hiatus (over a year) of developing various tools, which are mostly for League of Legends players, and other GUI-based projects.  The 48 hours I spent making Evoquarium were filled with some of the most fun, tense, and stressful moments I have had in quite a while.  Nevertheless, I would give Ludum Dare a 10/10, would do again.

The Game

For those who haven’t played the game yet, you can find it here.  It’s an arcade-style asteroids-type shooter where you evolve yourself with dropped “evos” to change various aspects of yourself in order to survive.

I have also continued development to greatly improve what I finished with at the end of the competition.  You can find this new version and and watch for new updates coming out daily on my website.

The Design

When initially designing the game, I had went through a couple ideas before setting on the current one.  The first idea, which is still one of my favorites, was to make a game based around some concepts in Flatland, specifically the concept of the number of sides on a shape.  The idea was to continuously evolve the world around to a more “perfect” state, which means increasing the number of sides a certain shape has, an idea core to the social structure of Flatland.  The enemies were to be more “perfect” shapes than you, while your goal would be to break through the existing social barriers by evolving yourself and the environment around you to be equal or more perfect than the current set of enemies, possibly even to the point of evolving out of the confines of the 2D space and completely shattering the social shackles of living in a world like Flatland.

But alas, I decided the design was waaaaay too ambitious for 48 hours as well as being unable to come up with core mechanics, such as the evolution of the environment aspect, and continued on my idea generation to come up with a much simpler design.  I eventually settled on the current and very basic design: you run around a map, shoot enemies, and pick up their dropped evos to evolve yourself to the traits the killed enemy had while living.  In some ways, the current design reflects some of my original ideas.  Most prominently, you are a simple shape with a certain number of sides who travels through a world and evolves by killing enemies.  The basic mechanic for evolution of your character also carried over from my original idea.  However, contrary to the thrown out ideas, there are a couple that I came up with specifically for the new design, although not all of them got added or finished in the 48-hour competition version.

The largest idea I wanted to focus on is exploration.  I have always found the exploration of large and new worlds to be extremely fascinating and full of excitement (one reason why I am so passionate about space and space exploration).  In regards to game design, I wanted to encourage exploration of gigantic randomly and dynamically generated maps, and where each time you start up the game you get a new experience.  My current focus of development is to create regions of the map that may affect your character in some way (such as decreasing movement speed or damaging over time) as well as generating enemies that have some specific trait in common (such as fast movement, health, shooting speed, etc.).  Each region would also contain a mini-boss at the center (which is actually incredibly hard to find) to hopefully give a few mid-point goals for the player before facing the still unknown final boss.

I also wanted to give the game a somewhat retro arcade feel.  The gameplay is very basic, top-down, and feels a lot like Asteroids (which I played on my calculator in high school ALL THE TIME).  The graphics are also very simple: they’re pixelated and contain a lot of different colors, although keeping each toned down to keep the feeling a little modern.  The style did cause some problems during development, which I’ll discuss later on.  The audio was also an important element to the style of the game.  Although I used the tools everyone else used for sound effects (in my case Bfxr), I feel they fit really well with the rest of the design.  For the music, I wanted to emphasize the feeling of being only a small entity in the large world, so I found a piece of deep and ominous music that I think perfectly fit what I was going for (note: I did not make the music, I found it on this wonderful website).

The Development

To develop Evoquarium, I decided against the use of my own custom LWJGL-based engine in favor of Slick2D.  Before the competition, I had only barely used Slick once before abandoning it to create my own engine (which was a hard decision to make), so I started out knowing almost nothing about the specifics on how to use Slick.  Although this obvious drawback slowed down development in the beginning, I was eventually able to get going rather quickly with only a few minor hiccups down the road.

Because I am a programmer, I have almost no artistic abilities with images or sounds, so when developing games, I always lack in the all-important artistic categories.  With Evoquarium, however, I decided to try and overcome my artistic limits and create something with as little art as possible.  The final competition build of the game only used three images, sized 2×2, 4×4, and 12×12, and were used for the two different sizes of pickups and the bullets.  The character rendering, which uses no external sprites or textures, was probably the most time-consuming part in development.

The character rendering system was designed to create a n-sided shape with consistent pixelation at any size without the use of external textures or sprites.  The system works by using Slick’s primitive rendering methods to draw to an off-screen image, which is then resized 2x and rendered to the screen.  Although a very simple idea, implementation took much longer than expected.  Not knowing exactly how the continuous rendering of primitives would affect performance, I originally developed the system to create and store pre-rendered off-screen images for the player and each enemy.  Each entity in turn uses two different images, one for the filled portion of the character and one for the outline.  It is with this creation and storage of multiple off-screen images that all my problems were created.  I quickly learned that the creation of an off-screen image (FBO) takes a good deal of time, even for small images.  My solution was to create a “bank” of these images before the game starts and continuously recycle their use for storing shape image data.  This solution is present in the competition version of the game, which is very noticeable by the long load time.  It was only after the competition ended that I realized the system only needed one off-screen image which could be drawn two by the player and each enemy at render time.  This fix to the system greatly decreased the loading time of the game and the possibility of a number of serious bugs and memory issues down the road.

After releasing the game, I feel that I was not able to accomplish what I had originally planned for the game, but did a fairly good job for the 48 hours I was given;  never got to make a good non-developer looking UI nor did I get the chance to expand on the idea of exploration, but everything else looks great!  I have gotten great feedback and have fixed a lot of the problems people were having: turning speed too high, attack sound effect volume too high, etc.  I look forward to getting even more feedback on how I can improve this game and any others I may attempt to make in the future!

The Lessons Learned

I learned quite a few things from this experience, both in game design and programming in general.  Here’s a short list of some of those lessons:

  1. Come up with a bunch of different ideas and weed out the ones that are too complicated for the time given.
  2. Learn the framework or library you are using before you start development.  I spent the bulk of the first night getting used to using Slick, which could have been avoided.
  3. It’s probably better to cut back on some of the prettification to focus on developing gameplay to a better state.
  4. Lern 2 draw

I can’t wait to make another game for the next Ludum Dare in December! :)

Infected Cell – Post Mortem

Infected Cell is my first LD, i have previously entered 2 MLDs, and have gathered it is  expected to do a Post Mortem. The game is a basic Shoot em’ Up, in which you play as a cell trying to help apes evolve into humans. You can buy a few upgrades with DNA collected from killed enemies.

Entry Link

 

Summary

I stayed up until the theme was announced, laid down some base code for rendering and went to bed a hour or so after the theme was announced. I set alarm and woke up early, 7-8 hours later, I was set and ready, I decided on a Binding Of Isaac, type Shoot em’ Up. I spent a long time with a black screen, a white square you controlled, blue square bullets and red square enemies. I then got to work on most of the art, I had already planned the entire game, so i drew everything I needed. I added the background and started on the bosses, I had the basic system with one boss after the next. I started work on new non-Boss mobs, then added Sound FX using sfxr, and made them flash when hit. I went to bed late and then couldn’t continue until late afternoon as I had family round. With only 7 hours left, I started work on some music, then menus and levels. Spent a lot of time fleshing it out into a full game, and then, submitted it.

 

Good

I finished it even though I spent only about 12-13 hours on it

The graphics and gameplay and fun

It’s a complete game with music and sound fx

 

Bad

The upgrade system is bad and hard too tell how much DNA you need

The AI, I said to myself I would get back to it, but never did

The music loop, it’s too short and a bit repetetive

 

Overall

A good first entry, a few bugs for Mac OS X, but overall good and constructive feedback. Pretty happy with how it turned out :)

 

Complexitivity: My game’s biggest flaw

Try out the game and rate it here.

The past week has been great. I managed to gather a lot of really helpful criticisms and suggestions about Complexitivity. This gave me insight of what the game’s strengths are and where it falls short.

The biggest flaw that seems to be keeping the game from being great is its low lasting appeal.

“It’s fun for awhile”

I seem to get this often just like in my previous LD attempt. I always manage to come up with a fun core mechanic but fail to sustain it for a long time. Sure there were those who enjoyed it and played it for a few times, but according to the statistics, some just played it once and then moved on.

As can be seen above, there were those who played the game a couple of times. Some were very skilled that they don’t need more than 4 tries to get the top positions.

From what I learned above, it is the high score that motivates more playthroughs.  I believe, however, that this is not enough as noThere should be something else that should hook the players.

What is my solution? I’m not sure yet. But at least I know now what to improve upon on my post-compo build.

Comments

02. Sep 2012 · 05:58 UTC
I had fun playing during the competition in a mode before you had the level in, where getting the power-up was all you could do to repair the stage. When I played again with the levels it kinda seemed like it would keep going for too long before it became difficult. I think that’s the main issue… the game isn’t hard enough.

Post-mortem with the most-mortem

It’s always fun when LD time comes around. I stop what I’m doing and start looking at all the various new languages and frameworks out there, and of course I feel the tug. Clojure had its womanly grasp on me for a while. Then I was heart-struck by a Monkey. CoffeeScript beckoned with its smooth curves and warmness.

But I was pissed this time because I didn’t finish my last entry for Tiny Worlds. And I had a great idea for that theme, with an interactive fiction about an experiment with nano bots. If you didn’t get the experiment under control, it would lead to the destruction of the whole planet. But I just couldn’t get to the finish line with TADS 3, or at least with my knowledge of it. Spent too much time just trying to figure out how to do things and looking stuff up.

So for this compo I was determined to create the decent interactive fiction game I couldn’t last time. So I went back to a language I was familiar with, Inform 7, the language I had used to make a crappy fiction game maybe 4-5 competitions ago. This time the week before I read and worked through the only book available on the subject, Creating Interactive Fiction with Inform 7. In retrospect, that worked out well, because though you can build things with just knowing pieces of a language, it is really helpful to at least know about all of the parts of a language.

For instance, Inform 7 had this concept of scenes that the book really didn’t touch on until the end, but it was a critical part of my game and allowed me to make it much more narrative than it would have been otherwise. There are separate chapters in my game and the state of things changes heavily between them, creating a tight narrative focus.

So to make a long story short I felt Erebus and the Terror came out pretty well. It was my best IF by far. I knew how to add the synonyms to keep people from getting too frustrated and I wrote in enough actions that people were surprised how well the parser could follow them.

It was not perfect though. After I laid out all of the rooms, I got sidetracked with implementing ship directions, ie, port, starboard, etc. But I ran into a bug with it and finally I realized I was as confused as heck with the directions and so would everyone else probably. So I just tossed the concept and I’m sooo glad I did.

I would definitely use Inform 7 again. In fact, I might go back and port what I have of my Tiny Worlds entry to see if I can finish it.

If you like survival horror or science fiction, you might want to give it a try.

Erebus and the Terror

UPDATE:

I wanted to mention one more thing because I think I glossed over the most important thing I gleaned from this LD. That is that out of failure can come success. My failure to finish the IF game in ld23 was direct motivation for my success in ld24. I switched back to a language I had more success with, and I was determined to be more prepared so I invested in the purchase of a book and I spent a week working through that book before the ld. There’s no way my entry would have been as well done without having taken these steps of preparation. And there’s no way I would have bothered to do that if I had not failed at ld23. So take note in that, and if you failed in ld24, use that as motivation for ld25. Carry that failure with you and I guarantee that you will be more prepared and have more success as I did. I think it’s true that we really learn the most from our failures, if we open ourselves up to them and embrace them.