About me


My name is Krzysztof and I’m a programmer. I’m self-employed at CodeMagic where I do all sorts of amazing things. I currently work primarily with PC, iOS and Android, though in my past I had the opportunity to embrace slightly more exotic devices, as well as Symbian OS, Nintendo consoles and more.

In my career, I worked in companies of various types and did a myriad of things: web development, writing IPTV analyzer software, handling cloud-like server infrastructures - and more. For the past few years I’ve been focusing on game development, backend programming (engines, logic, AI, animation systems, etc) and more recently - VR.

More about my past can be found on the LinkedIn profile. I also post on Twitter from time to time and have a GitHub account with some of my pet projects posted there. Occasionally, I make small contributions to ShaderToy. For direct contact you can email me (in English, Polish or Swedish) at krzysztof (dot) kondrak (at) gmail (dot) com.

Here’s a brief description of a couple projects I’ve been working on profesionally during my employment at various companies:

Power Challenge AB (2008-2009)

Power Soccer was an online soccer game played directly in a web browser. The game infrastructure consisted of a set of servers, main game client written in C++ and a web interface. Power Soccer was the primary game I worked with, being responsible for its various components including the web programming part, implementation of new gameplay features, server programming and AI improvements. During the last months of my work I was closely associated with the QA team and wrote a set of unit tests for the game. Apart from game programming, I also set up and maintained development servers for the company (both physical and using virtualization) which on my part required a lot of Linux scripting and administration.
Power Racing was a similar product - an online racing game played directly in a web browser. There I was responsible mostly for backend programming, network components (servers and web interface) and creating algorithms that would pair the players in the best way possible. The gameplay style was similar to most modern titles you can find on the consoles or the PC. The game infrastructure consists of a set of servers, a main game client written in C++ and a web interface. At the time of my departure further development was put on hold.

Some key features of both games:

  • no explicit download required: you played the game directly in a web browser, the client application was downloaded in the background via a custom Java applet
  • spread network architecture supporting hundreds of simultaneous multiplayer games
  • high quality graphics and sound with fully customizable teams/cars (names, colors, appearance, engine upgrades - you name it)
  • Training mode against AI opponents
  • realistic physical object interactions using PhysX

Footage:

ESDG Konsult AB (2007)

Agama TV (2007) - While I was working as a consultant at ESDG I was mainly involved with IP-TV analysis software for various models of set-top boxes (including Motorola and Nokia hardware). I worked with packet analyzers, network traffic optimizations and anything related to communication and DSP.

Gamelion Studios / Huuuge Games (2010 - onwards)

I joined Gamelion in 2010 as a senior game programmer but later on moved to working with the company’s technology: primarily the multiplatform game engine. In 2014, Gamelion Studios transformed into Huuuge Games.

At one point I was tasked with adding 3D functionality to the 2D-only game engine owned by the company. Written using non-fixed OpenGL pipeline, the graphics and shader code was uniformly compatible with iOS, Android and PC platforms.

Main features of the implementation included:

  • support for PowerVR compressed PVR texture format
  • support for PowerVR POD mesh data
  • all standard shader effects written in GLSL: normal mapping, specular mapping, light mapping, dynamic lighting, bloom and more
  • frustum culling and occlusion culling
  • support for Pyro Particles System
  • Oculus Rift support

Before I started working in technology team, I took part in developing several games for various mobile platforms: