GIC 2016, Poznań - day two, continued

Okay, I admit - my recollection of events from here onwards is rather fuzzy. Might be not enough coffee, but it's probably related to the fact that at some point I got less scrupulous with note-taking and instead spent a good chunk of most lectures slaying hydras. However, after a valiant effort, I somehow managed to still walk away with a few pages of notes...

Make sure you haven't missed day one and first half of day two.

The Beauty of Noise - Structured Story vs Open World Narrative

The best thing about writers is that they are guaranteed to deliver an engaging speech. Kamil Krupiński certainly did not disappoint - his presentation left me all like "....great, now I want to make games again". He said all the right things to make me feel sentimental and inspired.

It would not be my first time if I said that I love games that cause great stories to happen - not in the obvious, predefined way ("this game had a really nice plot, maybe I can discuss it with someone") but in a more spontaneous and exciting matter: "I want to tell everyone what just happened!".

Using a game as a medium to tell a story is kind of straightforward, not unlike movies or books. This approach is still predominant. Kamil pointed at the latest Metal Gear Solid as an example of how games tend to be split into "story fragments" and "game fragments". This seems to be a necessity: if the player's attention is focused on action or puzzling, then conveying a story is difficult. Designers end up drawing borders: this is story time, this is game time.

If you ask me, I'm often disappointed by cutscenes. I get it - movies have much longer storytelling tradition than games, so it's easier to go all "hold on, stop playing, we want to tell you a story" on the player and just serve him a few minutes worth of scripted scenes. Some games at least let me walk around during these... I understand where it comes from but, I often found myself frustrated when a game would interrupt me over and over, just to force me into listening to another piece of dialogue (I'm looking at you, Darksiders). Compare and contrast Devil May Cry 3, where there's a bunch of cutscenes too, but they are more spaced out. Also the first impression is fantastic - a short self contained level full of action starting at minute one. But I digress...

I'd like to really thank Kamil for saying the big thing out loud:

"story" has an obvious meaning, but there's an alternative meaning that we can identify: story told not at the player, but with the help of the player

Next time someone tries to diss something like Minecraft for not having a story, just tell them, tell them that: It doesn't need to have a story, it has more! It has a capacity to prouduce them. It has all the space and preconditions for stories to happen. This part of storytelling is unique to games and we should treasure it.

Did you get that? Have you all written it down? Okay, we can go home now. Let's play some Dwarf Fortress. /me closes the laptop

The Path of Pain: mastering game design in 35 steps

Uh... I'd really love to post a summary of this talk, but Kacper Szymczak himself presented something that I can only describe as ten years of experience condensed into a one-hour pill of wisdom (or was it 30 minutes?). I could barely catch up while mumbling "yes, master" and rapidly taking notes.

Please allow me to cherry-pick a few thoughts that especially sticked with me:

Your first work will be shit. Don't spend much time on shit, make it fast and be done with it

Guilty as charged. Getting overly sentimental about The First Big Idea gets the best of us. Ideas are your food. Don't keep them forever, don't let them spoil. Eat them while they're hot, get experience, move on.

In my opinion, the worst possible thing that can happen to a creative person is something like "I have an idea for X and I feel it has so much potential", followed by "I won't be able to make X great with my current skillset and timeframe, so I won't even start - maybe one day..."

One more thing on that topic before I bore you to death with more cliches: If you're anything like me, if you feel you lack discipline to keep working on a project for a long time, then just be spontaenous. Your biggest asset is the temporary adrenaline rush you get when an idea appears. Follow through and at least start before the feeling wears off! In my case, most blog posts were kickstarted in this exact way. it's much easier to continue.

Do not rely on fancy tools! Don't depend on automation. You'll start avoiding tasks that cannot be automated.

This is a punch in the face for a developer like myself. However, I have no other option than to agree: Going low-tech is a refreshing feeling and often opens your eyes. Also, out of all the things you're currently automating, how much you could not even do in the first place?

Symptoms of pressure:

  1. Missed the deadline
  2. Didn't finish
  3. Question the point of the task

Ooh-kay... Point taken. Next time I question the point of a task, I'll make sure to roll a sanity check to verify if it's the pressure talking. I can think of a ton of instances when I abandoned something after starting it, exactly because I ceased to see the purpose. Hey, the past me did have one back when he started the thing, right...?

Write down your thoughts to organize or share them.

I heard that publishing summaries on your blog sometimes works.

Take things apart. Write design docs for things that already exist.

HA! That's a nice one. Or something similar: build taxonomies. Take all the games you like. What do they have in common? Why is that good? Are there exceptions?

If this description rings a bell with you, just go and read the whole thing - it's well worth it.

Procedural levels in Jupiter Hell

Clearly, it wasn't enough for Kornel Kisielewicz to take a large chunk of my life away with DoomRL; he's actually making a new game and it's going to be my contender of choice for the Best Looking Roguelike awards.

Kornel is known for publishing roguelikes like crazy but I'm especially thankful to him for showing me how accessible this genre can be. Unlike the classics like ADOM or Nethack (and don't even get me started on Dwarf Fortress), DoomRL doesn't require reading a long manual and can be picked up immediately the player. It has good amount of content and a very satisfying learning curve.

The talk itself was mostly about procedural generation of maps, but hey, I cannot say I didn't leave the room excited about Jupiter Hell. This game is crazy ambitious. A big part of the roguelike appeal usually comes from the (more or less) symbolic graphics that left a big field to your imagination. Delivering a title with realistic graphics adds a ton to the challenge. I haven't yet seen anybody successfully combine turn based, rule-oriented combat with a rich 3D representation. (Gorky 17 comes to my mind, but that was a different pair of shoes.)

I must say that the presentation left me reassured. A lot of effort already went into the game engine and Kornel wasn't shy to show his solutions, including a visual node-based generator of tiles.

Generating floor plans for bases was also covered. I learned about hacks like:

  • Herringbone Wang tiles - a clever scheme of building a large map from smaller tiles in a way that makes the tile structure non obvious and also (IIRC)has some nice connectivity guarantees,
  • Scalable room layouts with optional symmetry, using a way not unlike CSS border images. Kornel followed up with a blog post that explains this.

There was also this nice technique for preparing 3D models for walls based on a floor plan. Turns out you normally need a metric ton of various edge/corner configurations to support all tricky cases, but if you use a half-size grid for wall segments, then you can build your rooms with only a few kinds of tiles (straight wall segment, inner and outer corner). This also allows to have 1-tile-wide walls with different decals on each side.

I hope Kornel manages to follow through with the idea of destructible level geometry! He mentioned that he's avoiding techniques like baked lightmaps in order to keep the flexibility of editing geometry on the fly. This is also why he was hesitant to use Unity and took the controversial path to make his own engine for Jupiter Hell, especially optimised for procedural content.

The kickstarter campaign for Jupiter Hell starts in 7 days, fingers crossed and count me in!