Andrii Aleksieiev
Software Engineer
+49 160 4345920 | akari@taisei-project.org | GitHub: @Akaricchi | Mörfelden-Walldorf, Germany
Self-taught software engineer, over 10 years of experience leading and contributing to open source projects in game development and the surrounding ecosystem.
Skills
Programming languages:
Primary expertise: C
Secondary expertise: Python
Familiarity: Bash, C++, C#, JavaScript, Lua, Java, various others.
Operating systems: Linux; experienced with cross-compiling to Windows and macOS
Graphics programming: OpenGL 3.3+, GLSL, minor Vulkan experience, SDL3-GPU
Build systems: Meson, CMake, GNU Make, Ninja
Collaboration:
Highly proficient with git.
Can read, review, and integrate pull requests/patches from contributors.
Can work with maintainers of other projects, submit and iterate on patches, discuss design decisions.
Debugging: RenderDoc, apitrace, gdb, lldb, prof, strace, etc.
Documentation: Doxygen, docutils
CI and deployment: Github Actions
Other software: nginx, Blender, Krita, GIMP, SPIR-V tools
Spoken languages: English (fluent), German (B1, learning), Ukrainian (native), Russian (native)
Open Source involvement
Taisei Project
Major contributor (2011 - 2013); Lead Developer (2017 - present)
A free and open source Japanese-style "bullet hell" (Danmaku) top-down shooter; a fangame of the Touhou Project series.
Original engine built with SDL, with 2 custom renderers (OpenGL 3.3 and SDL_GPU). Written in C (GNU C11), with tooling written in Python. Runs on any modern desktop OS and in the browser (via Emscripten).
Wrote most of the engine, including but not limited to the renderer, audio, virtual filesystem, replay, live reloading, and threaded asset loading subsystems.
Designed and implemented a coroutine-based system for asynchronous programming of game logic and stages.
Designed and implemented a lot of the gameplay mechanics, stages, bullet patterns, and special effects.
Koishi
Lead Developer (2019 - present)
A small, decently portable C11 library that implements asymmetric stackful coroutines (similar to Lua's coroutines, but for native code). Supports many operating systems and CPU architectures. Modular design, can use boost.context assembly routines, POSIX ucontext, Windows fibers, longjmp, Emscripten fibers, etc.
Designed for use in Taisei Project, but is general enough to be useful elsewhere.
Emscripten
Contributor (2019 - present; intermittent)
An LLVM-based suite of tools for compiling C/C++ applications to WebAssembly, as well as a runtime to run them in the browser.
Meson
Contributor (2017 - present; intermittent)
A declarative build system written in Python, meant to be as fast and user-friendly as possible.
Taisei Project uses Meson extensively.
I often test unstable revisions; identify, report, and fix bugs and regressions.
Proposed and implemented some minor features for my project's needs.
I maintain custom Meson build definitions for most of Taisei Project's dependencies, including SDL2, Basis Universal, SPIRV-Tools, glslang, shaderc, SPIRV-Cross, libpng, libwebp, Freetype, libzip, zlib, ogg, opus, opusfile
SDL
Contributor (2021 - present; intermittent)
A widely used platfrom abstraction library for games and other multimedia applications.
- Participated in the development of SDL_GPU, the new GPU abstraction subsystem in SDL3:
Wrote an SDL_Render driver using the new GPU API.
Found and fixed some API deficiencies prior to stabilization.
Found and fixed various implementation bugs.
Helped with testing and benchmarking as an early adopter of the API via Taisei Project.
Helped with establishing the supported feature set.
Contributed a performant hashtable implementation.
Submitted various bugfixes.
RocketMinsta
Lead Developer (2011 - 2017)
DarkPlacesRM
Fork Developer (2015 - 2017)
A fork of the DarkPlaces engine which powers Nexuiz and Xonotic. Features RocketMinsta-specific extensions and compatibility fixes.
rmqcc
Fork Developer (2016 - 2017)
A fork of fteqcc, a QuakeC compiler, used to compile the RocketMinsta source code. Features various language extensions and fixes.
ųz
Lead Developer (2015 - 2016)
A beatmania-style rhythm game written in Python with a pygame frontend. Can load osu!mania beatmaps.
This resume
Author (2022 - present)
An up to date HTML version of this resume is available at https://akaricchi.github.io/resume
You have revision 44ba1244, built on Nov 06 2024 07:29 UTC
The source code is available at https://github.com/Akaricchi/resume