I'm Anton Oreskin, a software engineer and open-source maintainer. I build applications and their reusable foundations in the V programming language: games, hardware-accelerated video, GPU interoperability, memory tools, and a development environment for Kakoune.
torus_trooper is now public: a free
tunnel-racing arcade shooter inspired by Kenta Cho's original, with its own
spacecraft, courses, and Vulkan presentation for Windows and Linux.
- Normal, Hard, and Extreme difficulty, high scores, and unlockable starting levels.
- Customizable keyboard and controller input, graphics settings, and audio levels.
- A replay library with custom names, sorting, and
.ttrimport/export.
Download for Windows or Linux. A Vulkan-capable graphics driver is required; the Linux package needs glibc 2.38 or newer (for example Ubuntu 24.04). macOS is not officially supported.
Explore the gameplay preview and controls, source-build instructions, and design guide.
vlang.kak combines VLS/kak-lsp language
features with project navigation, diagnostics, testing, and local GDB debugging.
Managed setup and updates preserve personal settings. The README includes a
recorded IDE walkthrough and documents Linux setup, recovery, and limitations.
| Layer | Project | Purpose |
|---|---|---|
| Application | v_vulkan_video |
Hardware-accelerated H.264/MP4 playback and Vulkan presentation |
| Video formats | h264 · minimp4 |
Bitstream parsing, picture ordering, and MP4 container access |
| UI and windowing | imgui · glfw |
Dear ImGui/ImPlot and focused GLFW bindings |
| Resource management | vulkan_memory_allocator (vkmemalloc) |
V-native, budget-aware memory placement, block suballocation, upload rings, and diagnostics |
| Vulkan API | vulkan |
Generated Vulkan and Vulkan Video bindings with an opt-in ergonomic API |
| Generation | v_vulkan_bindings |
Reproducible generation from Khronos vk.xml |
The vulkan module keeps the complete generated API accessible while adding
opt-in typed lifecycle, device, queue, memory, buffer, and command-pool helpers.
See its releases and compatibility notes for the current registry and compiler
matrix.
The video player's Linux prerelease adds current-stack integration, H.264 correctness fixes, and hardware decode comparisons against FFmpeg. It requires a driver with Vulkan Video H.264 decode; Windows hardware playback remains unverified. See each project's platform notes rather than assuming every application supports every CI target.
| Layer | Project | Purpose |
|---|---|---|
| Module | opencl |
Generated OpenCL 1.0–3.0 API plus typed buffers, images, SVM, events, and kernels |
| Generation | v_opencl_bindings |
Registry-driven generator, validation pipeline, and canonical source |
| Interop example | opencl/examples/vulkan_particles |
OpenCL compute with Vulkan presentation, shared memory, and semaphore synchronization |
The Vulkan particle example uses zero-copy external-memory interoperability on UUID-matched devices when the required extensions are available, with a portable host-staged fallback.
memory provides checked object and slot
pools, plus range, linear, ring, and buddy allocators for V. Its general-purpose
core does not depend on Vulkan; synchronized range and buddy variants support
shared allocation metadata. The V-native Vulkan allocator uses this core for
GPU block suballocation; it is not a binding to AMD's Vulkan Memory Allocator.
v_imgui_examples— tested GLFW/Vulkan Dear ImGui example.
Each project README documents its supported scope, native dependencies, and the shortest path to a working build.
The software and its documentation remain freely available. If you would like to support continued work on the game, developer tools, bindings, tests, and documentation, visit oreskin.de/support.