MCPcopy Index your code
hub / github.com/Uriopass/Egregoria

github.com/Uriopass/Egregoria @v0.6.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.6.2 ↗ · + Follow
2,032 symbols 6,179 edges 193 files 137 documented · 7% updated 13mo agov0.6.2 · 2023-05-18★ 1,62832 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Screenshot of Egregoria 1 Screenshot of Egregoria 2 Screenshot of Egregoria 3 Screenshot of Egregoria 3

Build status Discord

Egregoria

Egregoria is an indie city builder, mostly inspired by Cities:Skylines.
Each individual has its own thought model, meaning every action has its importance and influences the environment.
Egregoria is focused on the socio-economical aspect of a city, with a logistics element. The game is still in early development, but you can already play it and give some feedback through issues or on discord.

By being open source, the hope is to get more people involved in the development of the game.
Mod support is wanted but the design has not been found yet.

How to play

A small tutorial is available on the github wiki to get you started.

Devblog

I keep a blog about Egregoria's development here.

Building the project

Git LFS

This project uses Git LFS to track assets, therefore if you want to build your own copy you will need to install Git LFS.

Once installed, you should be able to clone the repo and fetch the assets:

git clone https://github.com/Uriopass/Egregoria
cd Egregoria
git lfs pull

Windows/Mac

I personally use Windows 10 and Mac OS 10.11, and it compiles fine once the rust toolchain is installed.

cargo run --release

Don't forget to add the --release flag, otherwise the game will be very slow.
Don't forget to pull the lfs files, otherwise the game will crash with a file not found error.

Ubuntu/Debian on x11

There are a few libraries to install that some of my dependencies need:

sudo apt-get install libasound2-dev libudev-dev pkg-config libx11-dev
cargo run --release

Don't forget to add the --release flag, otherwise the game will be very slow.
Don't forget to pull the lfs files, otherwise the game will crash with a file not found error.

A GitHub Action tests the builds on Ubuntu.

Why Egregoria ?

An Egregor is an autonomous psychic entity made up of, and influencing, the thoughts of a group of people.
It represents emergence at its purest form, where individuals come together to become a collective force.

Credits

Extension points exported contracts — how you extend this code

Inspect (Interface)
Renders a value using the default widget [28 implementers]
egui-inspect/src/impls/mod.rs
Intersect (Interface)
Intersect trait is trait to check if two shapes intersect It does not do bbox checks on purpose to avoid doing it twice [39 …
geom/src/lib.rs
PipelineBuilder (Interface)
(no doc) [7 implementers]
wgpu_engine/src/pipelines.rs
ComponentDrop (Interface)
(no doc) [4 implementers]
egregoria/src/utils/par_command_buffer.rs
Encoder (Interface)
(no doc) [4 implementers]
common/src/saveload.rs
InspectFieldArgs (Interface)
We support multiple distinct inspect annotations (i.e. inspect_slider, inspect_text) Each distinct type will have a stru [1 …
egui-inspect-derive/src/inspect_macro/args/mod.rs
GUIWindow (Interface)
(no doc) [1 implementers]
native_app/src/gui/windows/mod.rs
Shape (Interface)
Shape trait means that the object has a bounding box [10 implementers]
geom/src/lib.rs

Core symbols most depended-on inside this repo

map
called by 233
egregoria/src/lib.rs
offset
called by 232
geom/src/perp_camera.rs
vec2
called by 159
geom/src/v2.rs
xy
called by 144
geom/src/v3.rs
len
called by 125
geom/src/polygon.rs
push
called by 104
geom/src/polyline.rs
noderef
called by 93
wgpu_engine/src/geometry/earcut.rs
push
called by 88
egregoria/src/engine_interaction.rs

Shape

Method 1,306
Class 335
Function 308
Enum 68
Interface 15

Languages

Rust100%

Modules by API surface

geom/src/v2.rs62 symbols
geom/src/v3.rs55 symbols
geom/src/polyline3.rs51 symbols
geom/src/polyline.rs45 symbols
wgpu_engine/src/gfx.rs42 symbols
wgpu_engine/src/geometry/mikktspace.rs40 symbols
egregoria/src/lib.rs40 symbols
geom/src/skeleton.rs39 symbols
geom/src/polygon.rs39 symbols
wgpu_engine/src/geometry/earcut.rs37 symbols
egregoria/src/map/map.rs37 symbols
egregoria/src/map/objects/road.rs33 symbols

For agents

$ claude mcp add Egregoria \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact