Category «Contest»

Global Game Jam 2017 – Post Mortem



In January 2017 Jana and I were part of the Global Game Jam, as usual. We had some doubts we'd do it again in Leipzig, because every year it gets a bit harder to wake up in the HTWK (the university where the jam site is located) without a shower or hot water at all. Yes, we're getting older. Our plans went back and forth between not going at all, or driving back home for the nights, or getting an AirBnB. In the end we did it as always.

Thankfully! Commodations aside, it was a very nice experience. A few days before we made some key decision for our jam entry, especially the choice of target platform: VR. As we don't own a full-blown HTC Vive or so, we made a Google Cardboard game for Android. I think it turned out quite well, because it was doable in the scope we aimed for, even though it was our first VR game.

The theme itself ("Waves") wasn't very interesting, but it slowly formed the direction of our game. When we began to think in terms of sound waves, we soon decided that some radio in our game would tell the player what to do. So you'd be in some kind of labyrinth, trying to find that radio by searching around and listening to its noise, and then activate it, because it tells you how to reach the exit. This became less important later, but it's still in the game. So while we don't feature "waves" promintently, the game was definitely inspired by it.

One of the first WIP screenshots

What we have now is an atmospheric stealth game where you play some thief or treasure hunter in a haunted mansion. You walk around, steal things (mostly valuables), evade scary ghosts, use keys, and find the radio and the exit. As the game is a Virtual Reality game, the player's movement is restricted to gliding between square floor tiles in cardinal directions. This is very similar to my Ludum Dare entry Wood for the Trees from last year, but this time the limitation was imposed to us because of the nature of VR games. Free movement was out of question, and a typical "magically beam to place" approach could have been a bit too complex for our first 48 hours VR game. In the end, the limited movement also helped to define the simple but effective behaviour of the evil ghosts, which don't follow you but patrol between the rooms in the same manner as the player.

As usually our games have a somewhat high entry barrier, one of our goals was to simplify controls. With a VR game this seemed easy to do - you don't have much different input methods anyway. All you can do in our jam entry is looking around and take stuff by looking at it for a short time, which is why Jana had the idea to name it Hands Off Thief, as you steal without using your hands... Initially I planned to have the same approach for walking around the rooms - an arrow on the floor tells you if you're allowed to walk into that direction you're looking, and if so, looking at the arrow for a short time moves you to the next room. But it turned out that this is a bit awkward, as you'd always have to look down to walk around. Now players have to activate the trigger (i.e. touch the screen of their phone) when the arrow is shown, which feels a bit more natural.

I prepared by reading articles about VR development for mobile platforms. It was helpful to know that there are some heavy restrictions regarding drawcalls and polycount in order to maintain 60 frames per seconds on a phone. This way I wouldn't be surprised by bad performance at the end of the jam. Thus, from the beginning the Unity project was set up to use cheap vertex lighting, and I programmed a simple occlusion culling i.e. only the room you're in and adjacent rooms get rendered. We also tried to minimize the amount of different materials for everything.

