https://github.com/jms55/botnet
Multiplayer programming game using Rust and WebAssembly
https://github.com/jms55/botnet
rust video-game wasm webassembly
Last synced: about 1 year ago
JSON representation
Multiplayer programming game using Rust and WebAssembly
- Host: GitHub
- URL: https://github.com/jms55/botnet
- Owner: JMS55
- License: agpl-3.0
- Created: 2022-06-20T02:28:01.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-06T15:07:24.000Z (over 3 years ago)
- Last Synced: 2025-04-12T20:13:12.631Z (about 1 year ago)
- Topics: rust, video-game, wasm, webassembly
- Language: Rust
- Homepage:
- Size: 499 KB
- Stars: 72
- Watchers: 3
- Forks: 1
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Botnet
### A multiplayer programming simulation game

## Introduction
Botnet is a simulation game where each player writes a script to control autonomous units called "bots". Players have no control over the game directly, and must program their bots to play the game for them.
## Bot Scripts
Bots can be programmed in any language that can compile to [WebAssembly](https://webassembly.org).
Currently, the only SDK provided is for the [Rust](https://www.rust-lang.org) language. Depend on the [botnet_api](botnet_api) crate and compile a cdylib for the `wasm32-unknown-unknown` target.
Fork the [example bot](example_bot) to get started.
## Usage
Currently, the server is hardcoded to run several instances of the example bot.
To run the server with logs enabled, first compile the example bot:
`cargo build --release --target wasm32-unknown-unknown --manifest-path=example_bot/Cargo.toml`
and then compile and run the server:
`RUST_LOG=botnet cargo run --manifest-path=botnet/Cargo.toml`
To view the replay, run [BotnetReplayViewer](botnet_replay_viewer):
`cargo run --release --manifest-path=botnet_replay_viewer/Cargo.toml example.rplay`