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 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.

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.

Examples and build health

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 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.

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

  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++ 4

  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 1.0–3.0 bindings for V with typed resource helpers and OpenCL/Vulkan interoperability.

    V 1