Two years ago, Techland released the zombie-hunting parkour game Dying Light, which won praise with critics thanks to its unique movement and traversal system. If that game inspired you to dive into the world of Parkour gameplay, you might want to check out this upcoming talk from Techland's Bartosz Kulon, a senior game designer on Dying Light, who wants to share 20 simple steps to improve your movement mechanics.
Since Dying Light was a personal favorite for some here on the GDC team, we've reached out to Kulon with some questions about his career as a game developer, and what he thinks young programmers should do to get into the game industry. You can read his full answers below!
Tell us about yourself and what you do in the games industry.
I’m an optimistic guy that can be creative and spreads this creativity (and optimism ;-)) among people so everyone around me is happy ;-). Currently my work positions is called Gameplay Designer but before that I was a programmer that was influential in design and even now days I do some programming so I’m a hybrid of both. My expertise is player mechanics and highlights are combat, skills, movement in Dead Island and Dying Light. Before I started to work in the games industry I’ve managed (by some kind of miracle ;-)) to get a master degree in computer science and my faculty had a very strong emphasis on mathematics - so this is handy in my line of work.
2. What inspired you to pursue your career?
In my childhood I had 2 dreams for my career - I wanted to become NBA player or make games. This was based on my passion for basketball and video games. Unfortunately God didn’t give me enough height (1.7m about 5.6 feet) so the choice was obvious ;-). I’ve decided to pursue the second dream.
Fortunately enough I’ve always had good skills in math and creativity. Back then making games was all about that - graphics was still in early 2d pixel so I’ve chosen the path of a programmer (also I didn't’ have any art skills ;-)). The other thing is that there were no special schools / universities that could guide me to the gaming industry. I had to trust my gut ;-) (no internet/ or very early stage of it). Nowadays I would choose same education (self study) road but it wouldn’t be a lucky guess.
Going back to the point of the question though - games were the inspiration. All kinds of them. The fact that the medium could amaze me, give me chills, make me smile, make me cry. No other thing can do that for me - so You could even say - it was love for games in general.
3. Without spoiling it too much, tell us what you’ll be talking about at GDC.
The talk will tell a story about what decisions (and mistakes) were made in designing and implementing parkour (some parts of it - because the topic is huuuuge) in Dying Light and how it influenced the whole development. It will be a case by case analysis so no boring theory but just real life examples :-). Oh… and no code - only cool pictures and myself waving hands in the air to explain them :-D. So everyone's invited - no entry requirement, just hunger for knowledge!
4. What are some of the biggest challenges you face in your work?
Basically I always tend to go around the same set of questions (and how to answer them or solve the problem that they give):
How to make the player happy?
How to predict what are the intentions of the player?
Is this thing/ move that we’ve made cool?
Does it fit to the game world?
How to make it work faster (performance wise)?
How to make it more user friendly?
How to make this cool idea that I have a reality?
Will this break the game?
5. What are the most rewarding parts of your job?
The whole development process is cool - from:
Coming up with an idea - > thinking how to put it in the game -> splitting it into tasks -> implementing -> iterating to final touches is just pure fun.
The fact and that I have the skills and the team to be able to make it happen is really really amazing.
But the real reward comes when the feature is done - seeing a smile on players faces when playing the thing that we have worked on (during the development - colleagues from work; after the release - reviews, forums or video compilations) this is something that I live for.
6. Do you have any advice for those aspiring to join your field someday?
The same old talk that everyone has:
Don’t give up - follow your dreams. If you love games there is always a thing that you could do to create them. Every person with passion can help in development. Passion can get you through every obstacle that you will encounter.
But if you want to do similar things that I do:
• Study math, physics (alone or in schools/ universities it doesn’t matter - the paper is irrelevant, skills matter!)
• Learn programing and practice it by creating simple games
• Play games - see how others do it, think how you would improve them, think what could break them (too much is also a bad thing!)
• Read about games - you have finite amount of time so you won't be able to play them all but knowing the industry and trends is something crucial to be a successful developer. Also this can give you inspiration to your games (ie. a car game can have a cool moment that can be easily translated to movement of the character)
• Use other media (books, movies, music) - they are an infinite inspiration for you
Dying Light was created using Techland’s in-house engine. How beneficial was using your own engine to incorporate parkour movement into the game?
It was very beneficial for us to use our own engine (this is something I talk about in my lecture but as an example)
Detecting ledges to climb required from us a lot of raytraces (over 200 per frame) which are performance heavy. But knowing the detection algorithm engine team could implement a special case of parallel groups of traces to drastically decrease the cost of them so a single group (from 5-100) was basically done at a cost of several regular traces.
The examples are not only valid for parkour, but building the whole world could be improved with tweaking the engine to our needs.
Can you give us an example of a weird parkour related problem you encountered during development?
Again this is something that I talk about in the lecture:
A simple jump in a first-person perspective game is much harder than people would think (at least in a game where timing of jump is crucial in gameplay elements) . The feel where is the correct spot to jump off vary between people (some tend to jump to soon, some tend to jump too late) so we had to implement 3 type of assist algorithms to help the player with jumping from the correct spot.
So something as simple as jumping is actually a pretty complex thing (and it gets harder with more difficult tasks).