The first thing we did when we started the development was trying to find out how big the virtual rooms should be. Several hours went into discussions if the walls are too near or too far away, if the ceiling is too low, or if the texture scale on the floor is okay. Probably not everything makes sense in the final game; some things were kept for the atmosphere. Especially the lighting was a bit of a headache, until we went with strong darkness and the player having a point light at their center. Every ghost has two lights - on for his current position, and one for the target position. This way, a player can predict if the ghost soon will be floating towards them. And from time to time a lightning strikes (even when there's no window), so there should be enough to see anyway.

Of course we had some help! When he wasn't sleeping Björn Grunewald created some 3D models like the loot, and my brother Ludwig 'KingLudi' Hanisch - as usual - agreed to compose the music. Ludwig was in another city, and when I sent him some screenshots it was very late, so I wasn't sure if he was still willing to do it. But he sent a nice track in time. Afterwards he wasn't content with it, as it didn't quite play along with the visuals. The problem was that Jana and I were late in defining the atmosphere and couldn't send him a meaningful video, so he only had the screenshots with bad lighting as reference. A few days later Ludwig sent us a new, much more eerie track which fit perfectly, and I updated the game. You can play this new and better version by downloading the APK on itch.io.

Overall the Global Game Jam was cool; you might also want to have a look at the other games created at our site in Leipzig. By the way, one aspect I learned to dislike about the GGJ website is that you cannot edit your entry afterwards. I understand that they wouldn't want people to fake their entries, but it would be nice to be able to offer patches, or just add stuff you forgot.

We also might choose to register a jam site in our own city next year, because we found some potential co-jammers!

> Try Hands Off Thief here! <

Save

Save

Ludum Dare 35: Wood for the Trees – Post Mortem

Wood for the Trees is my entry for the 35th Ludum Dare game jam which took place in April 2016. For now I don't know how the other participants will rate the game, as the voting is still going on. Yet it's maybe time for a small post-mortem, especially as my last few entries were not really worthy for one of those.

ld35_20160418_204744_379

The theme of this Ludum Dare was "Shapeshifting", which was a good theme, or at least I heard far less complaints about it than usual. For my part I didn't have an idea from the beginning - or rather I prepared several in advance, but none of them actually motivated me when the weekend began. For some time I just ignored the theme anyway and did some physics-based experiments, but everything of that was scrapped in the end. Semi-inspired by the theme I then went on with an environmental experiment, which would be about looping and changing level tiles. A bit like our 7DRL Me against the Mutants, but this time in 3D. As usual I did all this in Unity.

My base idea was to have tiles as parts for the level map, and each tile would be 10x10m (conveniently the size of Unity's standard plane), and instead of connecting the tiles in a linear fashion or even in a grid, I would define the connections manually so they can loop or have "impossible" connections. This way, a tile could be connected to itself (this actually happens in the game)! A lot of time went into developing the system of instantiating and destroying the needed game assets on the fly.

ld35_20160416_222626_207

With this representation of the game world it's possible for the player to see things that won't be there when they move. Thus I added smooth scaling to all objects when they get spawned or removed, just to make it more appealing and let people accept this strange environment. This system also imposed some limitations which actually turned out to make the game tighter and more focused:

WoodForTheTrees_MakingOfMovement

1) The player is allowed to move only from a tile's center to the next, in cardinal directions. At first I had free movement, but this imposed problems with the tiles that lie diagonal to the current one. It would just feel alien. Restricting the movement was the only solution, and it also made the gameplay (adventure game) much more clear.

WoodForTheTrees_MakingOfFog

2) With my system it only made sense to display 3x3 tiles at once, thus I had to limit the view distance to 10 meters. This made me a bit depressed in the beginning, because it meant a pretty big, boring wall of fog in front of the player. But then I invented the "fog trees" - trees that would exist only in the fog, vanishing when the player comes near. In the end, they really helped making the distance fog less boring and even gave the game its name.

As usual I experimented only regarding gameplay mechanics, but as soon as I added the fog I naturally began to design the game's appearance. The fog had to have a colour, so I chose one I actually liked. Everything else had to look (more or less) good from now on, which helped tons with not having to do that later. If I remember correctly the pixelation post-effect shader was added at the same time, and I just liked it - I don't really have a justification for it. But it also helps to hide the fact that my 3D models are all very low-poly and have no textures.

WoodForTheTrees_MakingOfModels

By the way, this is the first time that I used Blender for a game jam; I like it more and more. It fits my style quite well I guess. For the trees I utilized a tool called HappyTree by Sol_HSA, which made it easy for me to generate four different trees and reuse them all the time. I only changed the materials.

The narrative structure of the game also developed more or less naturally: due to the fact I played some "walking simulators" beforehand I was okay with incorporating a personal story. So all content grew out of certain relationships that occupy my mind often enough. As a result it didn't become a straight story really, but more like a set of emotions I wanted to share.

WoodForTheTrees_MakingOfAdventure

I didn't plan to do a full puzzle game, but somehow I actually added enough elements like finding typical items and having to combine them, so I can now call it an adventure game without shame. Overall it's a simple game in the sense that I didn't even add a visible inventory (as it wasn't needed), but thanks to the shifting environment and the somewhat allegorical hints the game should be longer than just a few minutes.

You could say the background story and the adventure game mechanics are somewhat contradicting or at least exist in parallel only. But whenever I think of my childhood (which the story is touching), I have certain games in my mind which I played back then, and Wood in the Trees actually recreates them in an abstract way. Furthermore, the seemingly mundane tasks represent the protagonists quest for absolution somehow. The mechanics and plot combined with the fog trees, the game's name, the colors and some of the objects in the game, it all is symbolic and it's okay that only a small percent of players understand them fully.

WoodForTheTrees_MakingOfAllSketches

WoodForTheTrees_MakingOfTiles2

