Projects
I worked on many many projects. They were “my thing”. What I did when I got up at 5:45 am, which was the time I was allowed to use the computer for 45 minutes back in the early school days, what I did when I was later allowed more time after school — except for a break during puberty, where I played a lot of videogames for a while — likely instead of homework, what I did during lectures, after lectures, before lectures at university.
I cannot list them all. For today, I only cleaned up those which were previously listed on this page. Check out my old tumblr, if you are interested in more of them. The newer projects you will mainly find on GitHub or learn about via the magnum blog, the Vhite Rabbit blog, or my twitter.
Here is a non-exhaustive list of projects I have worked on in the (very distant, 15 years) past:
WebConverter
Website: https://webconverter.app
WebConverter is a browser-based file conversion tool that runs entirely client-side — no uploads, no server, no privacy concerns. Built with C++ compiled to WebAssembly via Emscripten, it converts files directly in your browser.
Related blog posts:
Construct Arcade
Website: https://constructarca.de
Construct Arcade was the world’s first immersive web games portal — a place to play and publish immersive web games. Built around WebVR/WebXR, it allowed developers to share their browser-based VR experiences.
All posts tagged construct-arcade
Related blog posts:
- Construct Arcade
- Productivity Through Stake
- What’s Up 11/2018
- Highlights of 2018
- What’s Up 01/2019
- Why WebVR is intriguing to me
- How to WebXR in March 2019
- What’s Up 06/2019
Wonderland Engine
Website: https://wonderlandengine.com
Wonderland Engine is a WebAssembly-based game engine focused on WebXR. It provides a complete package for developing WebXR apps and games, with a visual editor, custom shaders, draw call batching, and an efficiently loadable binary scene format for fast load times.
All posts tagged wonderland-engine
Related blog posts:
- Blendfile: Get String IDProperty
- Porting Point Light Shadows to WebGL2
- Engine Development
- Branchless Antipodality Handling
- The Metaverse in the Room
- WebConverter Experiment Post-Mortem
EpicRay
An open source Java — yes, serious — raycasting game engine, abandoned, but you can find it on GitHub again. I love to optimize and Java gave me a challenge here. I followed a C tutorial back then to get the basic math down (which I was not comfortable with back then) and was also inspired by a game by Notch.
I optimized the hell out of the engine which was able to display a tile-map of textured 3D CPU-raycasted blocks. Using threading and mainly coding tricks I got the thing from iirc something lower than 20 fps to over 120 fps. Which says nothing, because I don’t remember the specs of the Notebook it ran on… or the resolution… or anything.
It had an editor though, in which you were able to build tile maps and add custom tiles, with an orthographic visualization of the tile etc. And I learnt what mip-maps are and how to generate them, because the artifacts were just too horrible.
My brother back then was using some very basic ray casting game engine to make astoundingly cool little games and I hoped to build something nicer for him, tailored to his needs. I must have gotten caught up in premature optimizations…
Related blog posts:
- EpicRay
- Allways Begin with Design
- Some updates on what I’ve been doing
- EpicRay Framework
- Epic Ray, Yay!
- Initial GitHub commit for EpicRay
- What EpicRay Looks Like At The Moment
- Epic Ray Floor Rendering
- EpicRay: Multi-Threaded Rendering
- Epic Ray Engine
Lego Minifigure Blender Rig
A full animation-ready rig in Blender. I wanted to do a Parkour-Lego Animation (since I started Parkour around this time, and always loved Lego animations) and the free rig I found back then was not quite fulfilling my needs. So I made my own, guided by a Ninja-Rigging Training DVD by cgmasters.net. If I find it again, I will link it here or share it on blendswap.
Related blog posts:
Lego Parkour Animation
While the first made it to youtube, the second had a lot of effort put into its environment (a little park scene) and I wanted to make it “at least seconds long”. I often think back to it and want to finish it, but every time realizing I am unable to find the most up-to-date file :(
Related blog posts:
pywiiuse
“pywiiuse”, a Python 3.3 wrapper for the “inofficial fork” of the wiiuse library by means of a C extension to python. The goal was to make a Wii game in blender (without a Wii, but a controller, obviously). It actually worked, but I never made a game with it.
Originally the code was open source, but I am reluctant to keep projects around that I would not want to maintain properly and since nobody found it by accident I simply removed it. (A link to the code may be posted here in the future. If you really want it, drop me an email or DM me somewhere).
Related blog posts:
Pyromania
A 2D Multiplayer Bomberman-inspired game. Written in C++ using the Allegro library and POCO for networking code.
Related blog posts:
- A Bomberman Clone?
- Pyromania
- Pyromania - Bombs
- Destruction!
- Pyromania - Player/Explosion Collisions
- Data Recovery
- Introduction to Emscripten Sockets
- Multiplayer Net Adventures
Zombiehunt
A 2D action/arcade game inspired by a minigame in a LEGO Island Gameboy game. You have four lanes on which Zombies are coming at you and you are supposed to kill them before they reach you. With combos and online highscores, settings menu, two types of Zombies, all the good stuff.
Written in C++ using the Allegro library with assets by Falk Ridder. It has since been rebuilt for the browser (C++ logic compiled to WebAssembly, original assets).
▶ Play Zombiehuntin your browser
Related blog posts:
- Online Highscores
- Fixed some menue bugs in Zombiehunt
- Submitted a score in Zombiehunt!
- Zombiehunt Progress
- Zombiehunt Statistics
- Zombiehunt Controlls
- Releasing Zombiehunt (v 0.7) soon!
- Some updates on Zombiehunt
- New old Website
- Data Recovery
- What’s Up 01/2019
Blue Moon
A top-down shoot-em-up and one of my earliest games (2009—2011) — a hobby project from my school days, long before university or any professional work. You fly a fighter at the bottom of the screen and shoot down descending formations of enemies, wave after wave.
Written in C++ using the Allegro library. It has since been rebuilt for the browser (the complete 2011 C++ logic compiled to WebAssembly, original assets).
▶ Play Blue Moonin your browser
QuadEngine
A small voxel engine (v0.4.5, 2011) — another hobby project from my school days — a Minecraft-like block world with procedurally generated terrain built from dirt, grass, sand and stone, with the camera slowly rotating over the landscape.
Written in C++ on SDL 1.2 with fixed-function OpenGL. It has since been rebuilt for the browser (recompiled to WebAssembly with Emscripten, per-chunk meshing for the WebGL rendering path).
▶ Explore QuadEnginein your browser
Ninjarun
An endless runner (2013): the ninja auto-runs, you tap to jump, and one obstacle ends the run. Originally an Android/webOS game, and another hobby project from before my university and professional years.
Written in C++ on SDL with OpenGL ES. It has since been rebuilt for the browser (the original C++ recompiled to WebAssembly with Emscripten, byte-for-byte gameplay).
▶ Play Ninjarunin your browser
Related blog posts:
Labyrinth
A top-down action game and one of my earliest projects — a hobby project from my school days, long before university or any professional work. You guide the hero “Leini” through a stone maze, collecting herbs for points and fighting off skeletons while your vitality ticks down.
Written in C++ using the Allegro library. It has since been rebuilt for the browser (the original C++ logic compiled to WebAssembly, original assets and maze).
▶ Play Labyrinthin your browser