-- 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. --
- Run
run.sh
to run the game.- Alternatively, run
cargo run -p build_script
before running the game. This will build all the resources. TBD: discussion of this wrtmancie
?
- Alternatively, run
The rendering is single-threaded, the game logic is run with an actor system (ractor) on top of a Tokio runtime.
"Scripts" are called "functions" as the name is taken in-game by what would otherwise be called "recipes."
- The weird terminology comes from the fact that "recipes" doesn't make sense for machines.
- TBD: rename?? this is sometimes stupidly hard to accomodate for because brainfarts. just don't call them functions or smth
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. --