Category «Game Jam»

Ludum Dare 27: BLAM BLAM PLANET – Post Mortem

Greetings!

Back in April, Ludum Dare 26 was not so great, as I couldn't participate. It was right after the AMAZE IndieConnect, and this convention drowned my energy so much that I got sick. All I made was some visual experiment, which I couldn't develop much further because the headaches got too strong – partly because of my chosen art style. :-P

So, last week's Ludum Dare 27 was much better in this regard! And after kernel exception, this is the second Ludum Dare we entered together (thus being a Jam entry, not a Compo entry). We had a lot of fun, but also some problems, of course.

Our entry is a first-person shooter, with a little twist: you have five weapons, and every 10 seconds your current weapon switches automatically to another one, randomly selected. And there are "floating devices" all over the world (= a medium-sized planet) which you have to stand near for 10 seconds, so a bunch of power-ups get spawned (ammo and health packs). Enemies spawn in waves every 10 seconds. And when you collect ammo, you basically get an additional 10 seconds of shooting time.

As you might have guessed, this Ludum Dare's theme was "10 Seconds", and we called the game BLAM BLAM PLANET.

blam blam planet

After some minutes of playing the game becomes quite intense, because more and more enemies spawn. If you just run and shoot around instead of waiting at a device now and then for a while, you will soon run out of power-ups, and thus health and ammunition. So it's even a bit tactical, one might say.

The development of the game had its ups and downs, but it went well in most cases.

On Saturday, we thought of the game idea by talking about different possibilities and going for a walk. Ludum Dare starts 3 am here in Germany, and if I remember correctly, it already was afternoon when we agreed on making a first-person shooter, because we never did one really. To make it more interesting we decided that the setting should be on a round surface, which meant the game would need spherical gravity for all entities.

At the beginning we named the game "GLITCHIG", because we wanted a broken look and have destructible environment, so lots of triangles are flying around. Jana started building a neat planet surface with some asteroids around it in 3dsmax, while I started to let my character controller be influenced by gravity pointing to the level origin. Shooting little spheroids was also a priority.

spherical gravity

So both Saturday and Sunday were all about getting this right: a planet, a player, a weapon, some enemies walking around. Mostly I tried to get it all working smoothly, by getting the physics of the character and the weapon right. But the hardest part were the enemies and their AI on the round planet. For this, I searched for some code for creating the vertices of a geosphere, mapped this via raycasts on the planet geometry and connected the resulting points – those were then the nodes for the enemies' path-finding. Just letting the enemies walk directly towards the player probably would have been much easier, but less fun to create. ;-)

Another nice part of development was inventing the different weapon effects – two weapons in the final game deform the geometry, so I can push the vertices of the planet around a bit when the bullets hit something. It looks quite ace. As "glitches" was our personal theme from the start we knew the geometry would look strange and broken the more you use this weapon and we embraced that. In fact, when I last played the game, I fell through the level and I could attack all the enemies from below while they couldn't see me – but that also meant I didn't get any new ammo, so it was okay.

glitchcannon in action

Jana was mostly busy with modeling the three types of enemies and animating them. They look kind of deformed, emphasizing their low-poly nature, and it really looked well. Especially when she added the walk/fly animations, which are really hilarious. When the enemies spawn in masses it becomes a really cool effect.

In order to tie the look together, she also created a color code in Photoshop. After that, the game looked "right", as the colors of most assets didn't need much tweaking afterwards. Having only very few placeholder art from early on really helped the motivation somehow.

colorcode

Sunday evening Jana also started to make some sounds for walking and shooting by using our laptop's inbuilt microphone. High tech! All the sound effects you hear in the game are actually Jana's voice. :-) Adding sounds instantly made the game more alive; in the end, you can't have enough of them – that's why she made more on Monday, along with the art for the bullets and particle effects.

