Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1318840 Posts in 59249 Topics- by 50341 Members - Latest Member: TheFrayWorkshop

October 20, 2017, 11:36:22 am

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsUnderworld Dungeon
Pages: [1] 2 3 ... 6
Print
Author Topic: Underworld Dungeon  (Read 13772 times)
InfernoSoul
Level 1
*



View Profile Email
« on: October 17, 2015, 05:18:12 am »

Underworld Dungeon

2D roguelike adventure inspired by Binding of Isaac and Dark Souls











Game Features


- Procedurally generated rooms every run

- A challenging combat system

- An intuitive crafting system

- Tons of cool creatures, NPCs and classes

- Hundreds of unique, craftable items to collect






Procedural


The dungeon is randomly generated at the start of each run so biomes, rooms, objects, enemies and secrets will be different to provide a fresh and challenging experience each time.

Items and resources are also randomly generated which means you will have a different type of build each run. For example, on one run, you could be a warrior with a shield and a flaming axe, while on another, you could be a mage with teleportation and a projectile weapon.







Exploration


As you explore the dungeon, you will stumble upon ruined statues and locked NPCs which you can free to unlock new characters.  There will also be ancient chests scattered around the dungeon which you can loot for powerful weapons. You will also encounter different traps that create barriers around you and spawn a mob of enemies.

Traders will also spawn which will provide you with interesting exchanges such as: leather chestplate + stick + leather leggings = iron bar (as shown in the GIF below).








Story

Long ago, in the busy city of Athrolis, a rumor was spread.  It told of an ancient and foreboding dungeon deep below their land that held dead souls captive. If one was brave enough, he could venture down into the depths and rescue his lost ones.    

The stony, cracked floors and mossy walls of Athrolis seemed to shine ominously in the moonlight as it's citizens imagined the horrors concealed in the dungeon that guarded such a tempting reward.

Each character in Underworld Dungeon has their own background story which explains how they got their starting items and why they are venturing down into the dungeon.



Warrior: Somewhere in the city, a man snatched his razor-sharp sword from his room and shrugged on his wooden shield. He was one of the most powerful and deadliest warriors in Athrolis. His eyes, hidden underneath his iron helm, had a glint of sadness as he thought about the loss of his wife. Jaws set, he strode out in search of the dungeon.

Bandit: Driven by greed, the infamous bandit gathered his belongings in preparation for his journey through the dungeon. He carried a rare teleport staff and a short iron sword which were both stolen as he set off in search of the rare riches hidden deep within the Underworld Dungeon.





Combat


- Stamina: Every action uses a varying amount of stamina such as swinging a sword or dashing. This means that you must use your stamina wisely and consider each action instinctively to avoid being stunned with a depleted stamina bar.
  
- Shield: Bringing your shield up will block incoming damage from enemies with varying strengths. (ie. Iron Shield blocks 75% damage while a Wooden Shield blocks 65%)

- Dash: Dashing allows you to rapidly move away from an enemy's attack but does not grant you invincibility. Thus, you must use it carefully as it takes away quite a lot of your stamina and leaves you vulnerable to an enemy afterwards.








Crafting

By combining 2 or more items, you'll be able to craft different types of weapons, armor and gear. For example, you can combine two iron bars and one stick to craft an Iron Sword.

Another example is combining an iron battleaxe with dynamite to create an explosive battleaxe that fires dynamite projectiles when you swing the weapon.








Items

Underworld Dungeon will have about 150 items so that each run will be interesting and unique since you have to use varying weapons, armor and gear together in different combinations to conquer the dungeon. Items come in 3 different types: weapons, armor and gear.  

Weapons are items you can place in your hotbar, which you can access with the numbers 1-5, and which can be used by left-clicking. For example, you can swing a massive Iron Waraxe by left-clicking while the item is selected in your hotbar.

Armor pieces are items you place in the Gear slots which give you varying effects and defense. For example, the Bone Armor set will grant you a life-steal effect when equipped.

Gear pieces are items you also place in the Gear slots which grant you abilities such as moving faster or imbuing your weapons with flame. For example, the Inferno Soul item rotates around you and sets weapons ablaze when they strike through it.








Bosses


