Skip to content

markuz449/Devolution-Rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Devolution Title Image

DEVOLUTION

A choose your own adventure game set in a dystopian future where your decisions not only decide your fate, but the fate of your friends and family.

Table of Contents

About The Project

Devolution is a sci-fi choose your own adventure game set in a dystopian alien world. This game has been designed for Unix-Terminals so currently it only supports Linux and Mac OS.

This project is a recreation of a full year project I was apart of that was originally created in C. The stipulations for the project was that it had to be cool and less than 1000 lines of code. I've decided to recreate it in Rust because I wasn't happy with the final release of the original product.

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  • Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Installation

  1. Clone the Devolution-Rust
git clone https://github.com/markuz449/Devolution-Rust.git
  1. Build using Cargo
cargo build
  1. Run using Cargo
cargo run

Usage

I used the Termion crate in this project to convert the terminal into raw mode. This meant that I could take inputs directly from the user without them having to enter something into the terminal and then press enter to continue the game. Termion also provided text colouring as well as text styling to make the game prettier.

The Character Creator is where you can create your (very simple) character. The current selected segment is blue so you know exactly where you are. The character's name has a max of 20 characters.

The story is piped through two different unix commands to format the text. I did this so that the story would be more readible as the terminal didn't offer word wrapping. The story was increadibly hard to read when words were broken halfway through with no clear indication. The text formatting also allowed the game to be ran with any size terminal.

The game also allows the user to re-read back through the story if they forgot something, just like a book. The only choice that is shown was the users original choice, all the other possible choices aren't visible when going back through the story.

The game also has a super simple help menu! Just hit the 'H' key and then you'll get all the information that you possibly need! P.S. There isn't a lot...

You can generate documentation for this project using cargo

  1. Generate docs using cargo
cargo doc
  1. Navigate to the docs
cd target/doc/devolution_rust
  1. Open the documentation
xdg-open index.html

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNU General Public License v3.0 License. See LICENSE for more information.

Contact

Marcus Anderson - markuz449@gmail.com

Project Link: https://github.com/markuz449/Devolution-Rust

Acknowledgements

About

Recreating a project in the Rust language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published