๐Ÿ“ฆ payload / bitworks

โ˜… 1 stars โ‘‚ 0 forks ๐Ÿ‘ 1 watching โš–๏ธ MIT License
๐Ÿ“ฅ Clone https://github.com/payload/bitworks.git
HTTPS git clone https://github.com/payload/bitworks.git
SSH git clone git@github.com:payload/bitworks.git
CLI gh repo clone payload/bitworks
Gilbert Rohrbein Gilbert Rohrbein move old main code to belts_on_a_grid e0d96d9 4 years ago ๐Ÿ“ History
๐Ÿ“‚ main View all commits โ†’
๐Ÿ“ .cargo
๐Ÿ“ .vscode
๐Ÿ“ assets-generator
๐Ÿ“ bitworks
๐Ÿ“ inspectable
๐Ÿ“„ .gitignore
๐Ÿ“„ Cargo.lock
๐Ÿ“„ Cargo.toml
๐Ÿ“„ LICENSE
๐Ÿ“„ README.md
๐Ÿ“„ rust-toolchain
๐Ÿ“„ README.md

bitworks

How to run and build things

Create assets by running assets-generator.

``cargo run --bin assets-generator bitworks/assets%%CODEBLOCK0%%cargo run --bin bitworks` There are other executables in this repository too. They are usually experiments. ## System overview Sprites are created with a tool using tiny-skia to draw simple 2D shapes and save them to PNG. Bitworks is a executable (main.rs) and a library (lib.rs). The library exports all the modules public symbols but also bundles related things together in plugins. The executable than adds the plugins to the bevy App and a bunch of less stable systems. The executable also implements systems, usually those which are for debugging, drawing, user interaction and all this experimental things I am currently working on. Usually functions, traits and structs are weakly organised. Extension traits for bevy and other dependency types are for convinience. They may be worth a PR to the respective dependency, or not. Systems are usually complex and not only consist of a single system function but multiple and some structs and components. beltadvanceitems was kind of complicated to implement. It deals with advancing items on belts and through item inputs into buildings and item outputs onto belts. mapcache is quite useful. It allows to organise entities on a grid, look up by integer coordinates. Probably gonna use that in the future too but have separate map caches for different entity types. beltinputoutputhookup uses map cache to connect belt and building inputs with outputs. In conjunction with simple_spawner this helps and spawning some connected buildings and belts. assets for now can keep some loading and organising assets systems and resources. camera contains some spawn and configuration helpers for static and interactive cameras. The default orbit camera can be used with mouse right drag, wheel and move while holding CTRL. config has the type definitions for the single config file config.ron`.