On the third day the theme of "10 Seconds" still wasn't in the game, and I thought long and hard about how to implement it. I weighed the pros and cons inside my head of different game mechanics, like "every 10 seconds, you have to collect new ammo" or "activate 10 bases, 10 seconds each, and then you won (whatever that means)" – and only when I finally began to create the five different weapons and let the enemies spawn in waves, the probably best restrictions (automatic weapon switching, time-limited ammo, etc.) came naturally. So there's that: sometimes tinkering too long can be bad, and you should just "do it", I guess.

In the final hours I was able to quickly implement the main menu and a death screen, which always is satisfying as it ties the game together and makes it look complete. Jana made the logo and the button graphics, and also captured a video of the game.

Ludum Dare 27: BLAM BLAM PLANET Gameplay

Be aware that YouTube videos try to set cookies and contact Third Party servers!

So, that's how it went. Let's take a look on some quick facts about ...

... what went wrong!

  • Finding the idea was hard for us, as we couldn't agree on most things. In the end, the game we created isn't as innovative as I would have liked, but at least it's superfun to play this time!
  • As we struggled with the idea, it's clear the theme didn't help much. Although "10 Seconds" is in the game more than once now, it feels a bit off.
  • On Monday I nearly lost the will to finish the game, because of the lack of a clear direction regarding the gameplay, caused by the theme.
  • Jana had some severe problems with the CAT animation system in 3dsmax. It seems to be buggy as hell, and I heard her cursing a lot. ;-)
  • There are no game-breaking bugs in the game, phew – only some small stuff, like resetting the option settings when you open the "Options" menu. The bigger problem might be that the game is "broken by design", because of the Glitcher (the weapon that deforms the planet's geometry) – we should have used this feature more often, so it doesn't feel strange when you fall through the geometry.
  • A lot of feedback is missing, like some kind of visual hint when you got hit, or a sound and animation when the ammo is depleted. Also, the "story" isn't communicated in the game: you don't know what you're doing here, why your weapon system is defective, and why you have to stand near the floating devices. (Some people didn't understand that the enemies only start to spawn when you do that for the first time.)

... what went right!

  • It's always great to work together with Jana, because we know exactly what each of us can do, and how. While I do the scripting, she does the modeling, texturing and sounds. Perfect team work – all in the same room!
  • I set up an SVN repository, which sped up the work flow incredibly, and also saved my ass at least once when I accidentally deleted some files in the Unity project folder.
  • I prepared some basecode a day before Ludum Dare, by skimming through my former projects and picking useful helper code snippets. Having a basic character controller, path-finding, simplex noise and other functions ready before you even have to think about where to find them is wonderful!
  • Jana recorded the sounds with her own voice and distorted them in Audacity, which was much faster (and cooler) than trying to find sound effects on freesound.org with the right license.
  • The abstract, low-poly, somewhat "broken" graphics style looks quite well and gets very positive feedback, even without textures – AND it also was done very quickly.
  • The five weapons are fun and pretty diverse. This way, the whole game is fun enough for a few minutes, and that's the most satisfying part of this Ludum Dare for me.
  • Before we started I thought the spherical gravity might not work at all, neither as a gameplay mechanic nor as a visual style. I especially was concerned with this style the player would see too much sky and not enough ground surface. In the end, with the recoil of some weapons (so you fly away, looking down) and the high amount of flying enemies, this wasn't any problem.

... what we learned!

  • Due to the lack of time at the end, the balancing is kind of subpar. Good thing the game just is an endless shooter, and thus it is good enough. It's also cool that you can "learn" the game, as using the floating power-ip devices is important, but not obvious. Always try to add stuff like that.
  • "Crappy" graphics often look awesome when animated and with a nice shader. ;-) Coherence is very important though – that's why creating a color code sheet early in the process is a must.
  • Try to not make any placeholder art, because it either means you will have to make an asset twice – or it will be in the final game.
  • Even if you lose motivation near the end, at least try to give the game an ending. Sometimes, it helps to finish the game nonetheless, because this, this and, oh, that too, has to be done before the game can have an ending and be called "done" ...
  • Three days are still too long for me, because it automatically makes the project too ambitious.
  • Every time I see a Unity project with the standard Unity button graphics I get the urge to close it instantly. Really, it's easier than most things in Unity to add some custom button graphics and a downloaded font to the GUI skin. Give your game some love!

