StarCoder: A Short Game Programming Workshop For Total Beginners

15 Minutes in the Shoes of a Game Programmer

For a workshop at the YOU, a youth culture fair, I was asked to make a concept for a short game programming workshop.

The requirements were:

  • The workshop should give an impression of the work of a game programmer.
  • It should take about 15 minutes and allow groups of varying size.
  • I should assume that the participants have no experience in programming at all.
  • Instructions should be kept to a minimum; the focus should be on hands-on experience.
  • The workshop should produce a quantifiable result.
  • It should be an enjoyable experience.

No easy task. Luckily, inspiration struck, and a few days later I finished the game StarCoder.

StarCoder

Move the player to the star by using
Left/Right and Space to jump.

An easy game if it weren’t for the spikes –
or if you could jump far enough, for that matter.
Luckily you can edit the source code.

There are 15 distinct solutions to win the game.
How many will you find?

Download for Windows

Source Code (License: CC BY SA)
Creative Commons License

StarCoder: A Short Introduction To Game Programming For Total Beginners

The Workshop

The workshop went extremely well. Everybody found at least 4 solutions, with some finding up to 10. The game also seems to be surprisingly fun, even (or especially?) for non-programmers! Results were often accompanied by laughter and some of the participants even asked for the program so they could try it again at home. And I remember a teacher who sat down to try it himself after I finished the workshop with his group of pupils.

If you use it yourself (which I’m totally fine with – I’d love if you drop me a message that you are using it!), this was my approach:

  • Tell your attendees that the goal of the game is to get to the star. Ask them to click in the left part and try it themselves: Arrows keys to run, Space to jump.
  • After half a minute admit that it seems rather impossible – but luckily there’s the source code on the right side which they may edit. Ask them to notify you once they have a solution.
  • Once they have the first solution, congratulate them for their achievement. Then ask them to click on “Reset” in the lower right corner and tell them that there are 14 more solutions.
  • After a few minutes (or a few solutions, depending on their speed), tell them that there’s also the “Creation” tab in the upper corner.

The ideal number of attendees seems to be 1 to 3 per computer. You might want them to write down their solutions if you want to assign a score to each group later.

So… how about you? Did you find every single one of the 15 solutions? Try it yourself first – and then check it with this handy walk-through. (No cheating though!)

And if you’re interested how hard solutions are and which are found the most and least easily, you can check out these statistics (contains spoilers!).

Credits

  • Concept, Programming and “Art”: Tobias Wehrum
  • Sounds: Moritz Ufer

Thanks to my playtesters: Moritz, Tobias, Kelvin, Sebastian, Simon, Christiaan, Lukas, Florian, Marina, Jana, Jens, Paul, Ronja and Nadine. You guys have been a huge help!

Made in cooperation with:

Super Sandwich Simulator 2013

We’ve been to the Codemotion Festival Berlin and made a game jam there! Two of the three themes were “Bouncing” and “How to make a sandwich”, so it was pretty obvious what had to be done:

You are two pretty incompetent chefs,
competing to complete the correct sandwich first.

The customer has ordered!
(Poor fool.)

Prepare delicious sandwiches in this frantic game
for two players with Xbox360 gamepads.

Play it in the web player!

Download it for Windows/Mac/Linux!

Super Sandwich Simulator 2013

Credits:

Backstabbing & Betrayal

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 their power is safe with you, isn’t it?

Play it in the web player!

Download it for Windows/Mac/Linux!

Backstabbing & Betrayal: Tutorial

Credits:

Kinect Artillery: A 9 hour Kinect prototype

Another Berlin Mini Game Jam was upon us, so I thought I’d prove once again that I have no sense of how much time certain things need 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.

Kinect Artillery

You fasten the grip around your gun and
check your shield once again: Everything’s fine.
You’re ready.

Will you shoot down your enemy?
Or collect enough stars to win?

Whatever you goal is, do your best to win in Kinect Artillery!

Download it for Windows!
You’ll also need the Kinect for Windows Runtime.

Kinect Artillery: Berlin Mini Game Jam Presentation

I’m quite proud with how that turned out. Obviously we didn’t write all the code in the 9 hour timeframe, but I think 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.

Credits:

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:

Burglary: An Action/Stealth game made for Ludum Dare 25

Ludum Dare 25 is over and I cannot wait to go to bed, but first I wanted to publish my game here too!

Burglary

Explore the premises. Evade the guards. Pick locks.
Steal the treasures! And then escape with them.

Burglary, an action/stealth game about stealing from
the rich and giving to those in need: Yourself.

Burglary: Ludum Dare 25 Build

Play the game on Kongregate!

Visit the Official Ludum Dare Submission!

Made completely in 48h – well, according to the Ludum Dare competition rules. I obviously used some base code and publicly available libraries. Apart from that, everything (but the preloading graphics and a very small generic shadow tiles bitmap) was made by yours truly in the 48 hours: Music, sound, graphics and code.

Used libraries/tools:

Winter Sports: Ice Skating

Here’s an old one I never posted, and it’s about time – it’s really cool! So now without further ado, enjoy “Winter Sports: Ice Skating”, a heart-warming minimalistic game made for the TIGS Advent Calendar 2011 in about 16h.

Winter Sports: Ice Skating

You are ice skating and try to relax,
but these rude other people are making so much noise.
You are fed up, don your ice slicing skates,
and do the only reasonable thing:

You let them fall into holes in the ice.

Make holes by crossing the line you’ve sliced in the ice before.
The holes freeze again over time, but until then, try not to fall in yourself…

Winter Sports: Ice Skating Gameplay

Play the game now directly in your browser!

Music by Kevin MacLeod
Sounds by petenice and malexmedia.

Fight for your life in Guardian of the Void Children

Another month, another Berlin Mini Jam. This time, two of the topics were “Guardian” and “Void”, so I teamed up with Michael Kessler and did this:

Guardian of the Void Children

The Void is a harsh place to bring up children.
Our particular mother here is just about to find out how harsh exactly,
now that a swarm of drones located her nest…

How long can you survive their relentless assault?
Defend your nest, your children and your life in this
Tower Defense/Top-down Shooter crossover!

 

Play it here, directly in your browser: