Game Dev · Python · 3D

Desktop Games

Three playable native desktop games written from scratch in Python — from a 2D vector-physics arcade shooter to a first-person 3D explorer with its own Blender-authored 3D assets, all running on Linux.

Python 3.14 pygame-ce raylib (pyray) Blender 5 (bpy) glTF NumPy
etheric-games — three native titles
Three desktop games — a 2D vector-physics Asteroids and two 3D Blender-authored raylib titles
Native desktop builds — 2D pygame + 3D raylib, launched from the GNOME app grid. View code →

Overview

A trio of native games, each built without a game engine. The 2D title runs on a hand-written vector-physics loop; the two 3D titles share a custom asset pipeline I wrote — models are generated procedurally in Blender, exported to glTF, and rendered live in raylib. Each game ships as a trusted desktop launcher with a generated icon, plus a headless self-test so it can be verified in CI without a display.

The games

🪨 Etheric Asteroids

A 2D vector-physics asteroids clone in pygame-ce — momentum, wrap-around space, splitting rocks, and a hand-tuned game loop.

🚀 Etheric Drift

A 3D on-rails flyer: dodge rocks and grab crystals through models authored in Blender and rendered in raylib.

🌲 Etheric Grove

A first-person 3D explorer-shooter — mouse-look, WASD, sprint and jump around a ring-bounded clearing, collect crystals, and fight chasing spectres.

How it works

Built on Python 3.14 on Ubuntu/Wayland — bleeding-edge enough that package choice mattered (pygame-ce, raylib and NumPy all ship cp314 wheels; classic engines don't yet). A good lesson in working at the edge of a toolchain.