Bosses in Underworld Dungeon are ruthless and extremely challenging. You have to defeat the boss that guards each floor to descend to the deeper levels of the dungeon. Also, each boss will drop a very rare item which will aid you in the floors to come.








Developer

I'm a sophomore who enjoys spending his time creating games. Any help would be very much appreciated (I use Unity 2D) Gentleman. I hope you follow along on this devlog as I'll try to keep it as interesting as possible!



Links


Twitter: https://twitter.com/InfernoSoulDev
Presskit: https://infernosoul.github.io/press.html
Pixel Noise Soundcloud: https://soundcloud.com/pixel-noise


« Last Edit: July 31, 2017, 08:04:41 am by InfernoSoul » Logged

DireLogomachist
Level 4
****



View Profile
« Reply #1 on: October 17, 2015, 10:32:28 am »

Looks cool!  I think I see some Hyper Light Drifter art influence  Wink

When you say 9th grade student, that's a freshman in high school?  Awesome work so far! Keep it up!
Logged


Living and dying by Hanlon's Razor
InfernoSoul
Level 1
*



View Profile Email
« Reply #2 on: October 18, 2015, 06:00:43 am »

@DireLogomachist Thanks! Hyper Light Drifter is definitely one of the art inspirations. And yes, I'm a freshman in high school   Smiley


Fire animation complete!



Working on adding terrain objects to the game such as pedestals, fires, and rock pillars to make each room feel unique. There will be designated spots in each room to create these objects randomly so they don't accidentally spawn in dumb places (like on the edge).




« Last Edit: October 27, 2015, 08:49:53 am by InfernoSoul » Logged

InfernoSoul
Level 1
*



View Profile Email
« Reply #3 on: October 19, 2015, 06:27:10 am »

Added more terrain objects and worked out their sorting layers.



Anyways, here's how my dungeon generation works: it uses the recursive backtracker algorithm to generate rooms. First create an array of 5x5 (could be random), then pick a random cell to start. After picking a cell, look for its neighbors and pick one to go to. Continue this neighbor movement until it reaches a dead end. Then, if at a dead end, move backwards to previous cell and find neighbors. If not found, keep moving back to previous cells to find neighbors until all cells are filled.
I also have 4 booleans of North, South, East and West to keep track of which walls to remove in each cell.

This video explains it pretty well:




After giving each cell North, East, South and West boolean values, I then assign a cellType number to each cell to determine which room sprite type to give it.

Code:
if(cells[i].north && cells[i].east && cells[i].south && cells[i].west){
        cellType = 0;
}else if(cells[i].north && cells[i].east && !cells[i].south && !cells[i].west){
cellType = 1;
}else if(cells[i].north && !cells[i].east && cells[i].south && !cells[i].west){
cellType = 2;
}else if(cells[i].north && !cells[i].east && !cells[i].south && cells[i].west){
cellType = 3;
}else if(!cells[i].north && cells[i].east && cells[i].south && !cells[i].west){
cellType = 4;
}else if(!cells[i].north && cells[i].east && !cells[i].south && cells[i].west){
cellType = 5;
}else if(!cells[i].north && !cells[i].east && cells[i].south && cells[i].west){
cellType = 6;
}else if(cells[i].north && cells[i].east && cells[i].south && !cells[i].west){
cellType = 7;
}else if(cells[i].north && !cells[i].east && cells[i].south && cells[i].west){
cellType = 8;
}else if(cells[i].north && cells[i].east && !cells[i].south && cells[i].west){
cellType = 9;
}else if(!cells[i].north && cells[i].east && cells[i].south && cells[i].west){
cellType = 10;
}else if(cells[i].north && !cells[i].east && !cells[i].south && !cells[i].west){
cellType = 11;
}else if(!cells[i].north && cells[i].east && !cells[i].south && !cells[i].west){
cellType = 12;
}else if(!cells[i].north && !cells[i].east && cells[i].south && !cells[i].west){
cellType = 13;
}else if(!cells[i].north && !cells[i].east && !cells[i].south && cells[i].west){
cellType = 14;
}
int random = Random.Range(1,1);
GameObject instance = Resources.Load("Rooms/"+"room"+cellType+"_"+random) as GameObject;
Instantiate(instance, new Vector3(posX, posY, 0), Quaternion.identity);

