Giter Site home page Giter Site logo

darkestdungeonpokemongame's Introduction

Expendable

You are a criminal. Maybe you were a desparate survivor, doing whatever you could to provide, or maybe an innocent man and a victim of circumstance, corruption, and unseen enemies. None of that matters, all that matters now is your fate. You were sentenced to death but there was a light at the end of the tunnel, a secondary deal: an experiment and final favor for the same government that put you in chains. Your job is to descend into the depths of a seemingly infinite anomalous underwater structure, known to researchers as the Womb of God, and reach its final floor. Each floor is filled with dangers and monsters beyond science and imagination and your only defense is a mysterious device capable of controlling the same monsters that hunger for your flesh. If you survive, you will be granted freedom and your past is expunged. If you fail, well, they don't exactly call you "indispensable".

  1. About
  2. Combat
  3. Upgrading
  4. The Map
  5. The Type System
    5.1. Damage Types
    5.2. Horror Types

1. About

Expendable is a turn-based roguelike game that combines aspects of Pokemon and various dungeon crawlers. The player will explore a number of floors that are composed of various rooms, containing horrors, secrets, and treasures. In combat the player will control a number of horrors that they've been able to capture as well as themselves to ensure survival.

2. Combat

Combat is turn-based. The player controls 5 units: themselves, and up to 4 captured horrors. Both allies and enemies are positioned left-to-right with characters closest to the center being at the "front", similar to Darkest Dungeon.

Positioning is a pivotal part of Expendable. Moves have limited targetting, such as some moves only being able to target creatures in the back. For balancing, most moves will target creatures in the front, thus it is usually the most dangerous position to be in. However that may change depending on the exact type of moves being used.

The player character is a pretty useless meat bag that does little to no damage, however, if they die, they lose, so keeping them alive is pivotal. To do that, the player character is capable of manipulating the position of their units to prevent the most amount of damage coming to them. For example, the player can swap positions with characters or command a creature to take a portion of the damage they would normally take.

The player can also purchase items that are basically like one-use moves they have.

The player will also be able to see what moves the enemies are going to do while selecting their moves. This way the player can strategize about how to dodge attacks and minimize the damage they take. Kinda like how in Slay the Spire enemies project a hint at what they are going to do. For example, in the image the right-most enemy is planning on attacking for 12 damage.

Both enemy and controlled Horrors will have up to 4 moves. The turn order is based on speed as well as modifiers to speed, like for example a slower Horror can use a "fast" move that has increased priority.

3. Upgrading

Completing a combat will reward the player with a certain amount of EXP, which unlike in RPGs, is not immediately used but instead stored for later use. This "currency" can be traded in at certain locations to boost their creature's stats, or even mutating them entirely into new forms. Think Pokemon Evolution and EVs.

4. The Map

I'm not sure how many floors the Womb of God is gonna have yet. I think it would make sense for there to be a post-game mode with infinite procedurally generated floors but maybe for the main story there's only like 4-5? Maybe even fewer,

Floors are composed of rooms, along with a final room that leads to the next floor. Maybe the final room can be a legendary Pokemon encounter. I currently have the following ideas for rooms:

  • Encounters: Obviously we have to be able to go into a room and encounter enemies that may kill us.
  • Rest sites: Places to heal up the player and horrors. Could also be where the player can spend some of their hard earned EXP
  • Merchant: A mysterious entity can be found in certain rooms on the map, from whom rare captured horrors can be traded for, as well as in-battle items.
  • Events: In the role play sense, these are misc events that happen as the player explores. Maybe they encountered a wall that they can break down if one of their Horrors knows a Physical move and breaking it down allows them to access an unexplored area of the map. They can also be a way to slowly reveal the lore and story of the Womb of God.

If this sounds familiar, it's because it's based off of Slay the Spire's map.

Different rooms not only hold different things but also control how you move across the map. You can only move to rooms that are connected to your current room. The player can see what type of rooms are on the floor but not the exact occurrence in those rooms. Like you can see there's an encounter room coming up but not what enemies are in that encounter. This creates a bit of strategy for how the player wants to traverse the map.

5. The Type System

5.1. Damage Types

Pokemon has a rock-paper-scissors-esque battle system where certain types are super effective against others. I want to create a system that also makes certain moves stronger than others depending on the situation but a bit more complex.

Like in Pokemon moves deal certain types of damage but unlike Pokemon, their effectiveness is determined by the last damage type the creature took as well as the creature's type (more on that later).

So for example you may have something like this:

Burn -> Freeze -> Shock -> Corrosive -> Burn

A creature hit by burn damage will then take extra damage from freeze damage then by shock, then by corrosive then by burn once more.

I want the damage types to be based off actual damage you may experience in a laboratory setting. Here's what I got so far:

Burn -> Freeze -> Shock -> Corrosive -> Burn

Radioactive -> Radioactive

Psychic

Physical

The most common moves will be Physical and the "Elemental" types.

Radioactive being effective against itself is obviously very strong and will thus be a rare type of damage.

