All Projects → gakonst → dark-forest

gakonst / dark-forest

Licence: other
[WIP] Rust implementation of the Dark Forest game client

Programming Languages

rust
11053 projects
solidity
1140 projects
shell
77523 projects

dark-forest.rs

Terminal UI implementation and types for the Dark Forest game

Github Actions

Development

We use the standard Rust toolchain

cargo check
cargo test
cargo doc --open
cargo run

Move CLI Usage

In order to send forces to another planet, you can use the CLI command below, which will move 100 units (internally coded as 100000, because DF types are all x100 on-chain to avoid rounding errors) to the target planet. Coordinates are given as a comma separated list of signed integers.

cargo r move --from=-100,100 --to=-120,120 \
    --wasm ./crates/df-engine/round3-data/move.wasm \
    --r1cs ./crates/df-engine/round3-data/move.r1cs \
    --zkey ./crates/df-engine/round3-data/move.zkey \
    --private-key <your private key without a 0x>

Roadmap

  • Dark Forest Types
    • Map: Can read the map from the plugin
    • Planets
      • Info
      • Off-chain stats calculation for uninitialized planets
  • Actions
    • Planets
      • Moving
      • Upgrading
      • Refresh a Planet
    • Artifacts
      • Prospect
      • Find
      • Deposit
      • Withdraw
      • Activate
      • Deactive
    • Silver
  • TUI / CLI / Repl for interacting with the system
  • Caching responses
  • Smart Contract Accounts
  • Type safe bindings to the smart contracts
  • Fast Explorer
  • Fast SNARKer for moves
  • Refactor to smaller packages which can be imported for 3rd party integrations
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].