For now Random.Range(1,1) has only 1 number but in the future, there will be more rooms for each room type Smiley
Logged

InfernoSoul
Level 1
*



View Profile Email
« Reply #4 on: October 22, 2015, 09:45:31 am »

Haven't been able to work on the game for a few days... mainly because I had to study for an economics test Yawn

Anyways, I worked on multiple HUD designs today.

Decided to stick with something basic for the moment:



The 5 inventory slots in the middle are quick access to items/weapons/runes that you can use in combat as opening your inventory does not pause the game.

The red and green bars are pretty self-explanatory: the red is your health and the green is your stamina.
Logged

InfernoSoul
Level 1
*



View Profile Email
« Reply #5 on: October 23, 2015, 10:20:03 am »

Today, the combat system is improved with the addition of shields and a functional stamina bar.




As you can see, the shield doesn't entirely block ALL the damage. I plan to add better shields that have different damage and knockback reduction.
Logged

InfernoSoul
Level 1
*



View Profile Email
« Reply #6 on: October 27, 2015, 08:41:30 am »

Art has changed quite a bit since the last time I posted.  Smiley

There's a lot more pixelated noise and atmosphere in each room now.



Hopefully after adding more random details to the rooms, they will look different and varying for more replayability.
Logged

sortris
Level 0
***


Jet Toast Engineer


View Profile WWW Email
« Reply #7 on: October 27, 2015, 09:02:32 am »

Hi, your game looks nice so far. Will you be working on the lighting? Especially mean the light from fireplace. It would be great if it will pulse or something like that. In my opinion light is the main thing creating the game atmosphere, just after the music and sound. Smiley
Logged

InfernoSoul
Level 1
*



View Profile Email
« Reply #8 on: October 29, 2015, 06:58:06 am »

@sortris Thanks for the feedback! Tried out the pulsing light and I think it adds more to the game's atmosphere. Nice idea  Smiley


Logged

DangerMomentum
Level 3
***



View Profile WWW Email
« Reply #9 on: October 29, 2015, 12:43:08 pm »

This looks pretty neato! What's the overall game progression going to be like? Will it be a Rogue-style fetch the mcguffin and return to the surface, or something more adventureish?
Logged

InfernoSoul
Level 1
*



View Profile Email
« Reply #10 on: October 31, 2015, 08:06:10 am »

@DangerMomentum Thanks for the feedback! The game's progression will be similar to the Binding of Isaac in which you unlock a ton of new items after defeating bosses.

Anyways, I've added explosions and dynamite to the game  Wink



Btw, the tree that explodes will drop sticks/wood which is used as a fundamental crafting material for most items. I also plan to add secrets that appear when you explode random pedestals to reward the player for exploring.
« Last Edit: November 06, 2015, 10:44:53 pm by InfernoSoul » Logged

InfernoSoul
Level 1
*



View Profile Email
« Reply #11 on: November 03, 2015, 08:48:37 am »

Did some work on the inventory HUD today.



Different tabs can be opened on the screen at the same time during the game. For example, pressing "i" will open the inventory tab while pressing "c" will open the crafting tab.
Logged

abetusk
Level 0
**


View Profile Email
« Reply #12 on: November 05, 2015, 05:57:37 am »

This looks great so far!  I really like the aesthetic.

The explosions for the bombs look a little flat.  Have you tried taking a look at some OpenGameArt.org assets for the explosions?  See:

http://opengameart.org/content/explosions-2
http://opengameart.org/content/explosions-0
http://opengameart.org/content/explosion-set-1-m484-games
http://opengameart.org/content/bomb-explosion-animation

Maybe you can tweak them to fit your style.  Someone recommended looking at the article by the folks who did "Nuclear Throne" on explosions which I thought was good: http://ctrl500.com/game-design/explosions-in-vlambeers-nuclear-throne/.  The basic idea is that you have a large white circle immediately followed by a large black circle and then you have you progress with your bomb frames.
Logged

InfernoSoul
Level 1
*



View Profile Email
« Reply #13 on: November 07, 2015, 09:57:42 am »

