Wizard Defense: A Cooperative Augmented Reality Game

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.

Wizard Defense

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.

Play it in the web player!
(Download and print the markers!)

Download it for Windows/Mac/Linux!

The source code is available further down in this post.

How to Play Wizard Defense: A Co-op Augmented Reality Game

You can quit the game by pressing Escape while the menu console is showing.

Solo Play?

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 so you can at least experience the gameplay: F10 triples the power of your energy beam, and F11 makes you invincible.

Open Source

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.)

Credits

Screenshots

Finally, have a few screenshots:

The Fox and the Fish in: Candy Adventures

Once upon a time, the Fox and the Fish found a deliciously looking piece of candy. Being Canadian animals, they were very polite and decided that the other should have it.

“You should have it, for I value your happiness more than any candy,” said the Fox to the Fish.

“So do I,” answered the Fish generously. “And you love sweets, you should have it, dear friend!”

And each shoved the candy in the direction of the other.

The Fox and the Fish

Do the polite thing – give the candy to your friend.
Don’t let him give it back to you. A gift’s a gift!

A ball-game with snake-like trail mechanics
for two friends on keyboard or gamepads.

Play it in the web player!

Download it for Windows/Mac/Linux!

The Fox & The Fish - Berlin Mini Jam Presentation

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.

Credits:

Hammertennis: Tennis, But With Giant Hammers Instead Of Rackets

Take Hammerfight. Add Pong. Mix and stir. Sprinkle with a little realism and Tron.

Recipe serves 2.

Hammertennis

You are playing Tennis. Well, you’re trying to play Tennis.
You’ve lost your tennis rackets, so you take hammers instead.
Also you’ve forgotten most of the rules.

Hammertennis: A fast-paced ball game for 2 players.
Supports Keyboard – or Gamepads! (You only need one stick. Choose any.)

Download the Windows executable

Hammertennis Gameplay

You get 2 points for scoring a goal, and 1 point if the opponent hits his own goal.

Normally only the hammers can hit the ball – but if the ball is red, the blue player can hit it once, and vice versa.

This is the first game I ever started with Python, featuring Pygame and pybox2d. Lovely language! It is also the first game that I ever made that uses any serious form of physics.

Both are thanks to Florian Berger, who is teaching the university course that got me started on making a Python game featuring any form of physics in the first place. Thanks a lot, it was great fun and (obviously, see above) had great results!

You can also download the source code (New BSD License) if you like! It needs Python 2.7, pygame 1.9.1 and pybox2d 2.1.

Credits:

Sneakball: A Fast-Paced Action Game about Stealing – for 4 Players on 2 Gamepads

Another month, another Berlin Mini Game Jam. I’ll post the result from the November one later, but for now – here’s the game for the December edition for the theme “stealing things”:

Sneakball

Pick up data packets. Protect them from your enemies.
Route them to your base. Steal the ones the enemies have.
Sabotage their routing paths. And most of all: Be swift.

Sneakball Tutorial

Sneakball is played in 2 teams of 2 players each – and each team only has one gamepad, with one stick for each character. Coordination is key, and the game is more strategic than it looks like at first glance. You can pick up the white data packets by colliding with them. If you pick one up, it’ll have your color for a second and is immune from being stolen before it turns white again. Let the balls touch your satellites (the two things emerging from the base) to score.

Downloads:

Credits:

Alchemist’s Duel: An arcadey puzzle game for 2 two-people teams

“Alchemy” was the theme for the May Mini Game Jam, so I made a game about alchemists trying to reproduce a certain formula and their faithful henchman collecting ingredients for them:

Alchemist’s Duel

You are right before finishing your Magnus Opus!
Only one recipe left… Same goes for your rival though.
Send out your collector to get you the ingredients you need,
and be the first to finish your glorious work!

Play here, directly in your browser!

 

To finish, you have to fill your goal field with the right elements:

The three light blue, the yellow and the green elements are at the right place. The dark blue shouldn’t be there in the red goal field. Three fields are still unfilled. Push the blue element out, and fill all the goal fields with the right colors to win!

Noise: A split-screen game for 2 players about stealing sweet stuff in the dark

For our March Berlin Mini Game Jam, the themes were amongst others “Thievery” and “Noise” – and that’s what my friend Dominik and me combined into an ultrasonic burglary simulation:

Noise

A dark room, full of jewels – and stuff to run into.
Luckily you have your ultrasonic locator to “see” in the dark.
A few moments later, you realize you’re not alone.
You ready your bludgeon…

Play here, directly in your browser!

 

This game employs a Hidden Information Split Screen™ (which can optionally be simulated by having two monitors):

Global Game Jam 2012, or: Keep rollin’ in Super Snake Wheel

At the end of every January, people all around the world gather to make awesome games in an absurdly short time. Developing a game in 48 hours is nothing short of insane, and I don’t think it comes to anyones surprise that this appeals a lot to me. And here I proudly present our result this year:

Super Snake Wheel

