Skip to content

automancy/automancy

Repository files navigation

automancy!

-- TBD: Insert some more detailed description here --

-- Game is WIP. --

-- NEW PREVIEW IMPENDING --


~ All the special credits ~

Tech's

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)

Folk's

automancy! is a collaborative effort!

Major programmers:

  • Madeline Sparkles
  • Mae Rosaline

Major modellers:

  • Madeline Sparkles
  • :c

Major SFX designers:

  • Madeline Sparkles
  • :c

~ All the links ~


~ Dev Notes ~

Designers

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)

Scripts, aka How to Make The Game Real

-- WIP: VERY volatile and subject to change, do not doc this for now. --

Programmers

The Standard™️ Operational®️ Procedure©️

  • 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 wrt mancie?

On Async

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

Write all tile logic in script-side

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.

Translators

-- 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. --

About

automancy! is a magic-themed, hexagon-based 'automation game' where there is no 'Conveyor Belts'.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 4

  •  
  •  
  •  
  •  

Languages