Phantom, the Ghost
Who Walks and Mandrake, Shadow of the Vehme
My first commercial projects - two
games for
Gameboy Advance Platform. I list them together because they share
engine and graphics style. Phantom, however was a fast paced action
adventure game, while Mandrake had many RPG elements.
 |
At that time I worked at
Italian company 7th
Sense. Both games have been created from the scratch in about 8 months.
Unfortunately, just before the release our publisher got into some
financial troubles and canned both projects. Still think it's shame
because they were really something at that time. On the left you can
see example of chained barrel explosion. |
| I was responsible for most of
the game related
code. This meant everything except the UI and low-level engine. Things
I was most proud of were optimized A* path-finding system and scripting
language. We allowed about 10 NPCs at the same time and it worked
smoothly at ~16MHz machine. The scripting system was really simple
assembler-like, event-based, but it allowed our designers to create
things I'd never thought about (my favourite were Indiana Jones style
stone chasing the hero in one of the dungeons and boss fights). |
 |
 |
Mandrake was a little bit more
complicated
because of his unique spells (but he couldnt use a machine gun :). He
could, for example, summon his astral body and sneak around in this
form, walk through the walls etc. I left 7th Sense in January of 2003,
but I still have fond memories of the company, it was a great and very
gentle start in the industry (almost no overtime! \o/). |
WW II - Pacific Heroes
At the beginning of
2003 I returned to Poland
and after 5 months joined some of my demoscene friends in Warsaw based
company - City Interactive. I worked on two projects there - WWII -
Pacific Heros and Project Freedom.
| WWII - PH was rather simple
(done in 4-5 months) arcade game. I wasnt a member of game team, but it
uses parts of my engine. |
 |
 |
I was responsible for game
object system,
collision system, AI, parts of user interface (radars, HUDs etc). I
co-authored a system for defining and controlling missions (in Lua,
based on coroutines). |
Project Freedom (Starmageddon 2)
My second project at City, more
complicated one.
Initially, it was supposed to be a space RTS (think Homeworld), but it
morphed to space shooter.
| PF uses modified
and enhanced WWII-PH engine. Things
I spent most time on were collision system and group behaviours.
Collision system had to handle potential collisions between thousands
of objects in 3D space (you could collide with any object in space and
push it, so that it collided with another). I experimented with various
algorithms and narrowed choice to loose octrees and sweep-and-prune
(final implementation uses loose octrees). |
 |
 |
For realistic squad behaviors
I employed boids
algorithm (as described by Craig Reynolds). I had to modify it so that
ships move in organized formations rather than as flock of birds. Other
than guarding it's formation position each ship had some typical goals
that could override the basic ones like chasing opponents, avoiding
obstacles and so on. For this game I also had to implement AI for other
kinds of objects like ground turrets and mech walkers (they used
flocking algorithms as well). |
The Witcher
In January 2004 I moved to another
Polish company - CD Projekt Red Studio (now known as CD Projekt Red) to
join The Witcher
team. It's the biggest game project in Poland - a RPG game based on the
stories of the most famous Polish fantasy writer - Andrzej Sapkowski.
| The Witcher uses heavily
modified version of
Aurora engine by Bioware (used in Neverwinter Nights). We rewrote most
of the components, I think only sound system wrapper, scripting
language (Neverwinter Script) and parts of resource manager were
untouched. (early shot on the right) |
 |
 |
Other notable 3rd part
libraries include
SpeedTree for vegetation, Karma for physics (ragdolls, rigid bodies)
and Miles Sound System. I started as tools programmer and my biggest
tasks were porting Aurora Toolset to DirectX and coding Cutscene
Editor. Currently we're creating our own toolset chain in Microsoft
Visual C++ (Aurora Toolset is in Borland C++ Builder). |
| Later my role changed to
3D/gameplay programmer.
I implemented dynamic soft shadows system, volumetric fog,
normal/parallax mapping, optimized light manager, resource
caching and
visibility determination system based on portals, anti-portals and BSP
trees.
In the "spare" time I worked on low-level/system functionality like
crash reporters, stack tracers, memory management. |
 |
 |
Since May 2005 I've been
working as a Lead Gameplay Programmer. My additional
responsibilites include leading team of 4
other programmers and providing most of the gameplay related solutions.
Recently I've been working on a new AI system (mix between scripted and
emergent AI).
The Witcher has been released in November 2007 and turned out to be a
success, especially for a game done with relatively unexperienced team.
We've collected pretty much 100% of PC RPG Awards (usually beating Mask
of the Betrayer by Obsidian veterans), some general RPG (beating Mass
Effect) and even some PC Exclusive GOTY of 2007 (usually in front of
Crysis). All in all - great feeling after 4 years of hard
work.
Proud of my team and personally I'm satisfied with the 'living cities'
system I implemented which has been generally praised in reviews. |
Some of the most notable
awards we've gotten so
far:
|
 |
 |
 |
 |
| Gamespy's PC RPG of the
Year |
IGN's Best PC RPG/Best
Original Score |
Voodoo Extreme's Best PC
Exclusive
Game, Best Computer RPG |
GameBanshee's RPG of the
Year |
 |
 |
 |
 |
| Gaming Heaven Game of
the Year |
RPGamer PC RPG
of the Year |
Gamespot Readers' Choice
Winner - Best RPG |
PC Gamer - RPG of the
Year |
|
After some weeks of
regeneration we started to
working on Enhanced Edition of The Witcher. I spent 5 months on this
and it was rather hard work, mainly fixing some obscure Heisenbugs
happening once in a blue moon and trying to take memory management
under control. Thanks to my MemTracer
tool I managed to cut down memory consumption by 20%, improve usage
patterns and remove some nasty leaks. On top of that I optimized our
loading process, speeding it up by ~80% and reducing size of loaded
data (second fix was one of the most awaited and crucial points of EE,
I implemented basic version in the very first patch and sped it up even
more later). In 2010, IGN selected The Witcher as one of the 25 best modern PC games (last decade give or take), in big part thanks to EE. |
Bourne + Top Secret Project (Starbreeze Studios)
Sadly,
cannot give much details. I was mostly working on Bourne
project
, but did some engine tweaks/fixes/optimizations as well. Hopefully
will be able to put some screenshots here later.
[Update]
Sadly, Bourne game has been cancelled in April 2010, before any
official media has been released. You have only my word that it could
be a really cool game.
Top Secret Project (Digital
Extremes)
Again, top
secret project, all I can say it's an AAA game for 3 big platforms.
Other projects
Some of my demoscene work (1994-2001)
can be found here.
I also coded one game for mobile
phones (Super
Table Soccer, published by Overloaded) and ported over 20 titles to
various phone models.
Some screens from Super Table Soccer:
  

|