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
- GLAD – OpenGL function loader
- GLFW – Window and input handling
- GLM – Math library for graphics
- ImGui – Immediate-mode GUI
- ImGuiFileDialog – File picker for ImGui
- nlohmann/json – JSON parsing
- stbi_image.h – stbi_image.h for texture loading


