Prepare yourself for diving into the dungeon.
The goal is going down as much as possible inside the Tiers
of the dungeon.
Note: For Game Jam limit N
Tiers
, when reached last game is completed
Start at your workstation:
- Buy
Resources
(usingCoins
) - Craft
Resources
- Prepare to dive into the dungeon
- π²: Main mechanics
β οΈ : Attention when implementing- βοΈ: Good to have, not necessary
- π‘: Idea, may be added or not
- β: Possible problem to verify
Use Coins
gained to buy sheer resources:
- X
Coins
gained for everyTier
passed Coins
can be collected/found inside dungeon
Materials that can be mixed to create Weapons
, Shields
, Potions
("crafting").
Resource
+Resource
=Resource
Resource
+Resource
=Potion
Resource
+Resource
=Weapon
Resource
+Resource
=Shield
Note: Each
Resource
occupies N space in theInventory
π
Regain health.
They can only be bought, not crafted!
Tradeoff between space in Inventory
and damage when attacking.
Tradeoff between space in Inventory
and resistance to attacks.
Select Inventory
before leaving.
π² Limited space available: Make sure to leave some space for the
Resources
found in the dungeon
When Inventory
is full, no more Resources
can be collected.
βοΈ Allow to drop object to collect something else
Start at Tier
1 and go down. Tier
starts in one location and has one place where stairs go down.
Tier
depth defines difficulty: Enemies
stronger and more "rare" or "new" Resources
.
Each time you finish a Tier
you gained its depth, when you come down again you start from it.
Manually create N rooms, with random places assigned for Enemies
, Resources
, and Coins
.
For each Tier
select N random rooms, make some of the assigned places concrete instances, and connect each room. Define start and end.
Deeper Tier
makes Enemies
stronger, Resources
more scarce but also more rare.
π‘ No
Enemy
in the player's initial room
After finishing each Tier
you can come back to the workstation.
π² If you get killed while in a
Tier
you lose all theResources
collected
Important: the
Experience
gained is not lost when killed! (Avoid being too weak and not being able to come back)
π² No crafting can be done while inside the dungeon
- Health: how much damage before killed
- Speed: how often movement (compared to
Enemies
) - Attack: base damage (sum to
Weapon
) - Defense: base defense (sum to
Shield
)
4 directions, 1 tile at the time.
If same speed, each time player moves by 1 and Enemy
moves 1.
When more speed you can move x2 before Enemy
moves 1.
Each action spends x1 movement. Actions:
- Apply potion
- Move
- Attack
- Collect
Resource
π² Walking on top of
Coin
automatically collects it (costs x1 movement)
Only when nearby (1 tile close).
π² Deal more damage sometimes (critical hit): Avoids that the battle is decided from the beginning.
Also the enemies have this.
π² Damage not always the same (+ or - by random)
Killing an Enemy
gives you a possible loot and more Experience
.
π² Leveling system: gain
Experience
grow your level, gives you better stats
βοΈ Choose which ability (speed, health, attack, defense) to increase when reaching new level
Each has a Level
, that defines the following:
- Health (how much damage before kill)
- Attack (how much damage inflicted)
- Speed (how often they move)
- Range (how close the player should be before chasing)
- βοΈ Loot
- Frequency (how often dropping something)
- Rare (how rare is the
Resource
dropped)
π² The
Level
and the health are displayed on top of the sprite, so that the player has a way to decide if she wants to attack theEnemy
or not
States:
- Roaming: each turn move in a "random" direction, or not move at all
- Chase: start moving towards player (Path finding
β οΈ ) - Attack: when player is nearby (next tile) attack
- Start at workstation
/ or /
start directly insideTier
1 (based on which one is easier to explain)
- Crafting screen
- Choose 2 (or N βοΈ)
Resources
to combine
- Choose 2 (or N βοΈ)
- Buy screen
- Buy new
Resources
usingCoin
- Buy new
- Preparation screen
- Select things to bring into the dungeon inside
Inventory
- Select things to bring into the dungeon inside
Note: Save previous
Inventory
when diving again
Note: You can check at which
Tier
you are currently
Workstation is a room where you walk, and at each "edge" there is the crafting, buying, and a room to dive into the dungeon.
The game generates the rooms of the Tier
based on the deepness.
The player starts at the "start location":
- Move 4 direction
- Use potion (give back health)
- Add button to do it (keyboard) or click on screen
- Attack (only when enemy nearby)
- Triggered when moving "into" an
Enemy
- Triggered when moving "into" an
- Collect (only when
Resource
nearby)- Triggered when moving "into" a
Resource
- Triggered when moving "into" a
At the same time, all the Enemies
enter their state machine, moving based on the player's speed.
The player can always check her Inventory
(how much space left) and health.
The goal is to reach the end.
Exploration is not required, but it may give you more
Resources
,Coins
, andExperience
Define a "final" Tier
: when reached is game over (for the purpose of the Game Jam).
Important: Make sure the game is not too long, 10-15 minutes for the Game Jam
- Player ability tree to unlock after reaching a new level
- Dash (move faster for N turns)
- Special attacks (magic, distance attacks)
- Gain back health without potion
- Breakable objects (rocks and chests) that cost N movements and give a rare
Resource
- More
Enemies
movements- Sprint N tiles
- Attack from the distance
- Try to prevent the player from reaching the stairs (block the path)
- More
Enemies
sizes (N tiles)- Bigger, more powerful, slower, cannot pass through some doors
- Different dungeons
- Each has different
Resources
, only found in a specific dungeon - Unique
Enemies
(sprites and abilities) - Progress through dungeons (complete one, move to another)
- Each has different
- No more
Weapons
andShields
, and therefore no moreCoins
and shop - A
Resource
becomes aCrystal
- All same sprite with different colors
- No more limit in the
Inventory
forCrystals
- Still required to reach the stairs to store collected
Crystals
- Use
Crystals
to craftPotions
- Health up
- Speed up
- Attack up
- Defense up
- Invisible
- Thunderbolt (cells around player)
- Teletransport (escape from enemies horde)
- In-game
Inventory
becomes made ofPotions
- Choose carefully which
Potions
to bring with limited space - Each
Potion
has a weight Potions
are 1-time use, but not if you get killed
- Choose carefully which
- Player levels
- Gain experience by killing enemies
- Only when reaching the stairs
- When reaching a new level you get 1 point to assign to your stats
- Gain experience by killing enemies
16x16 pixel art.
- Crystal (+ animation)
- Potion
- Player (+ animations)
- Enemies (more than one, + animation)
- Tilemap
- Ground tiles with player controls input
- Dialog
- Font
- Player health icon
- Player speed icon
- Player attack icon
- Player defense icon
- Player and
Enemies
movement (4 directions) - Tilemap (walls and layers for
Enemies
, player, and collectibles) - Allow completing the
Tier
when moving on top of end stairs - Allow collecting
Resources
when nearby (do not move on top of it) - Allow getting coins when moving on top of them
-
Enemy
shared properties - Allow attacking when something nearby
- Player stats definition
- Killing
Enemy
when health zero -
Enemy
state machine - Turn based movement for player and all
Enemies
(based on speed) -
Enemy
path finding towards the player - Turn based system with actors speed
- Allow use
Potion
to gain back health - Allow crafting (selection of what to create, each showing how much and what
Crystal
it costs) - Remove "local"
Inventory
, allCrystals
collected go in global - Screen to prepare
Inventory
to go into dungeon- Display all
Potions
available and their quantity - Click on
Potion
to add x1 toInventory
- Click on
Potion
inInventory
to remove x1 fromInventory
- Display
Inventory
max size and how much is full - Add button to go to crafting screen
- Add button to enter dungeon with selected
Inventory
- βοΈ Allow to select dungeon
Tier
- Display all
- Killing player when health zero
- Come back to prepare
Inventory
screen - Store previous
Inventory
selection to use as autocomplete for next round
- Come back to prepare
- Store current
Tier
in global script - Complete
Tier
when stepping on top of stairs- Add +1 to global
Tier
- Add +1 to global
- Player leveling system (
Experience
points and grow next level)- Add global player stats (with experience points)
- Add experience points after each
Enemy
defeated - Add experience points when
Tier
completed
- Move
Player
stats to global PlayerExperience script - Screen to add gained point to player stats
- Display grid with all stats and their current points assigned
- Allow to click on a stat to add the point
- Add buttons in game to use potions in
Inventory
(with numbers keyboard shortcuts)- Remove
Potion
from globalInventory
when used
- Remove
- Implement all potions abilities
- Stats up
- βοΈ Invisible
- βοΈ Thunder
- Click "esc" to leave the dungeon
- Add indication of controls to ground tiles in first
Tier
- Add label indication in UIs to tell what to do in that screen
- Generate dungeon based on current
Tier
- Spawn random
Enemy
concrete instances (based on currentTier
) - Spawn random stairs position at every round
- Spawn random
- βοΈ Create dungeon (connect rooms concrete instances)
- Room shared properties (locations of
Enemies
,Resources
,Coins
, plus start and end positions)
- Room shared properties (locations of
- Enemies can move in the same position, since no collision is detected and they start moving at the same time
- Enemies attacks seem to come x2 times
- Implement attack and defense computations (add some randomness)
- Implement experience points and leveling computations