The source code is released under the terms of the GPL v3.
The assets (meshes, textures etc) are not released under any particular license. Unless mentioned otherwise on their respective source websites stated in the credits, you are not allowed to use them.
If you’d like to use them anyway, feel free to contact me!
Disclaimer: The project was for a university course. Due to time constraints and that not being a requirement, the code is not well documented nor does the documentation fit the C# standards.
If you’re reading this, chances are that you are developing games yourself. If that’s the case, you might want to take a look (and join!) #onegameamonth. It’s a very interesting challenge/experiment which kind of gamifies the rapid game creation process. Don’t worry, you can still post a game for January and February, and if you participated in a jam (such as the Global Game Jam), you probably have some already!
For me it probably won’t be too hard (after all I’m organizing a monthly jam in addition to all of my usual projects), but there are some interesting achievements that I might aim for – finally selling a game, for example. I’ve planned this for some time now, but interestingly this “achievement” thing actually adds a little urgency to it.
Anyway, #onegameamonth looks exciting. Check it out and join me!
I’d like to share two videos with you! The first one is the video I just added to my blog post about The Fox & The Fish, presenting the game and the backstory:
The second one is the february result presentation video from my very own Berlin Mini Game Jam:
I’m always amazed with what the other participants come up in such a short time! If you are living in or near Berlin, you definitely have to join us for one of the jams. We’re doing monthly 8 hour game jams about themes we vote on democratically. It’s quite relaxed, no competition going on, and a lot of fun. Also it’s not just for programmers (as some people seem to think) – we are jamming with all the disciplines, from artists to game designers to musicians, and get all kinds of results. So far we had: Digital prototypes, board games, card games, physical games, interactive fiction and pure concepts. And it’s getting quite popular lately – last jam we had over 35 participants. Youngest one was 9 years, making a game all on his own with Kodu!
If you’d like to check us out, here’s where you might want to go:
I thought it’s time to write a postmortem for my Ludum Dare 25 entry. For those who haven’t seen my game yet, you can find it by clicking on one of these conveniently placed handcrafted icons:
And now without further ado, here we go:
Some things went wrong
Yup, I’ll make that the first section. I think the game turned out pretty well all in all, so I’ll let the best come last!
Not everything went right though. First and foremost: It took me hours and hours to get motivated. Motivation is my biggest problem when I work alone. I’m not too good with game design, and often I don’t see if a game can be great before it becomes great – which seldom happens in the first few hours. There are many moments on the first day where I wanted to give up. What helped me was to remember that I’ve felt this way before with other projects and they turned out great! And now I have another one of those.
What didn’t help either is that I have no definitive base code library, I extracted my base code from another project and had to delete stuff that doesn’t fit. And then post it here. It takes time, and I don’t feel too good about it as it goes a bit against the Ludum Dare spirit. I’ll take care of that soon and will have one for the next LD!
Unsurprisingly, the clock wasn’t kind to me. Two of the levels were created in 10 minutes before the deadline. The first level is my “easy” test level, and the fourth level is my “hard” test level. I didn’t even have time to test the two in between. The third level works quite well, the second is awful but at least it’s beatable in about 1 1/2 minutes…
The music doesn’t sound stealthy at all. I am no musician, so this is no surprise. I’m not sure if I want to put enough energy in this to get better just for the LDs, so I guess I’ll just have to deal with that. I should have added an option to turn it off though.
Some things went right
Probably the most important thing: I wrote a to-do list before I started. This is so incredibly helpful and I hope all of you are doing it. For those who are not, here are the benefits of doing it:
You think about the code design along the way. It’s not as exhausting, restricting and time intensive as doing a full-blown software design and it still gives you a general sense of what you need.
You can always look how much you still have to do and how you’re doing progress-wise.
Most importantly: It keeps you from digressing. At least that’s what it does for me – every time I feel like I’m lacking clear directions, I check my to-do list. Works without fail.
I had a level editor at hand. Mind you, it’s nothing fancy – it couldn’t be easier actually:
Yup, it’s just TextPad – with an XML file, shown with a slightly modified version of the Laser Systems font. It’s dead easy to parse. I’ll surly have something fancier in the future when I’m more established with games that actually need an editor, but for now its service was perfect.
It was 10 hours before the deadline. There was no time to be wasted. Yet I was idle browsing the FlashPunk forum without anything specific to look for. And guess what I found: TileLighting [1.0.1], made 6 days before the Ludum Dare. On an impulse, I spent 2 hours to integrate it. Here is the result:
Is there are lesson to be learned from that? I have no idea. All I know is that it made the game SO much better – it basically gave the game one of its major mechanics.
Speaking of major mechanics, I was 8 hours before the deadline and I had to decide which single feature on my huge to do list I wanted to implement – all others were to be discarded. I decided on lock-picking, and it turned out great. After the light became such an essential tool in the game, I decided to link the lock-picking to the lighting level – just how it would be the case in real life: The more light you have, the easier it is to do something hard. This feature received the most praise in the comments which makes me pretty happy!
Another important thing was that I focused on what I can do best: Gameplay. I could’ve spent more time on the graphics, but then it still wouldn’t look good and be much less fun. I think the abstract graphics are working well for the time being.
Another good thing was that I inserted sound effects and music. They might not sound as well as in other games where the developers actually know what they are doing, but it’s still a vast improvement to silence! I think I did both in 1 1/2 hours. With 48 hours in total, there is no excuse not to add them.
Here’s one more on gameplay: Enemies don’t have to be intelligent, they just have to work and be fun. I thought about implementing pathfinding, but took a far easier route in the end and I fare just as well:
Enemies just patrol a straight line.
When they hit a wall, they go left or right.
When they scrape a wall and find an opening, sometimes they enter it.
An enemy that spots a player goes to where he saw him last, then follows the player’s trail a few seconds:
And yup, that’s it. Just going straight for a point, then following a trail the player leaves. It’s was rather easy to make and is a lot of fun to play against!
I have no idea how much impact the fact that I made a gameplay video had, but I think it was a pretty good idea. It can give people a sense of the game if they don’t have enough time or incentive to play it and it can provide basic instructions for those who don’t like to read and can’t figure it out by just playing. It’s not hard to make, it doesn’t take much time and you can do it after the deadline: You should definitely make one too!
Some things were learned
A few lessons learned/tips:
Don’t like the theme? Neither did I. Deal with it! You can still make a fun game. It’s not like you have to design your whole game around it. Sure, that would be cool – but having a game that will get 1/5 in the Theme rating is still better than having no game at all because you gave up before you even started.
Keep calm and carry on: Never give up while there is still time! Maybe the game isn’t great now and you don’t have any idea how to improve it, but if you carry on, inspiration will hit.
A to-do list helps to keep you on track. It also helps with the design. And tells you were you stand progress-wise. Write one before you start developing.
Focus on what you do best. For me that’s gameplay, and that’s why my game isn’t as pretty to look at as other games, but it’s a lot of fun.
Add sound effects and music. Even if you’re not good at it, I guarantee that your game will feel FAR better with them, and with good tools, it won’t take you long to make and insert it either. (In case of doubt, just add an option to turn off the music.)
Sleep. Yeah, 48 hours isn’t much time, but if you’re fresh you work better. And who knows what kind of ideas you get when you’ll get your subconscious some time to rest?
Music for Programming is pretty cool. Especially when you’re having a hard time concentrating.
Some features were discarded
Are you interested in what I wanted to implement, but ran out of time to do? Here is a quick breakdown:
Level / Gameplay
Lasers
Treasure makes you slower
Treasure: Weight (can only carry certain amount)
Traps
Step-on mines
Bleeding
Alarm Level
Timer
Enemies
Enemies shoot
Equipment
Dynamite
Vanishing / Hidden after time
Hacking
EMP
I don’t want to iterate on these, just give a quick impression, but it’s such a pity that some of them are missing! I wanted to have lasers as obstacles, maybe switching on and off, traps to force you to have a higher light level (and maybe a trap disarming mini game), an alarm level slowly escalating difficulty when you’re seen, enemies shooting at you, and my favourite: Dynamite to break walls, but alerting every guard even if they can’t see you.
But well, you can only do so much in 48 hours. All in all, I’m pretty happy with the result. It’s a very good feeling I did that all on my own, and I am glad I participated!
Some thanks are offered
Thanks to the Ludum Dare organizers and to the great, great community! You guys have made a wonderful thing here and are doing all of this in your free time and it is so much appreciated! I cannot believe how many games were made, and how many kind comments I got on my game – I’ve seldom experienced such a friendly community. I had a great time and I will definitely participate again!
Do you have any questions I didn’t iterate on? I’ll happily answer them in the comments! And you could leave a little comment if you enjoyed reading this or what you rather wanted to read.
Apropos, one last thing: Thanks a lot for reading this postmortem! It hope you enjoyed it as much as I enjoyed writing it. (And it’s probably pretty obvious, but maybe you want to follow this other conveniently placed link and leave a comment there or here? Your feedback means a lot to me!)
The October Mini Game Jam was a lot of fun – 17 attending people in total! Whoo! Out of the available themes, I picked “Trap”. After some brainstorming, I combined it with a Match 3 concept, and finally arrived at:
Trap 3
Obviously I didn’t work with an artist this time.
It draws lots of inspiration from Triple Town: You get a tile, you place it somewhere, you get the next. When 3 of them match a so-called “recipe”, they merge into something stronger:
3 adjacent “person” become “people”, and 3 adjacent “people” become a “crowd”. They bring points per turn.
And then I added monsters. Monsters come in from the side every few turns, walk a step towards their next prey every time you place something, and later in the games, the monsters get stronger. Monsters have recipes too, for example:
If a spider and a person are adjacent to each other, they “merge” into a spider. So basically: it eats them. Same with spider and people.
Now if monsters could only eat people and cost you points, there wouldn’t be much of a point in that. And here comes the trapping mechanic, which is also a recipe:
Put two green blocks down, and if a spider walks next to it, the spider and the trap transform into nothing and give you points in the process. Same with snakes, only that you first need to make the stronger snake-catching blocks and have two of those adjacent. So this here is essentially a spider trap:
If you want to see the complete list of recipes I had, you can click here or on the screenshot at the top.
So much for that. Unfortunately, I somewhere along the process I got lost and everything took a lot longer than anticipated. Most of what I described above works, but there are no points and no goal, you can’t even lose. If you feel adventurous, you can try the prototype anyway by clicking here. I’ll probably not finish it, but I think there’s something cool hidden in there, and I might make a new prototype once I find out what it is!
For the September Mini Game Jam, I worked together with Martin Topolski (check out his art, he rocks!). His idea was to make a co-op game with asymmetric roles and energy transfer as a core concept:
One player controls a fighter, walking around and beating up enemies
The other player controls a ghost, floating around, catching the souls of dead enemies and supporting the fighter with various buffs (using up the soul energy)
That being said, I present:
Gentleman & Ghost
He imagined it as a jump ‘n’ run – which probably needs an editor to be made smoothly. Using a text-based level format might have been the smarter choice, but I decided that I might as well try to figure out Stencyl after seeing a fellow jammer coming up with remarkable results. The next 4 1/2 hours I spent in varying degrees of pain, until I finally decided to drop Stencyl and never ever use it again. (I’m not saying that Stencyl is bad; it’s not. It just has a few problems and is obviously not for me.)
3 1/2 hours left were obviously not enough, even after reducing it to a single screen platformer. I pretty much only finished what you see in the screenshot above, which is a damn shame because the concept is so promising. For obvious reasons I won’t post the prototype, I’d just waste everyone’s time. Instead I’ll give you some cool sprite sheets done by Martin:
So – is this going anywhere? Possibly! Martin and I, we deviated on the focus of the game: He still wants to do a jump ‘n’ run, and I felt the game would be cooler as an arcade single-screen platformer. Martin is now doing his version with a friend, and I’ll link here once they have something to show.
As for me, I might make my arcade version someday.
And the next one in our history series! This protoype sadly never quite left the concept phase – which is sad, because the concept sounded a like it’s lot of fun. One of our Berlin Mini Game Jams more than one year ago had the themes “anti coop” and “Together until the end”, and here’s what Iwan and me dreamed up:
Protect the Mad Mage
You are an evil mage, and on the verge of completing
the ancient spell that will make you immortal.
There’s only one step left: You have to die – at the
hands of one of the creatures you summoned.
You draw the magic circle and begin the incantations.
You summon the creature. It prepares to strike you.
You prepare to die and to rise again to unhol–
The door is reduced to splinters by the paladin bursting through it.
Killing the monster in one swift blow. Healing you.
Goddamn.
And the spell won’t last forever…
Now one of the players, the Mad Mage, has to kill himself, while the Powerful Paladin has to keep him (and himself) alive until the spell times out.
Sadly in my folly I tried to make it an online online multiplayer game, which proved to be a task too daunting for 8 hours, so it was never finished. I’ve learned my lesson!
A version where it is shown whether you won or lost
Two versions with time pressure:
One where you shrink constantly while not moving, making it easier to navigate, but soon you’ll have totally vanished…
One where you grow while you don’t move, making it harder not to hit a red circle
SaviorCat
This quirky snake-like just got elevated from a toy to an actual playable game prototype with this update. Compete with a friend to be the first to save 40 cats! Dodge the very very advanced AI of the scientist, and don’t let your friend snatch your kittens right before you can throw them to safety!
As the theme of this month’s EGP and the name suggest, you don’t do this my mashing franatically on your keyboard, but but by making sounds, recorded by your microphone. I hope you have one.
The dragon will either follow the PITCH of the sounds you make (which I prefer), be it by singing, whistling or by playing an instrument, or the VOLUME (which is fun too, though the game should then rather be called Screaming At Dragons).
Current status is that I don’t have any goals or gameplay yet, only the calibration and the initial control mechanic, so is a mere (but already quite fun) toy.
Next things up will be some things he can collect, and maybe some enemies.
And yeah, so far there are quite some keys which need to be pressed. This will be changed later, too, of course – I already have some great ideas for the GUI.
Well, try it out, make suggestions, leave feedback, have fun and stay tuned, more to come!
So again, it’s been pretty quiet here. Gotta update more often. Two news for now:
EGP: Zero Buttons
I’m working at a game/prototype for the Experimental Gameplay Project again! This time, the theme is ZERO BUTTONS, so we’ve got to use only mouse pointing/moving or alternative ways of input, like the suggested microphone.
I’ve chosen the last one as my weapon of choice, and try to make a horicontal scroller, one of these where you fly through a cave and should not touch the bottom and top – only that in my version you control the ship with either the pitch or the volume of your microphone input!
I would prefer pitch as input method, but there are some issues with determining the pitch of human humming (at least for me), and sadly I cannot whistle. Well, I will get myself a flute and check if purer notes are recognized better.
So far, the calibration screen stands and is working farely well (and is using a little bit more than zero buttons, gonna fix this later) – I will work on a basic gameplay prototype after the weekend!
BIGJam!
And the reason why I cannot start on the weekend is the second news: I’m going to the TIGForums BIGJam! I’m very excited how my second game jam ever will turn out, and whether I will survive one of these 3-hour-jams…
More later on! Stay tuned and expect games!
3 visitors online now 0 guests, 3 bots, 0 members Max visitors today: 6 at 02:02 am CEST This month: 26 at 05-12-2013 11:22 pm CEST This year: 48 at 02-22-2013 08:26 pm CET All time: 51 at 02-07-2012 09:51 pm CET