Game-like football simulation environment for trying out AI ideas, written in Rust.
MIT License
Retro-looking game-like football simulation environment for trying out AI ideas, written in Rust using amethyst.
I wrote all of this in my free time to learn a bit about Rust and game development. The code is very scarcely documented and there is no testing at all. Use at your own risk.
To load this install amethyst's dependencies and then do:
source env.sh # Needed because of a bug with rendy in vulkan.
cargo build
You may need to change amethyst's features in the Cargo.toml
file if you're not on linux!
You can use cargo run
to run it.
Currently this only implements a Basic
engine, where all players but the defender and the goalie run after the ball, and BasicWingWait
which is (just a bit) slightly more complicated.
If you want to write your own engine, the way to do it is:
src/engines/engine.rs::Engine
. (Look at src/engines/basic.rs
implementations as a guide)src/resources/engine_registry.rs::EngineRegistry::default
.assets/sprites/player.ron
so that entities.data.extras.player.robot.logic_module
is EngineRunner("<registered_name_for_your_engine>")
.cargo run
and see your agents play against the default Basic
engine! (You can change enemy.ron
to make them use a different engine as well).Copyright Ian Tayler [email protected] 2020. Licensed under the MIT license. Use and distribute without restriction, according to the license text.