Terminal UI implementation and types for the Dark Forest game

Overview

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

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
You might also like...
A terminal based game engine
A terminal based game engine

ccdb: The cmd game engine (Thats also multi threaded) How to use Tutorial Multi threading If you want to use multi threading you have to use ACore The

Terminal-based Snake game written in Rust without dependencies (for educational purposes).
Terminal-based Snake game written in Rust without dependencies (for educational purposes).

RustSnake This is a simple terminal-based Snake game implemented in Rust without dependencies. To start the game type cargo run. Control the snake usi

A simple space shooter game. Runs in the terminal using characters-based UI. Fully written in Rust, using the
A simple space shooter game. Runs in the terminal using characters-based UI. Fully written in Rust, using the "ruscii" library.

Thrust - a terminal shooter game Originally created as a project for the "Missing Semester" course at JKU Linz (338.006). The game is entirely written

Bevy plugin to simulate and preview different types of Color Blindness.
Bevy plugin to simulate and preview different types of Color Blindness.

Bevy Color Blindness Simulation Bevy plugin to simulate and preview different types of Color Blindness. This lets you ensure that your game is accessi

Simple stupid noise primitives for WGSL and Rust (glam/bevy types)
Simple stupid noise primitives for WGSL and Rust (glam/bevy types)

noisy_bevy Simple stupid noise primitives for glam types (Vec2, Vec3) and wgsl. Main motivations are: ergonomic usage with Bevy same results on rust a

2d Endless Runner Game made with Bevy Game Engine
2d Endless Runner Game made with Bevy Game Engine

Cute-runner A 2d Endless Runner Game made with Bevy Game Engine. Table of contents Project Infos Usage Screenshots Disclaimer Project Infos Date: Sept

A game for the game jam
A game for the game jam "1-Button Jam 2021"

One click ninja A game for the game jam "1-Button Jam 2021" written in Rust with the Bevy engine. A rhythm game, where you play a soldier that can def

A game of snake written in Rust using the Bevy game engine, targeting WebGL2

Snake using the Bevy Game Engine Prerequisites cargo install cargo-make Build and serve WASM version Set your local ip address in Makefile.toml (loca

My first attempt at game programming. This is a simple target shooting game built in macroquad.

sergio My first attempt at game programming. This is a simple target shooting game built in macroquad. Rules Hit a target to increase score by 1 Score

Comments
  • Move + Init Snark Calculation + CLI for Moving

    Move + Init Snark Calculation + CLI for Moving

    • Adds logic for building the ZKPs for the Move & Init snarks (still need to add Find Artifact / Reveal Planet)
    • Adds logic for submitting these ZKPs to the contract's functions with a simple API (hopefully)
    • Tested with ZKPs verified both in arkworks and Solidity
    • CLI for Moving around
    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>
    
    opened by gakonst 0
  • feat: use abigen macro for all contracts

    feat: use abigen macro for all contracts

    ~~NOTE: This contains a patched ethers dependency and builds on https://github.com/gakonst/ethers-rs/pull/378~~ ~~This is currently necessary for the generated code to compile successfully (no large rust tuples anymore)~~

    Changes

    • simplify all contract generation with a macro
    opened by mattsse 0
  • Perlin Noise

    Perlin Noise

    Currently, plugging in a remote-explorer plugin wouldn't work with this repo. That's because we can't take in x, y, mimc-hash, and convert that to a planet.

    The missing piece here is a Perlin function, perlin(x, y, hash)

    There's a few implementations out there in rust although I'm not sure how similar they are to the javascript implementation which dark forest uses in their client code

    opened by evanmays 1
Owner
Georgios Konstantopoulos
blockchain scalability, information security and mechanism design. That Layer 2 guy. Aspiring Rustacean.
Georgios Konstantopoulos
Using bevy and custom render pipelines in order to render many objects in a forest using chunks for performance.

bevy_efficient_forest_example Using bevy and custom render pipelines in order to render many objects in a forest using chunks for performance. Grass i

Henrik Djurestål 43 Jan 5, 2023
Solana Game Server is a decentralized game server running on Solana, designed for game developers

Solana Game Server* is the first decentralized Game Server (aka web3 game server) designed for game devs. (Think web3 SDK for game developers as a ser

Tardigrade Life Sciences, Inc 16 Dec 1, 2022
Victorem - easy UDP game server and client framework for creating simple 2D and 3D online game prototype in Rust.

Victorem Easy UDP game server and client framework for creating simple 2D and 3D online game prototype in Rust. Example Cargo.toml [dependencies] vict

Victor Winbringer 27 Jan 7, 2023
2-player game made with Rust and "ggez" engine, based on "Conway's Game of Life"

fight-for-your-life A 2-player game based on the "Conway's Game of Life", made with Rust and the game engine "ggez". Create shapes on the grid that wi

Petros 3 Oct 25, 2021
A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it techinically works

rustetris A tetris game I wrote in rust using ncurses. I'm sure that there's a better way to write a tetris game, and the code may be sus, but it tech

Eric G 3 Oct 15, 2022
Wasm game of life - A Rust and WebAssembly tutorial implementing the Game of Life

wasm_game_of_life Conway's Game of Life in Rust and WebAssembly Contributing | Chat Built with ?? ?? by The Rust and WebAssembly Working Group About T

Rust and WebAssembly 236 Dec 24, 2022
Managed game servers, matchmaking, and DDoS mitigation that lets you focus on building your game

Managed game servers, matchmaking, and DDoS mitigation that lets you focus on building your game. Home - Docs - Twitter - Discord ?? Features Everythi

Rivet 58 Jun 25, 2023
Terminal typing "game"

ToggleCoolCowSaysType A terminal based typing game. Usage: toggle_cool_cow_says_type [-t {word_count}] [-t {file_extension}] [-s] {project_path} -s :

Togglebit 23 Sep 27, 2022
rpg-cli is a bare-bones JRPG-inspired terminal game written in Rust

rpg-cli is a bare-bones JRPG-inspired terminal game written in Rust. It can work as an alternative to cd where you randomly encounter enemies as you change directories.

Facundo Olano 660 May 27, 2021
A terminal battleship game in Rust

Battleship.rs A terminal battleship game in Rust. Run with docker: $ docker run --rm -it deepu105/battleship:main This is slightly different than the

Deepu K Sasidharan 56 Dec 19, 2022