Giter VIP home page Giter VIP logo

moebiusdungeons's Introduction

Moebius Dungeons (MoDun) v1.3.2

A Browser RPG Roguelike Game


Table of Contents


Inspired By D.O.A.

How to Run MoDun Locally

What is Moebius Dungeons?

How To Play Moebius Dungeons




Inspired By Dungeons Of Amara

βš”οΈ πŸ›‘οΈ 🏰 πŸŽ–οΈ πŸ‘‘

A Vue SPA Dungeon Crawler game based off of the Dungeons Of Amara Playable RPG Book

Dungeons Of Amara Book Image


Mobius Dungeons needs to be refactored, and I can't do it alone.

If you'd like to assist in refactoring the game, or would like to support me as a web developer you can donate to Moebius Dungeons via my PayPal Account


Run MoDun Locally

1. clone repo
2. cd into local folder
3. git checkout 
    3a. checkout vuexRefactor branch for experimental changes
    3b. checkout the main branch for a stable release
4. npm run serve to run on local host

Various sigils from the game, the shop sigil, kingloyal crest, knight crest, beasts crest.


What is Moebius Dungeons?

Moebius Dungeons is an RPG browser game built with Vue, Javascript, HTML, and CSS. The project is based off of Sean Yager's game-ified book titled "Dungeons Of Amara"

Moebius Dungeons is an Experiment in Vue.js

This project is being developed as an experiment while completing my Full Stack Certification from Austin Coding Academy with a focus on the React framework.

Over the course of 2020 the game has taken on many different iterations as my full stack comprehension grew.

Moebius Dungeons started as a Javascript/Jquery, HTML, and CSS project without any framework, toggling between game phases using Jquery to show and hide HTML elements and tracking information in a massive JSON Object.

Scaling up and looking ahead to what I wanted the game to become I realized quickly I was outgrowing the scope of what just JS/Jquery, HTML, and CSS alone could do for me.

Rather than commit to using React, the framework I was being taught through Austin Coding Academy, I wanted to grab ahold of the opprotunity to learn two frameworks at once.

Here's a little gif of the difference in UI when I upgraded to using Vue.js. The interface became much cleaner, more visually involved, and more organized with the modularity that Vue.js Framework offered with it's reusable Components.


How To Play Moebius Dungeons

Moebius Dungeons is a leaderboard game, players compete for the highest score against other fellow Kingloyal Knights (other players who can delve the dungeons and achieve their own high scores).

Scores are based on a myriad of conditions, your highest health, damage dealt, items bought, damage blocked, and many other stats. The Top Ten highest scoring Kingloyal will be displayed in the leaderboards at the beginning of the game.

Planned implementations are as follows:

  • πŸ“ˆ Leaderboards for Highest Scoring Kingloyal Knights
  • πŸ’Ύ Game Progress Saved during every new turn in all phases of gameplay
  • ✨ Refactoring playable Character Classes Special Moves
    • Variagation for mage should halve the enemies health per use
    • Rogue should be able to steal the coin value from an enemy and move on to the shop select phase if special ability kills the monster
    • Swordsman gains 3 temporary armor, armor lasts until a physical enemy deals damage to you.
  • πŸ’Ύ Saved game resumes on re-logging in
  • πŸ”‰ Mixing and mastering the Audio in the game to be consistent volume
  • πŸ“’ Adjust Howler plugin to include audio volumes in the plugin


The Gameplay Loop πŸ”

The core gameplay loop of Moebius Dungeons is Dungeon Phase... ▢️ Choose a Shopkeep... ▢️ Shop Phase... ▢️ Dungeon Phase... πŸ”


Dungeon Phase πŸ’€

During the Dungeon phase the player must slay a terrible monster by reducing its Health to 0 (zero). The player has three choices available to them. Trade Blows, Special Ability (Unique to each class), and Turn Tail.

Additionally there are four icons representing your stats and the monsters:

  • HEALTH
  • ARMOR
  • ATTACK
    • Either MAGIC or PHYSICAL

Health:

is reduced by Physical or Magical attacks.

Armor:

is permanent, and reduces incoming Physical attack values 1 to 1.

Attack:

Magic or Physical

is your maximum possible damage, you can deal anywhere from 1 to your maximum listed value by your attack icon.


Trade Blows βš”οΈ

The player attacks the monster, dealing a random amount of damage between 1 and their attack maximum. If the monster survives the attack then the player is attacked back, the monster deals their own damage between 1 and their attack maximum. The attack maximum is represented by the numbers next to the black sword or flame icon.

The fire icon represents magic damage, and is unaffected by armor values. That's to say if you play as a mage, your attacks will pass through enemy armor, dealing full damage every time. However, some monsters also have magic attacks, so beware!

