
Lazy-100
A Lua fantasy console with code, sprite, map, sound and music editors, built on VRI for desktop and browser play.
Selected work and research.

A Lua fantasy console with code, sprite, map, sound and music editors, built on VRI for desktop and browser play.

Graphics and engine projects for research and games, with current libvultra development on the VRI-based dev-VRI branch.
Current development: dev-VRI · early stage

My MSc dissertation renderer, implementing Light Propagation Volumes alongside cascaded shadows, ambient occlusion and screen-space reflections.
MSc dissertation project

A top-down bullet hell roguelike on Steam — fight alongside clones of your past runs inside the immune system. Free demo out now! Co-founder of High Path Games; programming lead.

A faithful remake of the classic Flash game, built with LÖVE2D for GameShell, Trimui, and other retro gaming handhelds.
A cross-platform render hardware interface with a C ABI and a C++23 wrapper for Vulkan, D3D12, Metal, WebGPU and OpenGL-family backends.
In development

The troll platformer CatMario, rebuilt for the Game Boy with GB Studio — playable on itch.io or any GB emulator.

Cross-platform desktop, terminal and status-bar lyrics with GUI, CLI/TUI, bilingual karaoke, .NET 10 and Avalonia.
Desktop releases available

A C++ / OpenGL 4.6 game engine built by a 7-person MSc team at Leeds — where the Vultra story began.
Reusable C++23 rendering building blocks over VRI: RAII resources, framegraphs, profiling, multi-queue submission and OpenXR utilities.
Public · in development

C++23 plotting through a C ABI, with PNG, SVG and PDF export, ImGui integration and a WebAssembly demo.
Early development · API evolving

A Linux GUI and CLI for MCHOSE mice, with DPI and sensor settings, per-application presets and KDE desktop integration.

A header-only OpenGL framework for graphics prototypes, with model loading, a framegraph and Tracy profiling.
A Slang-based shader compilation pipeline with material reflection, keyword variants and portable runtime shader libraries.
An asset import and packaging pipeline with UUID-based registries, custom mesh and texture formats, VPK archives and a command-line tool.

A custom Mini vMac build and handheld setup for running classic Mac OS System 7.5 on PocketCHIP.
Handheld port
Browser tools for SSIM, PSNR and MSE measurements, absolute error maps and heatmaps, with English and Chinese interfaces.

GameShell adaptations of classic BBK games, based on bbk.emu, with handheld launchers and controls.
Handheld adaptation
A GameShell adaptation of the WQX NC1020 emulator, using jswqx and NW.js with handheld launcher integration.
Handheld adaptation

An earlier C++ ray tracer with an ImGui interface, multithreaded rendering and configurable scenes.
Earlier graphics project

A small CPU software renderer with programmable C++ shaders, Gouraud shading and textured Phong shading.
Earlier graphics project
A command-line utility for extracting game assets from J2ME JAR files.
A Chinese-language self-study app for open courses, with prerequisite-based learning paths, progress tracking, video notes and spaced repetition.