Category «Videos»

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:

Ludum Dare #35: Wood for the Trees (Full Walkthrough)

How to make an AAA game in 2 days

Before the Global Game Jam 2016 started I gave a short talk about how to make an AAA game in 2 days (as the GGJ is 48 hours long). Of course I have no idea how to make an AAA game, but I thought that sounds more interesting than "How to polish your game in a day". So yeah, it was just about giving a jam game that small bit polish so it wouldn't look that much like a jam game.

I started by talking about some experiences I made years ago: how 2K contacted me as they had this new game - Assassin's Creed - and they already worked a day on it. Their prototype consisted of the protagonist Günter (or so) walking around. But they didn't know how to make it any better. That's why they consulted me. And here is what I told them.

First I noticed how the movement wasn't very smooth, and I showed them how to use tweens so the player character would look professionally animated, even though it was a single sprite. It was a bit of a pain, as tweens need careful coding. For example, as long as the player is tweening, don't let the user change the direction, and so on. But all the sweat paid off.

How To Make An AAA Game In 2 Days - Part 1 - Tweens

(If you use Unity, don’t use iTween. DOTween and LeanTween are quite okay, though!)

Afterwards, I explained how the same applies to the camera: the more movement is there, the better. We all know how cool AAA games use tracking shots for everything. You can do the same! But using Lerp() to make the camera somewhat smoother can be tricky, as sometimes the player can be too fast and not see where they're going. This is why we add some kind of foresight. This talk from the GDC 2015 can be helpful, even when not doing a sidescroller.

How To Make An AAA Game In 2 Days - Part 2 - Camera

Apparently the original AssCreed had some teleportation mechanic, but it looked bland. I advised Lionhead to add some transition effects. Those can also be useful when the player gets hit - just color the screen completely red!

How To Make An AAA Game In 2 Days - Part 3 - Transitions

My game Snakoban has another kind of effect for changing levels. It was a bit of work, but everything is better than just changing screens without any transition.

Snakoban

"Never forget to shake the screen," I told the AssCreed developers. "And of course, use particles everywhere." Every new particle in the game is another step to AAA, as they give instant feedback to the user that something is happening or has happened. And they look nice, too, so even as pure decoration they are useful.

How To Make An AAA Game In 2 Days - Part 4 - Particles

Our very own game prototype Power of Love has trails for the player characters. It looks cool, because it adds the illusion of velocity, speed and fast movement.

Power of Love

Even with all the improvements so far, Blizzard's prototype looked kind of flat. So I introduced them to the concept of layers - giving the player a shadow, even a simple one, already creates the illusion of depth. Having a foreground and a background with different scrolling speed ("parallax scrolling") is awesome too.

How To Make An AAA Game In 2 Days - Part 5 - Layers

Although they already worked on the prototype for a day or so, they still missed the most important thing in a game (or any medium, really): emotions! Always take care your game evokes feeling. This is why we improved the story a bit, worked on the colors and chose a cool music that fits. (I think they changed the story later.) Anyway, humor is also cool, but I don't know much about that. It’s up to you, dear reader!

How To Make An AAA Game In 2 Days - Part 6 - Emotions

Of course, music is great, but sound effects are needed, too. Just like particles, sounds add a lot to the feedback and the atmosphere. Foot steps, "ouch" sounds, you name it. Sound can even create things that aren't there! Want a forest full of animals? Just play a sound loop with rustling in the leaves and singing birds, and your graphics department can leave early, because they won't have anything to do.

How To Make An AAA Game In 2 Days - Part 7 - Sound effects

Obi Wan gives a good lession, in this regard: it's only real if it has a sound!

Obi Wan and the sound of laser

For the final touch Crytek added simple light effects, to focus on the important things in the game (the player), and increase the atmosphere. Nobody could believe this was still the same game, just with a bit of bling created within a few hours. And we all know that Assassin's Creed became a big hit!

How To Make An AAA Game In 2 Days - Part 8 - Lights