Right next to creating the world system in Unity the hardest part of the game was actually planning it. I'm never big with story (something I really have to train), so I just wrote down a lot of things I'd like to say. Not everything made it into the game. And I laid out the puzzle progress on paper as soon as I decided that I would actually have puzzles. But only by actually implementing them I'd see if an item would make sense or not and from time to time a whole path was changed - thankfully always for the better.

Unfortunately I was not able to follow my initial plan to make the game within 48 hours ("Compo") and had to extend to 72 hours ("Jam"). I never felt that I would actually be able to finish it, which send me to a rollercoaster of emotions during the game jam - either I was relaxed and had a "it's okay, I don't care" attitude, or I was angry at myself that I would fail at Ludum Dare yet again. I'm still surprised I actually finished - and it sure helped that for the Jam I didn't have to create my own music. I suck at this still, and don't stop hoping this will change some day. Instead I used a track by my brothers, which they composed many years ago for a game prototype Jana and I made in university. It fits the game well enough and actually adds to the symbolism of Wood for the Trees.

A monster?

After several days between me and the development I can now think about the game again. In hindsight I would change a few things, especially as players rightfully complained about those. Being able to re-read the notes and texts would be a great addition, and probably easy to do. Not removing the notes in the game would be a good start for that. Moreover, the hit boxes for the clickable objects are sometimes to small, and generally it's not clear enough if you can interact with something or not. I would add a few more descriptions to some elements in the game, and also tweak the controls so they would be easier to understand. And I would take extra-care that players find the solution to the first puzzle easily. Last but not least I'm disappointed I couldn't add any sound effects - not even some step sounds!

If I find time and motivation, I might do these changes and upload a post-jam version.

WoodForTheTrees_MakingOfPress

In any case I'm happy that Wood for the Trees already got some media attention - AlphaBetaGamer made the start (with a title optimized for SEO a bit too much), followed by WarpDoor, PC Gamer and Killscreen. Wow! It shows once more that pixel games - even fake ones - are the way to go I guess. And I visited the A MAZE (a festival for indie games in Berlin) a few days after Ludum Dare, so I even made an Android build of my game. It ran very laggy and the controls weren't working correctly, but it was cool to actually being able to show something when talking about it. Even though I didn't show it around that much I had a lot of fun - the fruits of productivity.

ld35_20160418_144327_513

If you're a participant of Ludum Dare 35, you can rate Wood for the Trees here. In any case, the downloads can be found on itch.io - have fun!

And here's a video - be aware, it's the full walkthrough, so of course it contains spoilers:



Making-of video 5, Artbook, Honorable Mention

Yes, updates seem to become rarer and rarer. The main reason for this is that we still do not have a new project. Yes, we do have plans, but as usual nothing is set in stone yet, and nothing drove us into a development frenzy. Since the release of TRI we created a few internal prototypes and game jam games, some of them I wrote about on my personal blog. We also update our Facebook page more often than this blog, as some news are tiny.

And while we planned and created ideas and abandoned them every month, we were also giving interviews for local radio and TV broadcasts and local newspapers - so it's all in German. Press came when they heard that we won "Best Youth Game" at the German Computer Game Award 2015, so this is a nice side effect. Jana also created a booklet for German indies, which you can grab at the upcoming Gamescom 2015, or just read it online thanks to Martin Nerurkar. (Yes, we will be at the Gamescom, but mostly as visitors only.)

Another thing we did was filming my brother Ludwig Hanisch in his basement, where he created the music for TRI. It's an interview of around 15 minutes about family, inspirations and instruments. Watch it now - it even has English subtitles!

In order to create a more extensive, more interesting post-mortem of TRI, we made a digital artbook. Even though I already wrote a short retrospective about TRI's development, I felt it was necessary to close this chapter in a much cooler way. Thus there is the artbook now, which exists in two versions:

  • The full edition (94 pages) contains it all, background information, WIP screenshots, concept art, scribbles, etc. - everybody who bought the deluxe edition of TRI has it.
  • The lite edition is free to download for everybody - it contains the first 51 pages of the full edition and is only missing the transcript of the developers' commentary; the very same commentary you can also unlock in the game.
tri artbook cover tri artbook example page

Oh, and one last thing: to our surprise TRI got an Honorable Mention at the 2015 Geekie Awards, which is pretty crazy if you consider the high-quality competitors. Thanks to the judges for the mention!

geekie awards

That's it for today. Hopefully we have more news sooner next time!