Terminal boids simulator
Project description
Rosella
Watch a chaotic ecosystem unfold right in your terminal. This is a boids simulation—those classical flocking birds that somehow manage to be both predictable and gloriously messy all at once.
What's Happening Here?
You've got a bunch of little critters (boids) bouncing around following three simple rules:
- Separation: don't crash into your friends (basic manners)
- Alignment: swim/fly in the same direction as your neighbors (peer pressure works)
- Cohesion: stick together-ish (lonely is not fun)
But that would be boring, so we added some chaos:
Predators
Angry crosses hunting our poor boids. They're rather slow, but insistent. Currently implemented with a simple follow-nearest greedy algorithm. Watch the boids scatter!
Allures
Shimmering points that our little boids find irresistible. Boids will often head for these even with predators nearby. Bad life choices make for good entertainment :D
Random Enlightenment
Sometimes boids just get it and wander off. Celebrate their brief moment of philosophical awakening before they go back to being confused little dots. Originally implemented to reduce clustering and overly predictable patterns.
How to Run It
python main.py
Default constants are decently sensible – in my opinion :) – but feel free to pass cli flags to tweak behaviour. Some behaviours require flags.
python main.py -h # Check flags
python main.py --boid-density 1750 # Custom density (pixel-acres per boid)
python main.py --allure-chance 35 # 1/35 chance per frame; required for allures to spawn
Control it as you watch:
- Q: quit
Your terminal is the world. Watch it all unfold in beautiful Braille pixel art.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rosella-0.1.0.tar.gz.
File metadata
- Download URL: rosella-0.1.0.tar.gz
- Upload date:
- Size: 595.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f71e51177b14f6f1efe82b6e8a0f9efc2540e43b3d6c29f43d570d59f5aa670b
|
|
| MD5 |
37341e7aba7db31974122637420bef05
|
|
| BLAKE2b-256 |
7d05cf9e8cae35e35b646dcc0a9fb7824380ebddc90c393434980d34fb5d70af
|
File details
Details for the file rosella-0.1.0-py3-none-any.whl.
File metadata
- Download URL: rosella-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
799fba8d3e675c6593918e4854853958242cec1d5f2f1115ce46baa56474fce5
|
|
| MD5 |
ab07ca96d4f23370d8074e069eda75cb
|
|
| BLAKE2b-256 |
a15696248f119b435ae822a996a0d0edd5c4d8a376a9b09c1e0f02061b66344a
|