Giter VIP home page Giter VIP logo

grandoasis's Introduction

GrandOasis

A small rogue-lite that spans 100 floors, with randomly generated maps for each!

Take your journey as you fight monsters, with the difficulty increasing the further you go. Every 25 floors, encounter a dangerous boss... However, each enemy you slay, you get tougher.

Installation

Game comes with a pre-packaged local server, however can be run with the included pre-built files located in the build directory.

If you wish to run using the pre-packaged local server, first install the dependencies using npm i.

You can then run the local server with node using npm start

Credits

Special Thanks to Aisfae for the artwork on this project. Support them on Ko-fi!

grandoasis's People

Contributors

valquaint avatar

Watchers

 avatar

grandoasis's Issues

Narrator

Narrator

  • Communicates with player using on-screen dialogue
  • Prevents continuing gameplay while speaking

Bump() and Enter() functions

Bump() function

  • Player class calls Bump() if cell being entered has another entity with density
  • Bump() function prevents Enter() function and movement

Enter() function

  • Player class calls Enter() after cell is entered and has no entities with density

Stats Panel

Stats Panel

  • Display current health
  • Display current item
  • Display current damage
  • Display current floor
  • Display current score

Viewport

Viewport

  • Keeps player view to static 7 x 7 cell view
  • Maintains view for stat panel above
  • Maintains view for dialogue below
  • Scales appropriately on both desktop and mobile

HUD

HUD

  • Contains Stats Panel
  • Shows status effects, if any
  • Shows minimal information

End Game Logic

End Game Logic

  • Trigger end game when player completes floor 100
  • Show credits
  • Play ending music
  • Offer to start over
  • Show score

Character Control

Character control scheme

  • Player can control character using WASD or arrow keys
  • Retains focus when in web browser
  • Has manual control buttons on page

Enemies

Enemies

  • Interacted with via Bump() function
  • Basic AI to roam on map within bounds
  • Interact with player using self Bump() function
  • Have HP and Damage stats
  • Move After player moves
  • Take turns sequentially

Project Codebase Refactor

Project codebase refactor to utilize class handling

  • Migrate maze generator into class
  • Migrate GridCell to standalone file
  • Implement class file structure

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.