2015 in review

The WordPress.com stats helper monkeys prepared a 2015 annual report for this blog.

Here’s an excerpt:

A San Francisco cable car holds 60 people. This blog was viewed about 1,400 times in 2015. If it were a cable car, it would take about 23 trips to carry that many people.

Click here to see the complete report.

Epic MegaJam – “Ra”

That right there is my entry for Epic MegaJam 2015. I have Lukasz Szczepankowski to thank for the idea for the game – a simple yet catchy game mechanic that I could implement in one week.

You play as Horus, son of Ra, who struggles to bring the Pearl of Eternal Happiness over to the Sacred Shrine of the Ancients 😉

I recommend that you play with a gamepad, but if you lack one, you can control the character with A/S + arrow keys.

As for the work involved:

  • I made all models and animations from scratch
  • Same goes for the gameplay implementation
  • I didn’t make it with music nor special effects – mostly because I don’t have much experience in that area, and I prefered to focus on completing the other things, and if time would allow, I would pursue those. But as you can tell – it haven’t 🙂
  • It’s a working prototype, so mind that there are still bugs in it etc.

All in all – I had a blast creating it and I learned a ton of cool stuff!

#UE4 really is great.

Anyway – here are some screenshots. I’ll post a link to a playable version once the grand jury finishes rating it 🙂




4Developers conference presentation

I’ve been quiet for the past 2 weeks not without a reason.

I’ve been creating a presentation for the 4Developers conference – character animation techniques in games

I put it up on a familiar server for all of you to enjoy – here’s the LINK.

Be warned though – I spent almost 2 weeks drawing and animating. The presentation contains a lot of animated gifs and I hope is a treat to look at, but may severely impair your internet connection, so for those of you who’d like to enjoy it in the comfort of their local space, you can download it in its entirety using this LINK.
That way you’ll also get access to my source .blender files 🙂


PS: I almost forgot – the presentation was created using the amazing reveal.js script. There’s a commentary available – just press the S key and another browser window with it should pop up.

Again, enjoy!

Character interaction – overview

Welcome back
Welcome back

Welcome back

The poll results are in and this one has won the race, although it was close.

Character interaction is another broad topic ( the word interaction itself kind of hints it ). But if we put our animation programming glasses on, the field gets much smaller.

When I’m talking about a character interacting with something, what I have in mind is:

  • A character interacting with a static object
  • A character interacting with a moving yet inanimate object
  • A character interacting with another character (an animate object)

This could all be of course abstracted by the first point up there, or by simply saying that it’s about a character interacting with objects, but as soon as we put the movement at the top, things tend to change quite a bit down at the bottom.

Some fun after all

We know why character interaction is so important – without it we’d have our game characters just moving around in a sterile environment, all details of it separated from as with an invisible and a perfectly transparent glass wall. In other words – no fun at all.

What I want to explore while covering this topic though is what kind of gameplay mechanics become available thanks to it and how each of them puts it to use.

To give you a taste of what’s to come, here’s a few things we’re gonna be covering:

  • your character meeting and engaging in a conversation with another character
  • opening door
  • hiding behind a barrel and shooting at the incoming enemies
  • picking up a wounded comrade and escorting him to the med-bay

Each of the above employs another type of construct. Some will require you to play a specific animation at the specific place, some will require that you change your suite of animations altogether. Some will not work unless you put IK solvers to work.

How is it gonna go down

Each of the techniques I’m going to cover is a worthwhile read on its own, but a whole series of such one after another… :/
Let’s just say I’m not trying to come up with a cure for insomnia… yet 😉

Besides, talking about something without putting it in context is not cool. So what I’m gonna do is create a theme for each of the technologies. A gameplay theme that is. An actual problem that you might come across when creating your game.
Then I’ll talk about the technology and illustrate it with an example from either my own engine ( the Booster engine ) or Unity ( its animation system is a bit poor, but it’s an engine of choice for most of you, so why not extend it a bit here and there ).

Coming up

I chose my old nemesis for the theme of my next post – the door.
I’m going to talk a little bit about how this seemingly trivial problem is solved in different games. And I’ll try covering most of them.
It’ll be fun, promise 🙂