Projects - back to main page.

Here are a couple of coding projects that I have been creating lately.

3D engine

In ~9000 lines of C++/GLSL code, a real-time 3D engine.

Features:

  • Currently, no 3D models or graphics files (such as texture files) are being used. Instead, the world and its 3D mesh are constructed from a set of rules and surface materials are constructed with mathematical formulas.
  • Mixed plain forward and deferred rendering.
  • Material based surface color and normal determination.
  • Dynamic lighting with ambient, diffuse and specular elements.
  • Variance shadow maps.
  • Screen space ambient occlusion (SSAO).
  • Screen space reflection (SSR).
  • Anti-aliasing (FXAA).
  • Post-processing with gamma correction and Bayer dithering (to reduce color banding).
  • Skybox.
  • 3D picking.
  • Dear ImGui integration.

Currently runs at ~90 fps in 1080p and ~42 fps in 4K on a mid-price PC from 2020. Several avenues of optimization have not been explored yet.

Demonstration of visual capabilities:

Demonstration of procedural generation abilities:

Note that video quality is reduced to keep the file sizes reasonable. A reference image rendered in 4K resolution is available here.

I am not sharing the engine and its source code publicly at this moment.

Joukkuekuoppa

In ~3000 lines of TypeScript/Vue code, an online multiplayer implementation of a card game.

Gameplay example:

Fully released into public domain.

Further information, source code, and all other resources related to the game are available on GitHub.

Occasionally running online here.

see credits and acknowledgements

last update: 2025-09-02