Skip to content
View antono2's full-sized avatar

Block or report antono2

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
antono2/README.md

Games, GPU software and developer tools in V

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

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 .ttr import/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.

V development in Kakoune

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.

Vulkan Video stack

Layer Project Purpose
Application v_vulkan_video Hardware-accelerated H.264/MP4 playback and Vulkan presentation
Video formats h264 · minimp4 Bitstream syntax, parameter metadata 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.

OpenCL stack

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.

Reusable memory building blocks

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.

Private infrastructure work

Alongside the public projects, I develop host: V-based web and email services running oreskin.de and my email on my own Ubuntu VPS. The work includes HTTP/HTTPS, SMTP/IMAP, certificate management, automated website deployment, monitoring and tested encrypted backup and recovery.

The source remains private during extended stability and interoperability testing of these critical services. No publication date is set. See the portfolio overview for context.

Examples and build health

  • v_imgui_examples — tested GLFW/Vulkan demo, widget gallery, ImPlot dashboard and Android examples.

Vulkan bindings Vulkan generator Vulkan Video ImGui OpenCL

Each project README documents its supported scope, native dependencies and the shortest path to a working build.

Support the work

The public projects and their 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.

Choosing a starting point

Goal Start here Role
Play a game Torus Trooper Application with release downloads
Study hardware video decoding Vulkan Video player Application and implementation guide
Build a graphical UI ImGui and examples Library plus gallery, dashboard and platform examples
Use graphics or compute APIs Vulkan or OpenCL Published modules for applications
Update generated API declarations Vulkan generator or OpenCL generator Maintainer tools; regenerate before publishing

Start with each project's README for its supported platforms and setup path. Generated bindings expose an API surface; the installed driver still determines which GPU features are available at runtime.

Pinned Loading

  1. torus_trooper torus_trooper Public

    Free 3D tunnel racing arcade shooter with replays, customizable controls and Vulkan graphics for Windows and Linux.

    V 1

  2. v_vulkan_video v_vulkan_video Public

    Hardware-accelerated H.264/MP4 video player in V using Vulkan Video, with metadata rotation, frame pacing, resizing and looping.

    V 1

  3. imgui imgui Public

    Generated Dear ImGui and ImPlot bindings for V, with standard and docking variants, GLFW/Vulkan backends and reproducible V-native generation.

    C++ 5

  4. vulkan vulkan Public

    Generated Vulkan and Vulkan Video bindings for V, with opt-in typed resource helpers and reproducible Khronos registry updates.

    V 11

  5. opencl opencl Public

    Generated OpenCL bindings for V with typed resource helpers and OpenCL/Vulkan interoperability.

    V 1

  6. vlang.kak vlang.kak Public

    A V IDE for Kakoune: language-server integration, debugging, project navigation, testing and managed setup and updates.

    Python 3