Skip to content
This repository has been archived by the owner on Sep 19, 2022. It is now read-only.

Latest commit

 

History

History
67 lines (43 loc) · 2.72 KB

contributing.md

File metadata and controls

67 lines (43 loc) · 2.72 KB

Contributing

Getting involved with Shotcaller should be easy. Right now we are looking primarily for designers and programmers, but you're welcome to reach out about other fields of endeavor as well!

All participants must abide by the Amethyst Code of Conduct.

Design

Learning path

Recommended

Starter tasks

Programming

Learning Path

If you’ve grokked the following resources, you should be able to work on the Shotcaller codebase with ease.

Essentials

Extended

Optional

Tech Stack

Bracket-lib

https://github.com/thebracket/bracket-lib

For a text-based game, Rust gives us agency over the entire stack, all the way down to terminal libs like Crossterm. By intentionally constraining ourselves to ASCII/tiles graphics for the first iterations of the game we maintain a narrow focus on game mechanics.

Plank ECS and Minigene

https://crates.io/crates/plank_ecs https://github.com/jojolepro/minigene

Shotcaller is built with Minigene, an ASCII/tiled game engine using a custom ECS framework called Plank. Plank is intended to be very similar to Specs, and it should be easy to learn if you've reviewed any Specs-related learning resources (see Learning Path below).

Why not Amethyst Engine?

Amethyst Engine is too heavyweight for our immediate needs. It is also in a state of flux at the moment. Once Amethyst Engine has stabilized (1year+) we will certainly evaluate the merits of migrating to it.

Starter tasks