Psychic can't deal extra combo damage but is also resisted by none of the Creature types. Speaking of...

5.2. Horror Types

The scientific community has classified all the horrors in the Womb into one of the following categories:

Biological: Corrupted animal/plant-like creatures
Sapient: Intelligent creatures, like humans
Construct: Creatures of artificial origin
Monstrosity: Otherworldy creatures of unknown origin
Ethereals: Ghost-like creatures

These creatures have their own type weaknesses, kind of like Pokemon types.

For example, Biological creatures normally take extra burn damage. So if you hit a Biological horror with corrosive then burn they'd take a ton of damage, kind of like a 4x super effective hit in Pokemon.

Lore

The lore is loosely based off Lovecraft's "The Nameless City" where the protagonist discovers an ancient civilization that long predates our known history. Our lore will be similar.

The Womb of God is the final bastion of a long ancient race known as the "Axiomics" to the scientific community. Their name stems from the fact that they seem to be "essential" to life as we know it, like how axioms are the basis of all theorems in a system of logic.

The Axiomics are incapable of reproducing and built their civilization on the search of a way to create more of themselves, or more specifically, they studied how information can pass through time. The many creatures we see in the Womb of God are their creations. Eventually, they came upon the DNA model of life which was incredibly effective, far more than they could have ever anticipated. A breach in their lab caused these first primitive forms of life to leak onto the environment eventually becoming the dominant forms of life we know now, including diseases that ravaged the ancient race.

The Womb of God is the laboratory where it all began and the final unbreached location. The Axiomics have taken refuge in the final deepest floor of the building.

darkestdungeonpokemongame's People

Contributors

adstratum avatar jason-jiang21 avatar leoouyang24 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

adstratum

darkestdungeonpokemongame's Issues

Starters

Give the player 3 options for starters when the game starts

Create new Horrorw

Create the ability to create new horrors in between battles using DNA.

Battle Map Creation

Need to create a map that represents rooms in a dungeon.

Image

Notice here how different rooms are linked. The rooms determine not only the type of encounter the player will encounter (such as a rest place, enemies to fight, some kind of merchant, etc) but they also control how the player can move. The players can only enter certain rooms if they enter the preceding rooms.

For now, we need at just 1 room, which is just an enemy encounter. Feel free to add more. The code should be able to accommodate future room types

Scanning

Give the Player Creature the scan ability, which adds a creature into the catalog

REFACTOR: How Lure handles animations

Currently Lure has the animation baked into the doMoveSequence. This allows us to calculate the targets and do the animation, which is nice but it does mean that the moveAnimationSequence is untouched. Lure can either 1) be the exception, 2) use doAnimationSequence like other moves, or 3) other moves can have their animation sequences baked into the do move Sequence. Basically moves should (probably) be consistent; the moveAnimationSequence should always be the visual aspect of a move.

necessary moves

Moves needed for MVP:

  • Spit, deals a set amount of damage to any target
  • Attack Boost, grants an ally extra attack
  • Speed Boost, grants an ally a 1 turn boost to speed
  • Smash, a powerful move that deals a ton of damage for a very short cooldown
  • Chomp, same thing as Bite except it deals a lot more damage
  • Stab, deals 1x damage to any creature (Bite needs to only hit the front most target)
  • Backstab, deals damage to the rear creature
  • Heal, heal a small amount of health to a creature

Wells

Create the Well Event:

  • Make it spawn randomly
  • Option to heal the user
  • Option to heal the team
  • Option to get a some DNA

Player UI Between Battles

Players should be able to see what creatures they have caught between battles. This should be accessible from the battle map but for now it can be just a scene file displaying the UI.

necessary creatures

The following creatures must be completed for the MVP:

  • Chomper
  • Silent
  • Sleeping Guardian
  • Siren
  • Support Creature
  • Moth

Better targeting

Moves need to have more sophisticated targeting.

  • Moves are able to define how many targets, from 0 - as many creatures as possible
  • Moves with 0 targets should have no targeting phase in the UI

tooltips

A lot of buttons need tooltips:

  • all moves
  • Upgrade button
    • When you can level up
    • When you are blocked because of a pending upgrade
    • When you are blocked due to lack of DNA
  • Well options

Main Menu

add main menu that takes the player into the game

DNA from battles

Gain DNA from Battles:

  • Gain some amount of dna per defeated enemy
  • Render that in the UI

Random Battles

Randomize room battles, for now don't worry about enemy pools; any enemies is fine

Leveling Up

Allow players to level up creatures in the team menu.

  • Leveling up increases all stats by 1.
  • Every 3 levels, allow a "Big BOOST" which puts 3 stats into one stat

Handle Player Loss

Currently Game doesn't really handle player loss. Make the game reset to the main menu upon loss

Player Moves

Player needs to be able to shoot, swap position, and capture.

  • swap position
  • shoot
  • capture

MVP Good to Haves:

  • Find a way to make stats look better
  • Moth's Visage of God as a signature move
  • The Man event
    • Corrupted Horror as a reward

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.