“We can’t stop here! This is bat country!”
Well, Mr. Snake might have been a bit drunk when he and his companion Mr. Gecko ignored all the warnings and set out to their adventure. Being one of the few snakes who can form a tire out of himself, he’s now rolling down the hill while Mr. Gecko defends him from birds, barely keeping his balance! Take control of this duo of odd heroes in this quirky adventure for one casual and one hardcore player!

Play the updated version online at Kongregate!

Check out the original GGJ build!

And of course credit where credit is due, and these amazing guys deserve a lot:

  • Game Design: Matthias Niebergall
  • Art: Kirill Krysov
  • Programming: Dominik Hübner and myself
  • Music taken from the wonderful Kevin MacLeod
  • A big thanks to all the people organizing the jam, globally and locally here in Berlin. You’ve done a great job!

By the way, we even satisfied a diversifier (an achievement for the developers) this year: “Collaborative Casual/Hardcore (Two players: one casual, one hardcore): Collaborative play for two, but one player has more to do than the other (or the difficulty level is different between them).” I am sure you will agree after you’ve tried both the casual Mr. Snake and the slightly more hardcore Mr. Gecko: The former just has to jump and duck, while the later has to balance on the snake, jump at the right times and use the mouse to shoot at birds!

Lessons learned

Even though this is not my first jam, it seems that every single one has some valuable lessons to teach. These are mine this time:

  • Even though it’s an a very small timeframe, make a rough project plan with milestones so you won’t lose focus.
  • Every milestone should be playable (player interaction and a goal), especially the first one – which should ideally be ready when you go to sleep the first time. It does wonders to your motivation!
  • Programmers, make a task list. It keeps you focused.
  • You cannot say if something is fun until you can test it. Halfway through the project I felt like giving up because nothing seemed to be coming together, and 12 hours later we had this amazingly fun prototype! So even if it seems like the game won’t be any good, at least implement the first playable prototype.
  • If your code is based on a pixel oriented framework like Flashpunk, don’t mix in vector based stuff like MovieClips. It just leads to a whole load of implementation overhead.
  • If you want to pull an all-nighter, at least sleep the first night. Otherwise you might fall asleep the second night which will surely lead to you missing the deadline.

This year the GGJ was certainly not easy and at times tedious and exhausting, but the result totally makes up for that. I daresay that it is one of my best prototypes so far! I am very happy that I have participated, and I’d like to thank everybody who made the weekend as amazing as it was!

Color your world in Extreme Painting: An 8 hour prototype

After skipping December, even the Global Game Jam in two weeks couldn’t stop us from doing our own Mini Game Jam yesterday. 13 people assembled in the co.up coworking space and in 8 hours, multiple game prototypes were created for either the topic “Future” or “The End is the Beginning”. Here’s mine.

Extreme Painting

In the future, a sport called “Extreme Painting” is all the rage:
Two contestants are equipped with particle cannons and try to color as much of a field as fast as possible, only stepping on their own color.

Each field which has your color is one point, independent of how strong the color is.
But the stronger the color, the harder is it for your opponent to erase it.

Play it in your browser by clicking here!

I need a Time Crab for my next 8h jam

At our November Mini Game Jam I teamed up with artist Alfonso Montón, forging an epic prototype for the theme “time” (and possibly “trap”):

Time Crabs

Might or might not be a screenshot

Don’t be fooled by their cute appearance! If you hesitate one moment, a Time Crab will envelop you in a Time Bubble and begin to tear you to shreds with its Time Claws*!

Fortunately you are a Time Crab. So is your opponent! May the fight begin!

Play it in your browser by clicking here!

Time Bubbles

….work like a local field of bullet time: It slows everything inside down, but you a fair bit less than everything else. You can use it in two ways: Aggressive, by throwing it at an enemy and proceeding to shoot at him while moves slooowly, or defensive to dodge bullets. The shooting mechanic makes the prototype not very playable, but I really like the bubbles – in fact I might use them in another game. (And yeah, they are like a more selective time slow ring in world 6 of Braid. I totally forgot that it even existed!)

And a Dropped Idea

I quite liked my second idea too, but there was hardly enough time for it: A cross between Tower Defense and Capture The Flag. First you set up your base with turrets and traps, and then you leave to get the enemys flag. You can detect and disarm traps, but only while you aren’t carrying the flag – so prepare a safe way out. PvP would probably be enabled (and might include Time Bubbles) and minions.

Okay, now that I think about it, it sounds a bit like a more RTS-like DotA.

*) Time Claws are not included in the prototype and will later be added as a purchasable expansion pack.

Gradient: How Not To Be Seen

Another month, another Berlin Mini Game Jam. This time the topics were “adaptation” and “conflicting goals”. I took the former one, and made a stealth game:

You are the circle, trying to blend in with your environment as much as possible by changing your grey value. Perfect white or black heals you if you have the same color. Stay alive as long as possible!

The game began as local multiplayer at the jam, and over the next days I added a singleplayer mode, Kongregate scores, more polish, and of course sound and music which are made by Moritz Ufer.

The core gameplay was actually finished and the prototype playable after 5 hours, so I had 3 hours for polishing – nice. Best prototype I made at a jam all alone so far!

Play the game here: