Scrub squad
A video game developed in our own game engine. Submitted for ZTGK in the development category and placed as a finalist.
It’s and RTS where you your team of sponges on their quest to clean bathroom floor from evil fifth.
Download the latest build here.

Our project had to compile with the requirements for game development category:
- No Pre-Made Game Engines: We built the game without using any ready-to-use engines, relying only on frameworks.
- Framework Usage: The framework was used solely for low-level systems like rendering, input, memory management, basic collision detection, and file parsing.
- Custom Implementations: We developed all key systems, ECS, Rendering, Lighting, AI, scene management, gameplay, advanced shaders, and scripting.
- Asset Licensing: All assets used are original or properly licensed.
This project showcases our work in creating a custom engine and core systems from the ground up.
List of major features
- Entity Component System: Custom component system managing game entities with unique and shared pointers for memory handling.
- Scene Editor: Allows real-time modification of object transforms and component attributes, as well as adding new components.
- Tracey Profiler: Integrated profiling to monitor performance across system components.
- Lighting System: Supports dynamic point lights with shadows, handling up to 40 active lights during presentation. Directional and spotlights were partially implemented.
- Rendering System: Renders imported .fbx models with material support (diffuse, specular, normal, and depth maps). Uses frustum culling, instancing, and parallax mapping for optimization.
- Toon Shaders: Custom toon shaders inspired by RapidGL.
- Animation System: Multithreaded animations with forward kinematics for weapon movements.
- Sound System: Plays sound effects and music on demand.
- Collision System: Tracks object collisions and interaction rules.
- AI System: Manages movement and behavior of game units.
- Grid System: Allows us to implement mining system and track cleanliness of tiles. Makes the implementation of the rest of the system easier, and allows for optimization using chunks.- Event System: Calls functions in response to specific in-game events.
- Inventory System: Allows unit upgrades and customization with in-game items.
- HUD System: Displays and updates game data in real time.