-- NEW PREVIEW IMPENDING --
automancy! is built on the shoulders of giants!
Some of the major techs used:
- Rust (for the coding)
- wgpu (for the rendering)
- ractor (for the game's async handling)
- Consequently: tokio
- yakui (for the GUI)
- Rhai (for the scripting)
- TBD: we're switching to wasm
- Blender (for the modelling)
- Rusty Object Notation - 'ron' (for the definition files)
automancy! is a collaborative effort!
Major programmers:
- Madeline Sparkles
- Mae Rosaline
Major modellers:
- Madeline Sparkles
- :c
Major SFX designers:
- Madeline Sparkles
- :c
- Git: https://github.com/automancy/automancy
- Discord: https://discord.gg/ee9XebxNaa
- Bluesky (Madeline Sparkles): @mouse.lgbt
For SVG files, in order for them to be correctly converted to Blender files, the file needs to fit the following criteria:
- The viewport is exactly 160cm by 160cm (cm is used to reduce rounding errors).
- The file does not contain any color outside of fills.
- That means, no gradients.
- The file does not contain any clipping or masking.
- Use the boolean operators.
- The file does not contain any strokes.
- Use "Stroke to Path" to convert them.
Currently, the game supports neither materials nor textures, and has no plans to support them.
Use either Vertex Paint or a material with only the base color (they get turned into vertex colors)
-- WIP: VERY volatile and subject to change, do not doc this for now. --
- Install just!
- Then, run
just
orjust dev
for dev builds. - Or
just staging
for a staging build, for a more performant build of the game. - And for release builds,
just release
. This usesopt-level=s
andlto=fat
to minimize binary size.
- Then, run
- After adding a dependency, please be sure to run:
just sort
- This also depends on cargo-sort.
just license
- This also depends on cargo-about.
The rendering is single-threaded, the game logic is run with an actor system (ractor) on top of a Tokio runtime.
If you can't feasibly do that, implement more handling in source code, and then write the logic.
The "game" executable is supposed to be an engine, one very specialised to run hexagonal automation games. Today's hard-coded logic will become tomorrow's headache.
-- WIP: we need a good way to define arbitrary languages and an easier way to write them. currently they are an absolute pain in the ass to write. --