The sword icon represents physical damage and is negated by armor. If you deal 10 damage and an enemy has 5 armor you'll only deal 5 damage with physical damage.


Special Abilities ❇️

Each class has a special ability, costing mettle to use. This resource (mettle), doesn't recharge on it's own and can be regained via resting in-between battles or through certain consumables. Using an ability will not cause the monster you're fighting to retaliate.

En'garde

The Swordsman's ability (En'Garde) grants +1 physical armor which reduces incoming physical damage. The ability can be used up to three times in a row.

Variagate

The Mage's ability (Variagate) reduces the enemies health by half. This can be useful in a pinch, and can make quick work of endgame level monster. As this ability can be used 3 times in a row with full Mettle, the mage can weaken a 100HP monster to 50HP, then 25HP, then to 13HP. A powerful ability indeed!

Peculate

The Varlet's ability (Peculate) allows for stealing coins when used to kill a monster. The ability deals exactly 1/4 of your maximum attack rounded down, and ignoring armor of any kind.

Peculate must be used to deal the killing blow to a monster to provide coins.. Unlike the other class abilities, Peculate is a long con ability that requires pre-planning and setup, with a little luck mixed in. It's much more difficult to use effectively than the other abilities but pays off when used properly.

Example:

A monster has 12HP and your Max Attack is 8. 
You have one use of Peculate, which will always deal (1/4 of your max damage) per use regardless of armor. 
Fight the monster with trade blows until you're certain peculate can kill it. If the monster dies, you'll steal coins from it.

Peculate when used as the killing blow, grants the Varlet 2 more coins on top of the coins you receive for defeating the monster.

Turn Tail

Players have the option to Turn Tail, and attempt to escape the current encounter. This option is easier to succeed at when you have high health. The mechanic weighs your health against the monsters and a random roll is added to your escape attempt value. Your health total gets added to your escape roll and must be higher than what the monster rolls for you to escape successfully.

On a successful escape you leave the monster behind, and move on to the Shop Select Phase. You gain no coins from the monster you fought.



Shop Select Phase πŸ’Έ

Players have three options during this phase.

  • Pick between two shopkeepers
  • Rest to regain Mettle
  • Retire

Pick a Shopkeep πŸ‘₯

Two random shopkeepers appear and the Player can choose to visit either Shopkeep.

Each shopkeep has different stock available, you'll have to play the game to learn more about their unique inventories. Here's a few swift teasers though:

The Merchant

The Cleric

The Graverobber

The Witch


Rest to Regain Mettle 😴

Players can choose to skip the Shop Phase entirely in exchange for regaining 1 mettle use. This is a great way to build up a safety net to unleash your full potential with your ability and save some coin while you're at it.


Retire

Playes MUST retire their game in order to be eligible for leaderboard submission. A player that does not retire from their adventure and instead is killed in battle will lose all progress and forfeit their chance to be placed in the leaderboard.

This is the most important crux in Moebius Dungeons. The player must choose to end their run in safety to go on and tell of their epic journey.


Shop Phase

Players are able to spend the coins they earn when slaying monsters in this phase. Depending on the shopkeep you selected in the previous phase you'll have access to different items.

The effects of these items range from replenishing your health, to imparting one time magical effects, to bringing you back from the brink of death!

Play around in the shops and get a feel for your favorite items.

Various items from the game, a potion, a demon ring, knight crest, and others.


Get in Touch

That's the core gist of Moebius Dungeons, thanks for reading this far. I'm always happy to hear from fans so reach out to say hi! I'm on most social media @MisuseOfMana

If you have any recommendations for Moebius Dungeons please send your feedback to [email protected]

Your pal,

moebiusdungeons's People

Contributors

dependabot[bot] avatar misuseofmana avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

vicenterusso

moebiusdungeons's Issues

Visiting the grave robber sometimes breaks the game

On occasion, visiting the grave robber throws an error.

undefined is not an object (evaluating 'this.whosSound[this.shopkeep.welcome[randomSound]].play')
mounted β€”Β ShopControls.vue:251

Because the controls are locked until the sound file ends and the sound file is never found, they remain locked indefinitely, and the user can't continue the game.

I believe this occurs because the grave robber’s 5th welcome option (" wantSome") has a leading space.

Shops are often completely sold out

The shops often become useless later in the game, because they have three sold-out items and nothing actually purchasable. It would be nice to either favor purchasable items, or not show shops that have no purchasable items left.

Should be possible to retire after seeing what's in the shop

Sometimes, when you're low on health, you may visit a shop and find that everything is sold out. Based on that, you may then decide it's too risky to continue, and want to retire, but you can't retire once you've gone to the shop. I'd love to have a retire option available from the shop menu.

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.