Cells
singleplayer game inspired by agar.io written in Rust
Install / Use
/learn @psincf/CellsREADME
Cells
Cells is a singleplayer game inspired by agar.io written in Rust. <br> Every cell/entity can have a mix of differents capabilities. <br>
It's been optimized so that 1 million+ entities can be in game at the same time, but full FPS is not guaranteed with this amount of entities!
https://github.com/psincf/Cells/assets/44228825/b41b6b56-fcb8-4d3c-b5ec-6fbfacd86b7e
Status
It's a demo/experiment. <br> It is no more actively developed. <br> Some hacky code here and there!
How to run
git clone https://github.com/psincf/Cells
cd Cells
cargo run --release
Features
- In-game Editor
- Multiples examples maps
Controls
Ingame
- Mouse: moving
- Space: split
- W: throw cell
- R: revive
- Right CTRL: Enter/Leave Debug Mode
Debug Mode
- R: Revive/reset mass of local cells to minimum
- E: Local cells can merge
- Right click: Teleport
- Z: Augment Mass
- Up: add 1 computing thread
- Down: remove 1 computing thread
- +: add cells speed
- -: remove cells speed
- *: Multiply cells speed by 2
- /: Divide cells speed by 2
Engine detail
- Multithreaded. Amount of threads can be changed in real time.
- Struct Of Arrays optimization
- Cells can have multiple different properties/capabilities
- Custom
threadpoolcrate - Custom multithreaded physics engine
- Custom reflection crate written with procedural macro (
#[derive(Reflect)]) - Custom automatic inspection crate for reflected struct with both Imgui and Egui ( inside
reflectcrate). <br> Used for Editor mode. - Custom profiling crate (
benchmark). Real time profiling data can be seen in Debug mode - Separate threads for Graphics and Update -> Synchronization through a
quintuple buffer<br> The quintuple buffer allow the retrieval of the last 2 game updates on each frame. A timer mesuring the elapsed time between 2 game updates is constantly updating. Thanks to this, interpolation can be done and the game can be at full FPS even if the Update thread is lagging. - Custom
Slabimplementation - WASM scripting (a bit hacky and limited)
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
