{"repo":"planetis-m/breakout","free":true,"listed":false,"github":"https://github.com/planetis-m/breakout","clone":"git clone https://github.com/planetis-m/breakout.git","description":"Breakout game implemented using strict ECS architecture. Used as a testbed.","language":"C","stars":21,"topics":["game","nim","gamedev","breakout","breakout-game","ecs","entity-component-system"],"license":null,"category":"game-templates","readme_excerpt":"breakout A small Breakout clone in Nim built as a clear data-oriented game code example: typed game state, direct arrays of objects, explicit systems, hierarchical transforms, and a fixed-timestep loop on top of raylib. Who This Is For This project is mainly for: - Nim programmers who want a complete but readable game sample. - People studying data-oriented design without wanting a full engine or ECS framework. - Developers who like game code that stays explicit: update order, storage, and side effects are all easy to trace. If you want a polished engine, editor tooling, scripting, or a reusable gameplay framework, this is not that project. This is a compact codebase you can read in an afternoon and learn from. Why It Is Worth Reading - The game state is concrete and direct. Game owns balls , bricks , particles , trails , and nodes instead of routing everything through a generic entity abstraction. - Systems stay small and obvious. Movement, collision, fade, shake, transform, and draw each live in their own file. - The transform graph is still hierarchical, so the camera and spawned effects can move as a group without a heavier scene abstraction. - The main loop uses a fixed simulation step with interpolation, which keeps gameplay deterministic per tick while rendering stays smooth. - The whole project is small enough to fork, rewrite, and experiment with. What The Code Looks Like Scene setup is plain data construction: And systems work directly on typed collections: That is ","default_branch":null,"files":null,"tree":[],"storefront":"/r/planetis-m","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/planetis-m/breakout/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}