Job Experience
April 2010 - present, Digital Extremes, London, Canada
- Generalist
programmer on multi-platform (X360/PS3/PC) project. Focusing mostly on multi-player
aspects, but trying to put fingers in other subsystems as well. Optimization/improvements in Evolution Engine. Details
on request.
May 2009 - March 2010, Starbreeze Studios, Uppsala, Sweden
- Senior gameplay/engine programmer on two multi-platform projects (new Bourne title + undisclosed project) for Electronic Arts.
- AI/gameplay/low-level optimizations. Shaved about 20% from object update
loop time. Significantly reduced number of per-frame cache misses, improved
memory usage patterns, eliminated low-level problems found with PIX/SN Tuner,
tweaked threading primitives, parallelized ray queries,
- Ported MemTracer to PS3, responsible for fitting game in memory on X360/PS3,
- Worked on gameplay related unique selling points (more details on request).
Jan 2004 - March 2009, CD Projekt Red, Warsaw, Poland
Feb 2009 - March 2009, senior programmer, confidential project, details on request
- integrated beam-tree based visibility system,
- experimented with multi-threaded rendering system (two different approaches, DX9).
Dec 2008 - Feb 2009, senior programmer, The Witcher 2 Technology- "Guest" appearance, in 1.5 month, working with unknown technology, I:
- integrated WWise sound system, including editor support and integration
with WWise toolchain (gained basic experience with wxWidgets),
- optimized game on X360 (reduced hitches by parallelizing costly operations, cut per-frame L2 cache misses by over 20%),
- ported MemTracer to X360 and found a way to save over 70MB of memory,
- helped in developing an ambient occlusion baking tool (wrote KD-tree based raytracer, multi-threaded for maximum efficiency),
May 2008 - Nov 2008, senior programmer, The Witcher: Rise of the White Wolf (PS3/X360)
- Sole programmer on CD Projekt Red side.
- Coded prototype/participated in designing a new combat/movement/enemy behavior system.
- Acted
as a consultant on all programming related matters. Spent 1.5 month
working in Lyon helping and consulting Widescreen Games before crucial milestones.
Jan 2008 - Apr 2008, senior programmer, The Witcher Enhanced Edition (PC)
- Using tool
developed in spare time tracked and fixed memory related issues
(reduced memory usage by ~20%, fixed leaks, improved usage
patterns).
- Optimized loading process, shortening load times by about 80%.
- Fixed some other obscure (heisen)bugs occuring once in a blue moon (memory corruptions, multi-threading).
Jan 2004 - Dec 2007, tools/gameplay+AI/3D programmer, lead gameplay programmer since May 2005, The Witcher (PC)
- Led
a team of 4 other programmers dealing with all kinds of gameplay/AI/GUI
related issues, responsible for scheduling/work balancing, mentoring,
- Ported existing toolset chain (Bioware Aurora) from OpenGL to DirectX9, extended its functionality, created Cutscene Editor,
- Responsible
for parts of rendering system - dynamic soft shadows, visibility
system, resource caching, normal mapping, volumetric fog etc. Gained basic experience with MAX plugins.
- Implemented
major gameplay systems: NPC behavior/AI (eco)system ("living cities"), keyboard
control, parts of game combat/mechanics/quest system, economy, save/load,
recoded and optimized object processing framework.
- Created
various low level system utilities like crash reporters/stack tracers
that proved essential in the later stages of development.
- Tied up loose ends: optimization, memory management, copy protection,
G15 support, Games For Windows, minor physics modifications (stability,
decapitation), low-level utility classes, GUI controls no one else wanted to code and so on.
- Took part in the recruitment process (hiring new programmers).
May 2004 - Feb 2005, CSP Mobile, Germany (outsource)
- Ported
over 30 games to various phone models (e.g. Nokia S40, S60, Sharp GX20,
Sony Ericsson Z1010, Motorola T720/V525, Samsung E700)
Oct 2003 - May 2004, Overloaded, The Netherlands (outsource)
- Coded/participated in designing Super Table Soccer game (Nokia S40, S60, Alcatel).
May 2003 - Jan 2004, City Interactive, Warsaw, Poland
- Created
AI system, efficient collision detection system (hundreds of objects),
mission scripting system (coroutines in Lua), low level utilities
(profilers, object model).
May 2002 - Jan 2003, 7th Sense s.r.l., Palermo, Italy
- Authored
most of the game related code except for low level engine and UI (player control,
AI, combat, path finding, event system, scripting system).
- Phantom, the Ghost Who Walks - Gameboy Advance, finished, not released,
- Mandrake, Shadow of the Vehme - Gameboy Advance, finished, not released,
- In 2005 parts of my game engine have been used in a GBA conversion of Paper Boy.
1994 - 2001: Independent work
- Coded object oriented demo framework (C++, DirectX),
- Created demo/game engine for Gameboy Advance (C++ and ARM assembler),
- Experimented with graphical effects in Java applets,
- Had fun as programmer on so called demoscene
since 1994. Created several demonstrations, some 3D engines (most of
them software based, some in 80x86 assembler, some in C/C++, one in
Visual Basic (sic)), module player, custom "flat-real" mode
extender.
More info about my (selected) past projects can be found
here.
Skills
- Proficient in C/C++, assembler (x86 mainly/some ARM/PPC), Java (J2ME), Python, Lua, NWNScript, Perl, C#
- Experience with Windows/Xbox 360/PS3/GBA/J2ME development enviroments.
Education
- M.S.,
Economic Sciences and Management, Nicholas Copernicus University in
Poland, department of Econometrics and Statistics, 2002. Master thesis
subject: Neural Networks for Stock Market Forcecasting.
Included Matlab program for stock market predictions (neural networks +
genetic algorithms for selecting most efficient network topologies).
Publications
- "Inteligentne
wskazniki z biblioteki Boost",("Boost Smart Pointers") published in
Software 2.0 Extra, #12 (Nov 2004).
Awards
- 2nd place at General Proube 1996 (realtime graphics demonstration, software rendering)
- 1st place at Gravity 1996 (realtime graphics demonstration, software rendering)
- 3rd place at General Proube 1997 (realtime graphics demonstration, software rendering)
- 3rd place at CFXWeb Java Applet Coding Contest #2 (2001, applet theme: Light Rays).
Spoken Languages
Polish (native), English, basic understanding of German, Italian, Russian and Swedish.