One of my main interests as a software developer is creating game engines from scratch using C++.
From this I’ve learned a lot in terms of both graphics knowledge and software development!
2D Engine Project
List of features in the engine:
- 2D scene graph / node system mimicking the Godot engine
- Scripting support via the Squirrel language (http://squirrel-lang.org/)
- Cross-platform rendering using the sokol (https://github.com/floooh/sokol) library
- Batched sprite and text rendering
- Simple 2D collision detection
- Resource compilation using PhysFS, support for single-executable compilation
- Custom C++ build system using Python and Ninja
Flock3D
The goal of this project was to create a vampire-survivors-like game in 3D.
The list of features I’ve worked on so far:
- Vulkan 3D renderer (with bindless rendering support)
- Custom-built entity-component-system (ECS) for managing game objects
- Fast terrain rendering on the GPU using Perlin noise
- Boid simulation (accelerated with multithreading and uniform grids)
- Loading and rendering GLTF models
- Custom C++ build system using Python and FastBuild
Roxy scripting language
Currently in my spare time I’m developing a scripting language named Roxy, intended to use for game development.
Not much to show since it’s in the early stages, but I’m aiming for the following features:
- Strongly-typed
- No GC, uses reference counting for memory management
- Fast and easy interopability with C/C++
- LSP editor support