:tel:`+49 160 4345920` | akari@taisei-project.org | GitHub: :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.
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.
- Proficient with git: hygienic commits; can work on multiple branches at a time;
Debugging: RenderDoc, apitrace, gdb, prof, strace, etc.
Documentation: Doxygen, docutils
Other software: nginx, Blender, Krita, GIMP, SPIR-V tools
.. project:: Taisei Project :url: https://taisei-project.org/ :role: 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.
.. project:: Koishi :url: https://github.com/taisei-project/koishi :role: 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.
.. project:: Emscripten :url: https://emscripten.org/ :role: 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. * Designed and implemented the Fibers_ API and runtime, a low-level context-switching primitive similar to POSIX ucontext, based on Asyncify_. * Found and squished various random bugs in the runtime.
.. project:: Meson :url: https://mesonbuild.com/ :role: 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_
.. project:: RocketMinsta :url: https://github.com/kasymovga/RocketMinsta :role: Lead Developer (2011 - 2017) A formerly popular multi-feature mod for Nexuiz_, a defunct open source first-person arena shooter game. Features new game types, bug fixes, server administration tools, updated graphics, Xonotic_ backports, and more. Written in a dialect of QuakeC, an interpreted language for Quake 1-based engines.
.. project:: DarkPlacesRM :url: https://github.com/kasymovga/DarkPlacesRM :role: Fork Developer (2015 - 2017) A fork of the DarkPlaces engine which powers Nexuiz_ and Xonotic_. Features RocketMinsta_-specific extensions and compatibility fixes.
.. project:: rmqcc :url: https://github.com/kasymovga/rmqcc :role: Fork Developer (2016 - 2017) A fork of fteqcc_, a QuakeC compiler, used to compile the RocketMinsta_ source code. Features various language extensions and fixes.
.. project:: ųz :url: https://github.com/Akaricchi/muz :role: Lead Developer (2015 - 2016) A beatmania-style rhythm game written in Python with a pygame frontend. Can load osu!mania beatmaps.
.. project:: This resume :url: https://akaricchi.github.io/resume :role: Author (2022 - present) An up to date HTML version of this resume is available at https://akaricchi.github.io/resume You have revision :revision:`.`, built on :date:`%b %d %Y %H:%M UTC` The source code is available at https://github.com/Akaricchi/resume