Code Monkey home page Code Monkey logo

yata's Introduction

Why?

As I wrote untitled_rl, a roguelike game, as a C++ refresher, and yarl (another roguelike purged from internet as a matter of public safety/sanity) as a means to learn C, I'm using this project as a means to learn Rust.

What?

My past game-like projects have taught me to start at a scope of roughly half of what I think I can handle. I want to make this a text-based adventure, so I'll make a finite state machine instead and go from there. My moonshot end-goal is to have yata be merely a text-based adventure engine, reading states, transitions, etc, from an external file.

Thoughts

  • I'm beginging to question whether a FSM is the best pattern to use for a text adventure. It makes sense for locations to be implemented as States, but the presentation of content--to me--lends itself toward object-oriented patterns.

Post-minimum viable stuff

Engine

  • JSON Parser to read Content (Location/Item descriptions) from an external, mutable file.

Finite State Machine

  • Additional extra-gameplay states (Start, End, Main Menu, etc)
  • Player inventory

Content

  • Item descriptions

Minimum viable game requirements

Finite State Machine

  • Conditional Branching

Content

  • State descriptions
  • State transition descriptions

yata's People

Contributors

ggasmithh avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.