As much as I'd want to extend the game a bit, like adding more levels, I don't think it will get much bigger than now. The feedback of players and Ludum Dare ratings is really nice so far, but I don't know if having more enemy types and whatnot would increase its popularity. An online highscore would be nice, though, so maybe I will add that.

Thanks for reading this post-mortem, and I hope you had as much fun with this Ludum Dare as we had. If you want you can play BLAM BLAM PLANET here! :-)

blam blam planet device

Svetovid and gamescom

Last week I participated in the 7DFPS - a game jam that wants to "keep first person shooters interesting". I'm not really sure if people really lose interest in the FPS genre somehow, but here you are, a jam that is all about first person perspective and shooting. Of course neither is mandatory, as there are entries without any pew pew and even 2D ones. Overall the genre is a very open one, and with the rise of Unity3D, a lot of people were able to participate without much hurdles.

Svetovid

My own entry, Svetovid, uses Unity3D too. The name comes from a Slavic god "of war, fertility and abundance", and like a lot of gods he has several heads, each looking in a different direction. I kinda was inspired by our visit to the island Rügen where he was worshipped. But mostly I just wanted to do something unusual with the camera and experiment a bit, as I didn't have much time and motivation to fully use the seven days of game jamming. Thus Svetovid was made in circa three days and can be downloaded or just played in your browser here. Gameplay-wise it's very simplistic, and as it is turn-based, it reminds of a roguelike a lot.

I'm pretty happy as the game already got a bit attention: @notch, @PeterMolydeux, @radiatoryang and @AdamKuczynski tweeted about it! Svetovid also was mentioned on IndieStatik and IndieGames.com.

gamescom

In other news, we will be in Cologne on Wednesday, visiting the gamescom 2013. This year a collective booth of German indie developers will be open from Wednesday to Sunday, presenting ten different games:

  1. Beatbuddy (Threaks)
  2. GhostControl Inc. (bumblebee)
  3. The Inner World (Studio Fizbin)
  4. Forced (Beta Dwarf Entertainment)
  5. Splatter (Dreamworlds)
  6. The Last Tinker (mimimi Productions)
  7. Team Indie (Brightside Games)
  8. The Red Solstice (Ironward)
  9. Ethan: Meteor Hunter (Seaven Studio)
  10. Sky Arena (Hammer Labs)

The trailer shows the awesomeness of these games and the German indie scene, even though it's much too short:

Indie Arena at Gamescom - 10 games in 1 Booth

Be aware that YouTube videos try to set cookies and contact Third Party servers!

Oh - and on Tuesday we will be at the official Expo Party of the Notgames Fest, talking to artists and other indie developers.

Hope to see you there!

Embrace Your Limitations – Game Jams Extended

why limit yourself?

In this post I present you the transcript from our talk "Embrace Your Limitations - Game Jams Extended" at the A Maze 2013. Actually, it's just a prettified version of our outline. By the way, we held the talk with a beamer presentation in the background showing some pictures, but as they weren't important for the talk and we're not sure about the license of each picture, you'll just have to imagine them. :-P

Description: "A two day game jam might result in a neat, even innovative little gem - why not expanding it until it becomes a full, polished game? It can be tempting to bloat a game with things it doesn't really need and make it a monster that never will be finished. Thus we want to talk about why you should fall in love with your limitations and how to create cool things with small prerequisites."

1) Who are we?

  • Rat King from Germany - Jana & Friedrich
  • making TRI, since quite some time
  • derived from an Ludum Dare entry, began with a simple idea, so we added a lot of stuff to it
  • became too big - we refocused and embraced our limitations

