{"repo":"PerroEngine/Perro","free":true,"listed":false,"github":"https://github.com/PerroEngine/Perro","clone":"git clone https://github.com/PerroEngine/Perro.git","description":"🐕 Perro — A game engine written in Rust attemping to bridge the gap between simplicity, safety, and performance","language":"Rust","stars":52,"topics":["game-engine","rust","game-development","gamedev","open-source"],"license":"Apache-2.0","category":"game-templates","readme_excerpt":"Perro Engine Perro is an experimental, open-source game engine written in Rust . With a focus on performance and simplicity without sacrificing either. Philosophy - Simple To Learn : start with scenes, nodes, and Rust scripts without large registration steps or boilerplate. - Flexible To Use : reduces borrow-checker friction with direct APIs and scoped closures for mutable access. Separating state from script behavior prevents runtime borrow failures. - Fast In Release : nodes and scripts are laid out for efficient node and state access, all resources are statically baked in release for efficient and quick retrieval Design Goals - Full Game-Making Scope : 2D, 3D, and UI all matter. Perro aims to support both 2D and 3D performantly, with high frame rates and a workflow that stays simple. - Simple Start : get first scene and script running quickly, with minimal setup and no script-registration boilerplate. - Compiler-Managed Workflow : let Perro sync scripts, generate glue code, and prepare supported assets so project setup stays small. - Split Model : scripts are just Rust files (lifecycle + methods); they store #[State] structs which each instance gets a copy of. - Safe Mutation : access through NodeID closures and engine-managed storage avoids borrow-contention edge cases in normal gameplay code (no \"try get mut\" fails). - Fast Access : flat ID lookups keep common node/script operations efficient, with room to cache IDs for hot paths. - Quick Iteration : project scripts buil","default_branch":null,"files":null,"tree":[],"storefront":"/r/PerroEngine","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/PerroEngine/Perro/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."}