This week, I was at the wonderful Indie Connect. At the end was a game jam, and that’s where I started the following game for the theme “Treason”:
Arena fights are dangerous.
But at least you can trust your partner, right? Right?
To be on the safe side though, you took some Vampiric Throwing Knives with you.
The arena rules prohibit the use of weapons against your opponents,
but there is no mention that you can’t use any if your partner acts up…
Collect power orbs to boost your antigravity!
Shove your opponents off the platform!
Win as a team or alone.
After all, if YOU kill your friend,
at least his power is safe with you, isn’t it?
Next jam! The plan was to make a little game and spent the remaining time with a university assignment like a responsible person. Then “Dark Science” was chosen as a theme, so I was like “I got to get my priorities straight” and concentrated solely on making this little gem:
In the current economy, teamwork is all!
The mad scientist’s way to find the best monster for the
job is (obviously) to chain two of them together and throw
them in a pit with fireballs and other monsters.
Each of you is one of these monsters.
Work together and win as a team!
The winner will be used for further experiments.
Good… luck, I guess?
Another Berlin Mini Game Jam was upon us, so I thought I’d prove once again that I have no sense of time whatsoever. I had the feeling that making a Kinect game would be a good way to do that, and together with Heiko Weible and graphics by Jana Leinweber I actually finished not too much after the allotted time frame.
You fasten the grip around your gun and
check your shield once again: Everything’s fine.
Will you shoot down your enemy?
Or collect enough stars to win?
Whatever you goal is, do your best to win in Kinect Artillery!
I’m quite proud with how that turned out. Obviously we didn’t write all the code in the 9 hour timeframe, but it’s still an impressing feat to pull off – and it plays fine. While it’s a bit awkward to turn to the side, seeing your silhouette following your motions is very satisfying, and the general look works surprisingly well.
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!
It sucks to be cursed. It sucks even more when you’re standing paralyzed in your own wizard tower while your arch-enemy sends hordes of hungry ghosts to gobble up your mana. Luckily your telekinetic powers are still working fine, and now you are defending yourself by redirecting energy beams from your hands with mirrors and whatever else is at hand.
You’re paralyzed. Enemies are closing in.
Redirect the energy beams with mirrors to hit the ghosts and
change their colors at the right time to exploit each ghost’s weakness!
A cooperative augmented reality game for two friends and a webcam.
The source code is available further down in this post.
You can quit the game by pressing Escape while the menu console is showing.
If you play alone, you might have some problems – it’s made for two players. If you still want to play alone, here are some cheats you can press after the first ghosts spawned: F10 triples the power of your energy beam, and F11 makes you invincible.
This was one of my three big projects this semester, this one for the Augmented Reality course. It’s built in Unity 4, with NyARToolkit to recognize the markers. The japanese documentation makes NyARToolkit a little bit hard to read, but good examples and method names go a long way and we had a lot of fun using it.
You can download the source code and Unity 4 project here. 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.)
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:
The game was made in about 8 hours (plus about 1 hour later adding the small stuff, like a new font, a mute functionality and a bit of bugfixing) at the Berlin Mini Game Jam together with Norbert Haacks who contributed his artistic talent and game designer wisdom to our endeavour. Special thanks to Jana Leinweber who inspired the trails idea with a comment while playtesting early on!
I’m very pleased with how this one turned out. The trail-mechanic makes the game a lot more tactical than just pushing the ball around, and the game favors the loser increasingly more, making comebacks possible: You have to push the candy on the ground of the other player – but that ground will start to shrink in the process, giving you increasingly less space to work with.
Apart from our own result, the jam set records – when I counted midway in, we had 35 people working enthusiastically on their own games! That’s the most we ever had in the years we are organizing the jam, but then again, the number seems to be consistently rising. And the atmosphere at the presentations at the end is simply amazing! Iwan Gabovitch will make a blog post later at our blog, and there will probably be a video too.
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?
Are you interested in what I wanted to implement, but ran out of time to do? Here is a quick breakdown:
Level / Gameplay
Treasure makes you slower
Treasure: Weight (can only carry certain amount)
Vanishing / Hidden after time
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!)
4 visitors online now 1 guests, 3 bots, 0 members Max visitors today: 8 at 05:47 pm 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