@abetusk
Great suggestion! The bomb's animation was kind of temporary and I'll make sure I change it.

Did more work on the inventory today.
The drag and drop works now and the 5 hotbar slots are accessible as well.
Also, pressing "e" will toggle the inventory's visibility.



These are some ideas I have for items and their crafting recipes:

- Pumpkin Soul
  - familiar that helps you fight
  - crafted with a pumpkin that spawns as a terrain object (can be blown up with dynamite), and a soul from a ghost enemy
- Bat Wings
  - very rare drop from bat enemies that allows you to fly
- Teleport Staff
  - click to teleport to location but drains a lot of stamina
  - crafted with the brain of a teleporting enemy and a wooden staff

Feel free to suggest any item and its ability. I'm open to anything at all. Smiley
 
Logged

InfernoSoul
Level 1
*



View Profile Email
« Reply #14 on: November 13, 2015, 08:36:54 am »

Player animation is now skeleton-based with 4 body parts: the head, the torso, the legs and the arms.
These different body parts allow me to add armor pieces to the player (ie. Iron Helmet replaces the head's source image)

Also, you can now select hotbar items with 1, 2, 3, 4, and 5.

Logged

cxsquared
Level 0
**


Game Dev in Progress


View Profile WWW Email
« Reply #15 on: November 13, 2015, 01:37:15 pm »

Everything is looking really good! I'm excited to see where this goes. I wish I had this much drive and skill when I was in high school. Keep up the good work. Hand Thumbs Up Right
Logged

Check me out at CodyClaborn.me
abetusk
Level 0
**


View Profile Email
« Reply #16 on: November 13, 2015, 05:39:34 pm »

The game is looking good!

Do you mind going into a bit about what kind of framework you're using, how you're generating the levels and how you do the lighting?
Logged

InfernoSoul
Level 1
*



View Profile Email
« Reply #17 on: November 15, 2015, 06:19:30 am »

@cxsquared
Thanks a lot!

@abetusk
Thxs! I'm using Unity 2D which has the Sprites/Diffuse shader for my lighting.
The levels are currently generated using a recursive backtracker algorithm which assigns North, South, East, West booleans to each room cell. Then, I check what cell type each room is (ie. celltype 5 has North and East connections). After determining the cell type, I instantiate room prefabs with corresponding connections (North and East) I've already created to the different rooms.
Finally, random terrain objects are generated at designated spots in each room prefab.

Armor can now be equipped!

Logged

InfernoSoul
Level 1
*



View Profile Email
« Reply #18 on: November 19, 2015, 07:24:10 am »

Drew a pixel art Hades statue where you can sacrifice your health to gain dark, Hades-related rewards such as a Fear Sword and a Skull Staff.





You can sacrifice your health by stepping on to some sort of base which will activate some cool animation that shows red, soul-like things, which represent health, coming out of the player and going into the statue.

More item ideas:

- Fear Sword
  - Does more damage when at low health
  - Dropped from the statue of Hades

- Sorcerer's Broadsword
  - Slower swing animation (all broadswords do more damage but are slower)
  - Crafted by combining a Fear Sword, Skull Staff and 2 Dark Fragments (small drop chance from skull objects that spawn)
  - Does more damage when at low health
  - Has a random chance to spawn stronger skeleton minions that help you fight (maybe 20% each swing)

- Skull Staff
  - Magic weapon
  - Uses mana each cast
  - Spawns skeleton minions each cast
« Last Edit: November 19, 2015, 10:57:51 am by InfernoSoul » Logged

InfernoSoul
Level 1
*



View Profile Email
« Reply #19 on: November 22, 2015, 07:55:17 am »

Gears/accessories system is working quite nicely now. The gear inventory is where you put Binding of Isaac style items that affect your stats and effects. The script detects when an item is added, changed or removed from the current gear slots and updates it accordingly.

Added the first ever gear/accessory item to the game: the Inferno Soul  Wink

It constantly circles around the player and whenever the player's sword swings through it and hits an enemy, the enemy will burn for 3 seconds.



I think it's a cool mechanic that requires skill to master and affects the player's style of gameplay/combat.
Logged

Pages: [1] 2 3 ... 6
Print
Jump to:  

Theme orange-lt created by panic