Bird Simulator – 2025 C++ Demo Project

In June 2025, I was laid off, and I decided to take this as an opportunity to first take a step back and rest, but also to finally pursue that transition. However, one key element was missing: a demo project to showcase my C++ skills. That’s where this idea was born — a focused demo, built over approximately three weeks in my spare time (well.. I got to be honest; I also had some days of procrastination..), aimed at demonstrating my proficiency in C++, what I can accomplish independently, showcase I can adapt to other languages, and (‘perhaps most importantly’) having some fun during this turbulent period in my career.

As I have a big interest in making tools, writing systems and care about software architecture. This felt like a good chance to make some time and share some of this interest and showcase it to demonstrate while exploring new roles.

So that’s where this idea came from and I am happy to bring you along with me through this journey.

Technology: Java & Unity C#
Platform: YouTube
Date: July 2025
GitHub: https://github.com/JustinBieshaar/DemoBirdSim

To demonstrate this project, I also made a full devlog video explaining the timeline and decisions. As I am also a content creator with a large following, I decided to make my content in an educational format so aspiring developers can learn from it too. But also kept it informational for documentation purpose. You can watch it here:

 

📦 Features

 

This project includes:

  • ✅ Premake build setup for cross-platform project generation
  • ✅ Custom bird creation tool, using JSON input and code generation, built for non-technical users
  • ✅ Reusable core libraries to isolate shared logic between the game and tool
  • ✅ Custom logger with log channels for coloring and prefix with ImGui rendering support
  • ✅ Reading obj files asynchroniously
  • ✅ Unit tests for the core systems
  • ✅ Custom utilities for conveniences and threading
  • ✅ Simple 3D bird simulation, where you can select and control generated birds in a terrain environment

 

🧱 Architecture Highlights

 

  • 🧩 Custom Entity-Component System (ECS) – Lightweight, flexible, and built from scratch
  • 🧪 Custom Dependency Injection (DI) – Designed to make system wiring clean and testable
  • 📣 Custom Signal System – For decoupled communication between systems
  • 🔧 Code generation pipeline – Converts JSON bird definitions into native C++ types
  • ⚠️ Custom logging – For easy logging with visuals and prefixes for better visibility

 

🔗 Dependencies