Andrii Aleksieiev
Software Developer
+49 160 4345920 | akari@taisei-project.org | GitHub: @Akaricchi | Mörfelden-Walldorf, Germany
Self-taught programmer from Ukraine with over 10 years of informal experience, particularly in game development and modding, as well as in contributing to and maintaining various open source software projects.
Skills
Spoken languages:
English (fluent)
German (B1, learning)
Ukrainian (native)
Russian (native)
Programming languages:
Primary expertise: C
Secondary expertise: Python
Familiarity: Bash, C++, C#, JavaScript, Lua, Java, various others.
Operating systems: Linux
Graphics programming: OpenGL 3.3+, GLSL
Build systems: Meson, CMake, GNU Make
Collaboration:
Proficient with git: hygienic commits; can work on multiple branches at a time; rebase is my close friend.
Able to read, review, and integrate pull requests/patches from contributors.
Able to work with maintainers of other projects, submit and iterate on patches, discuss design decisions.
Debugging: RenderDoc, apitrace, gdb, prof, strace, etc.
Documentation: Doxygen, docutils
Other software: nginx, Blender, Krita, GIMP, SPIR-V tools
Open Source involvement
Taisei Project
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 a custom OpenGL 3.3 renderer. Written in C (GNU C11), with tooling written in Python. Runs on any modern desktop OS and in the browser (via Emscripten).
(Re-)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 system for asynchronous programming of game logic and stages in C based on stackful coroutines, with a macro-powered DSL.
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
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 07964b34, built on May 12 2024 22:43 UTC
The source code is available at https://github.com/Akaricchi/resume