Thursday, 8 May 2014

People of Frictional: Patrik Dekhla

Seventh post in the series. You can read the other posts here.

Who am I?
I'm Patrik Dekhla, scripter and gameplay programmer. I joined Frictional back in 2012 and since then I've worked full-time on SOMA, making the gameplay feel awesome and terrifying.

Like the rest of the team, I work from the comfort of my home, which is in the south of Sweden. This is how my workspace looks (only it's generally a lot messier):


Background
Growing up, I always had games around me thanks to my gamer dad, which sparked my gaming interest at a very early age. This developed into a bit of an obsession over time, and for a large part of my childhood almost all my thoughts circled around games. If I wasn't playing games, I pretended real-life was a game or drew game levels on pieces of paper and "played" them in my head. I'm not sure how healthy all of that was.

I always loved it when games came with editors, as I usually found playing around with those even more fun than the games themselves. I tried learning QBasic (an old programming language) when I was 9 or 10 years old and managed to make some terribly written text adventures in it. That was about as close I got to making games for a very long time. Even though it seemed like a cool thing to do, I just didn't know where to start.

As I grew up, I stayed interested in games but outgrew the obsession a bit. I studied acting for a good while and thought for sure that was what I would be doing professionally in the future. Then, as I was looking to take the next step in my education, I got a postcard dropped on me from The Game Assembly, a game development school, and something convinced that I had to give this a shot. I sent them an application and got accepted.

The education was brutal. Some weeks we would only leave school to eat or sleep. Some nights I slept in a couch at school to save time. We had tests that almost everyone failed at. We had to come in on weekends to fix old projects. We got conflicting, vague or just plain weird guidance from our teachers. The entire experience bounced back and forth between amazing and horrifying. But in the end it was worth it for all the things I had learned. Game development was no longer a mystery.

RTS/Stealth game made at school

After my 6 month internship at a studio in Denmark, I saw a blog post about Frictional hiring a scripter and decided to apply. After an interview, a work tests and some nervous waiting, I got a nice mail from Jens letting me know I was welcome aboard.

What do I do?
Though I get to do work in a lot of different programming, scripting and design areas, most of the time I work in AngelScript, scripting events and interactions specific to a certain level.

My work on a level starts after Thomas has written the design and an artist has had the chance to build the most essential parts of the level. I have a long meeting with Thomas about the design, divide the different scenes and events into tasks and get started.

The first thing I do is to script a rough version of the most important events to get a sense of how things will play out. As I do this, some design issues usually make themselves apparent and I have to deviate a bit from Thomas' instructions. This is natural as it's not possible to write a flawless design document without trying things out in the game.

Once I'm done with this rough outline, I get some feedback on the progress so far and start to flesh things out further. This means among other things that the events get a dose of nice looking screen effects and sounds, some of the timing is reworked and fail-safes are added in case the player behaves in unexpected ways. Some puzzles and events need multiple iterations before they feel quite right, and some times they simply never do and they get removed and replaced by something completely different.

Eventually the entire team gets to play through the level and give their feedback. Based on the feedback I spend about a week more tweaking and fixing until the level is all nice and shiny. Then I move on to a new level.

Of course, the level is still not done. There are still proper sounds that need to be added, art that has to be polished and voiceovers that have to be implemented; not to mention all the redesign that happens as we refine the game as a whole. So eventually I'll have to return to the level once more to tweak and fix.

That should at least give you an idea of what it is that I do. It's a very fun process really. With SOMA we're trying to do a lot of interesting stuff around how the player interacts with the story, which means that with each level I work on I'm faced with some totally new and cool design challenges to overcome. I'm looking forward to seeing your reactions to some of my stuff when the game is released!


1 comment:

  1. Aaah... QBASIC :D

    RANDOMIZE TIMER
    name$ = "Patrik Dekhla"
     
    FOR i% = 1 TO 100
       COLOR FIX(RND * 15) + 1
      PRINT "Remember me, "; name$; "?"
    NEXT i%

    ReplyDelete

Note: only a member of this blog may post a comment.