(You can download the "game" here. It was made with Monkey-X. The tileset is from Silver IV. The dust is from here. The first music track is by my brothers, the second one by Matt Goles. Of course, Assassin's Creed is a trademark of Ubisoft.)

Jana visited Ramallah for a workshop

Ramallah Street

It's always a great experience for me traveling other countries. Not only to visit new places and meet different people, but as a welcoming reset of perspective. Getting to know places like Ramallah in Palestine is such a journey that often helps you experience things differently than you thought they would be. In Germany we mostly hear about Palestine in the news, when terrorists are bombing people or a new election is running. My friends and family were worried for my safety, not only because of Palestine, but moreover my plane landing in Tel Aviv, Israel - also mostly known to Germans for bombings, stabbings and elections.

Only a few people know that students in Ramallah study Computer Science, create games and were going to take part in the Global Game Jam for the first time this year.

Ramallah city

As it turns out, everything is different than expected and my invitation to give a workshop for students became a pleasant trip. Of course, the infamous questioning of Israeli airport authorities every flight is starting with, the twice, thrice check of your bags, is annoying. Whatever, you tell them the story of your life in twenty minutes and be done with it...

As a German traveling this region is somewhat special, as you get reminded of your country's own history and the parallels to the ongoing conflict more than once. It's not only the Holocaust I'm talking of, but also the separation of a country through a wall. A separation that not only cuts off people locally, but also mentally. It's saddening how few everyone knows about each other, despite having free internet access and therefore unfiltered information. But I guess a separation like that sits deeper than the lack of information and I'm not sure my short travel report will give this deep wound any justice. So let's focus on the stuff I understandgames!

Every year on the last weekend of January the Global Game Jam takes place. The whole world jamming to one theme in local hubs together and Ramallah was jamming this year, too. Thanks to the French-German Cultural center, Thorsten 'Storno' and his team from the German Indie festival A Maze, the freshly founded local maker space and the Palestine game developer Pinch Point this was going to happen. Ammar Tazami from Pinch Point and I were giving workshops in advance - about game art and design for game jams from my side, and Ammar about 'Working with Unity'.

The participants where Computer Science students from the whole country, but mostly the Birzeit University near Ramallah. The number of women in my workshop was astonishing. Okay, one participant 'cheated', by bringing his two sisters with him, which was great.

Although, according to an interview with Palestine-based marketing and PR head Katy Hanna 70% of the Birzeit graduates are women. Are there really more women studying computer stuff? I would like to know more about that!

Ramallah market

Ramallah was founded by Christians and still has a lot of churches. And therefore also bars that serve booze. Although well known, Ramallah only is one part of two cities growing into each other. The bigger part (ca. 120.000 inhabitants) is Al-Bireh, it's Muslim sister.
What confused
me and a lot of people I met is that Ramallah (together with Al-Bireh) seems to be a city like any other. Sure, oriental with hundreds of one-man street shops and carts, loud, vivid, crowded and no car movement without reflexive honking. The streets often miss some kind of pavement, which is either non-existent or used by palms and olive trees, therefore people walk between cars. If they would have the ability to honk, they probably would.

Ramallah crowded

But between women wearing colourful head scarfs (or not) and men sometimes clothed in thawbs, you may spot hipsters and always well-dressed young people. They have Macs, iPhones and probably visited or even studied outside of Palestine. The only difference (well, I was there for three days) is the ubiquitous sense of being locked up. Even though Palestines can travel, it's not an easy process and has to be allowed by Israeli authorities, while flights can only happen from Jordan. You might easily forget all this while sitting in one of the many cozy cafés or bars, drinking delicious Arabic coffee with cardamom or the new Palestine Shepherds beer.

workshop

Therefore it was a pleasure to meet some of the local developers, although for a much too short time. My talk mainly focused on simple tools to restrict yourself. I feel that beginners often try to add too much to a picture or game in order too make it more interesting. But the better approach would be to focus on a few elements only and flesh them out. In the end I gave the students a small game Friedrich and I created together shortly before I went to Ramallah. Students had the task to exchange the games graphics and come up with new graphic assets, remembering all they have learned in the last three hours. One of the students, Ahmad Nairat, sent me his graphics (the one on the bottom):

LongTongue_Mod

Two weeks after me, Thorsten and Matthias Löwe came to Ramallah to prepare the Global Game Jam. Look at what the guys in Palestine created!

See my workshop pdf here.
Load our game Long Tongue here.
See more of my fotos from Ramallah here.