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 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
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

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

🍖A WGPU graphics pipeline, along with simple types used to marshal data to the GPU
🍖A WGPU graphics pipeline, along with simple types used to marshal data to the GPU

renderling 🍖 This library is a collection of WGPU render pipelines. Shaders are written in GLSL. shaderc is used to compile shaders to SPIR-V. Defini

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

Conway's Game of Life implemented for Game Boy Advance in Rust

game-of-life An implementation of a Conway's Game of Life environment on GBA. The ultimate game should have two modes: Edit and Run mode which can be

A game made in one week for the Bevy engine's first game jam

¿Quien es el MechaBurro? An entry for the first Bevy game jam following the theme of "Unfair Advantage." It was made in one week using the wonderful B

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 38 Nov 5, 2022
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 15 Jul 2, 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 26 Oct 4, 2022
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 55 Nov 8, 2022
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

null 34 Oct 19, 2022
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

annie 29 Nov 22, 2022
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

Johan Klokkhammer Helsing 7 Nov 16, 2022
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