Professional work

hello friend
Hogwarts Legacy, 2020-2023

PlayStation5 and Xbox Series consoles Systems Programmer

hello friend
Concord, 2023-2024

Core Tech Programmer

hello friend
EA FC25, 2024

Systems Programmer

hello friend
World of Tanks, 2024 - present

Game Programmer

Ignoramus renderer

Ignoramus renderer

OpenGL (4.0) renderer written from scratch in C++. Uses tiled-deferred rendering pipeline and supports various different methods of transparency:

  • forward transparency;
  • depth peeling;
  • dual depth peeling;
  • order-independent transparency;
  • A-buffer (per-pixel linked list) transparency.

Video preview on Youtube.

XPBD simulation

XPBD simulation based on famous Matthias Müller papers: PBD, XPBD, Small Steps in Physics Simulation, etc. The goal of this project is to have a wide range of physics entities (cloth, bodies, fluids, etc.) interacting with each other.

Currently features basic soft-bodies and cloth. Working on rigidbodies and fluids (based on Position Based Fluids a method leveraging SPH fluid simulation I have implemented in the past) and better collisions.

Visualization is done with basic shapes in a renderer written in Vulkan. Eventually physics calculations will be transfered to compute.

Rayzigger

Rayzigger

Software pathtracer written in Zig (wonderful language!). Still a lot of features missing, but having a CPU pathtracer enables testing various ideas without having to involve the GPU. Since it has the potential of introducing oh-so-fun seizure inducing debugging sessions.

Degrugger

An experimental ELF/DWARF debugger drawing inspiration from reverse engineering tools. Mostly experimental to try out innovative debugger functionality like:

  • Inline stacks (demo in the video).
  • Multi-context watch window.
  • Basic-block like view for program flow inspection / codepath-sensitive breakpoints.
  • etc.

Simpleton’s renderer

Simpleton's renderer

Software rasterizer written in C++. Draws directly to Linux framebuffer without having to involve any graphics API whatsoever. Served as a great introduction to graphics programming – there’s no better way of learning how things work but implementing them yourself.

SPH fluid sim

Smoothed Particle Hydrodynamics fluid simulation using compute shaders. Based on this whitepaper. Served as an intro to compute shaders. This uses a rather old technique by presented by Simon Green (NVIDIA) at GDC 2010 called screen-space fluids.

In fairness to the authors, I did not do the screen-space fluids technique justice. However, that was not the goal of the project - learning about compute shaders was.

Seenes

Seenes

A cycle-accurate NES emulator written in C. Features debug widgets for:

  • decompiled code;
  • CPU / PPU state;
  • palette and pattern table;
  • RAM.

Hacker Games Vilnius 2017

Hacker Games Vilnius 2017

A multiplayer mobile game that won 2nd place at Hacker Games Vilnius 2017 hackathon.

The game requires people to join the same “game room” and then gives participants 30 seconds to collect the most points by shaking their phones vigorously.

Game app was made with Unity and backend was websocket based golang service.

Quester

After getting really frustrated with a frankly ridiculous undebuggability of a quest system on a certain project I decided to see if I can do better in a few evenings. It ended up having 90% of the features (+ some additional ones), better extensibility and a better editor. Not to mention it being 1/20th of the size.