General Design Info - Orhu/Summer2023Project GitHub Wiki
This is not a formal design doc yet. Right now, it serves as a place where I am compiling every decision we have made regarding the project (and some ideas I come up with while I type). Soon, we will make a different page where I compile all this stuff and replace this page with a formal design doc.
General stuff
The game is a deck builder/dungeon crawler mix, where the cards in your deck influence the generation of the dungeon as well as your abilities.
Dungeons are a series of square rooms connected to one another, and within each room are either enemies to fight or some other special things like a treasure chest with a new card, a shop, etc.
Cards
[Tentative]
Cards are gained as the player traverses the dungeon, awarded when a player clears a room, opens a chest, or buys a card in a shop, as a few examples. Each card has two sides: One which determines the behavior of the card when the player uses it in combat/an immediate effect on the player; One which affects the dungeon in some way.
[Undiscussed Idea] The player maintains two collections of cards during their run: A deck, which the player draws from in combat, and a sideboard, which is filled with cards that have one-time permanent effects on the player. The deck has no maximum size, but the sideboard has a maximum size, which can be expanded via a roguelike-style meta-progression system.
More information on cards can be found on the Cards page.
Combat
[Tentative]
Combat works via a MOBA-like ability system where each card in your hand corresponds to a different ability hotkey. Upon activating an ability, the slot the ability was in will be disabled on a cooldown determined by the card played from it. Cards are immediately drawn to fill in empty slots and any card can fill any slot.
Players will have to navigate around enemies in combat similarly to Enter the Gungeon or The Binding of Isaac and will use their cards to attack in real time. Card draw is determined based on cooldowns, however new cards are drawn immediately upon a card being used. If multiple cards are used simultaneously (see Card Chording), cards are filled from left to right, or in the order the abilities were activated.
Enemies will have predictable AI, allowing the player to learn how to fight each one as they play.
Card Chording
Card Chording is a tentative mechanic that lets players synergize card abilities together by playing them at the same time (the term chording comes from music, since notes played at the same time form chords). Depending on how card abilities are implemented, these synergies may be procedural, in that there would be some base attack that is modified by abilities, saving us from having to design specific synergies for every possible combination of cards being activated at the same time, while still letting us do so with certain card combos to create more formal synergies.
Of course, the more cards you commit to a chord, the stronger it can become, but the cost of this is a longer cooldown being applied to all ability slots used in the chord (something we will figure out how/if we should balance/do after a formal prototype is built).
Dungeon Generation
[Tentative]
[Note: This is more implementation heavy, but outlines some important design info]
The dungeon generates in different phases, allowing cards you gain on a floor to immediately influence the way the dungeon generates. The first phase of generation occurs when you enter the floor, where the room-by-room layout of the floor is determined. The second phase of generation occurs when the player enters a room, where all enemies, obstacles, and other effects/hazards are placed into the room. Once a room is generated, it will not change again.
Dungeon generation is influenced by various scaling variables that are determined by the sum of all cards that effect a given variable (i.e., if you have 2 cards that have the effect +1 enemies appear in each room and 3 cards that have the effect -1 enemies appear in each room, you would have a -1 modifier to the number of enemies that appear in each room). In general, each room will have initial values determined for each of its variables in Phase 1 of dungeon generation which are then adjusted by the modifier calculated as above when the player enter the room.
Rooms are all based on a basic template selected semi-randomly from a collection of templates. For more info, refer to the Room Templates page.