2) Why do we talk about this?

  • so that you learn from our mistakes
  • this is not about small or big games, but the avoidance of feature creeps
    • because they prevent you from finishing your games!
  • [picture of 1000 Ludum Dare games] cool to be one of them, but even better to have a finished, polished game
    • game jamming as production style
    • helps learning to limit yourself and sticking to your talent/profession
  • limitation is your boss (if you're indie)

3) Constrain your game design

  • gamedev often starts with the thought "I can do ANYTHING"
  • but: limitations help you creating ideas - just think of game jams (restrictions regarding time/theme/technical/etc.)
  • remove features / elements where possible
    • “Perfection is not when there is nothing more to add, but when there is nothing more to remove." (Antoine de Saint-Exupéry) - talking about perfection, but can be applied on design, too (designers often are perfectionists)
    • example 7-Day-Roguelike-Challenge 2012 (Me Against The Mutants): cutting off features before the development is easy; the later the harder
      • in the end we relied on the one cool idea it has (infinity rectangles)
    • throw away features when they're too much or not needed - never be afraid to cut stuff out that doesn’t add fun
    • often leads to clear design and a clear vision
  • the cycle of innovating and testing (= experimenting in a short time frame) only really works when you limit yourself, otherwise it becomes a growing spiral of death

4) Constrain your graphics design

  • good games are memorable and can be recognized with one screenshot
    • limitations help defining your art style so it sticks out
    • games full of prefabs, characters, features are harder to communicate
    • instead of trying to add lots of details - minimalism is win
    • find a visual trademark, for example a recognizable character
  • pixels are cool, but 3D is cool too - limitations are possible with every art style!
  • use a grid
    • necessary in TRI so people can measure distances
    • grids are fundamental, used in design
    • as soon as you are restricted to a grid you can’t add too much stuff anymore - this is good
    • everything becomes deterministic - you can put only one thing at one place (tile) at a time
    • but beware the almighty Minecraft - games get judged by images

5) Constrain your technology

  • KISS - Keep It Simple, Stupid
    • must be in this presentation
    • search for simple solutions, even when the problem looks complex
  • only do stuff the player actually sees
    • you're making a game, not a simulation
    • even simulations are simplified
    • tip: take a step back as the developer, and imagine playing your game as a normal player
  • do not reinvent the wheel ...
    • ... but sometimes you don't really need a full-blown monster-truck wheel
    • if you have/need a simpler solution, go for it
    • avoid third-party-solutions that add too much stuff / features, because it's tempting to use those features
      • limit your project, not your brain
      • let your imagination run wild and the creativity flow, but sometimes it's easy to forget KISS - just remember limitation is your boss now
    • example: for Karoshi! I needed some pathfinding
      • downloaded an A* plugin for Unity with multithreaded, dynamic pathfinding
      • was too general and had some quirks
      • made the development overcomplicated and added a lot of hassle
      • better solution would have been to just roll my own

6) What is needed in order to successfully make a game with limitations?

  • "If I had more time, I would have written a shorter letter."
  • experience in your field
    • realistically evaluate of what you are capable
    • don't try TOO novel stuff, concentrate on one (cool) aspect
    • prevent too many construction sites at once
  • a small team
    • big teams automatically add overhead and the feeling of “you can do more”
  • ideally one cool, perhaps innovative idea
  • no idols
    • be inspired by others, but don't try to copy them
    • you will try to add more stuff if you clone another game, and might even bloat it
    • at least don't copy a whole game, but pick certain features you like

7) Expand your horizon

  • does it really need to be a “real” game?
    • example: Fibrillation only consists of walking around in changing scenes and experiencing a background story
    • even the little bit of voice-overs in the game are too much
  • tip: mix genres, or invent a new one
  • don’t try to fulfill expectations for a genre
    • example: FEZ doesn't need enemies in order to be a good platformer
    • leave stuff out and innovate elsewhere!

8) Cool game jams in YOUR neighbourhood

9) Thanks for listening / reading!

 TL;DR? Limit yourself so you can get things done.