This repository is a refactor of the original Sandtris project, with a primary focus on performance and scalability. The goal is to evolve the engine to handle a significantly larger number of sand particles, pushing the boundaries of what's possible for a 2D falling sand simulation in C++.
The main focus of this refactor is to optimize the game's performance. The process and results of these optimizations are documented in the following files:
- Redundancy Optimization: This document details the process of identifying and removing redundant work in the game's main loop, resulting in a ~30 times faster main loop.
- Architecture Optimization: This document covers the architectural changes made to the project to improve performance, such as refactoring the
timenamespace to usestd::chronoand a ring buffer.
To build and run the project, execute the following command from the root directory:
./run_build.sh