gamedev 

Had to shelve the platformer project because of poor planning and feature creep. I decided to work on an action dungeon crawler. Right now, you can only move your character and thrust your sword, but I plan on including randomly generated levels.

I'm more experienced with top-down games, so this might be easier.

gamedev 

Created solid tiles, a couple of enemies, knockback, and the sword. I also divided the screen. There will be a hud on top, but right now, it is blank.

gamedev 

I got a random dungeon generation algorithm implemented. It is the same one from this post (gameliberty.club/@xianc78/1117), but written in C++ instead of Java. It's pretty basic at the moment. I plan on having each room randomly pick a design from a template.

gamedev 

Here is a second dungeon, in case you don't believe me.

gamedev 

Tried to add random enemy placement to the dungeon, but they all appear in the same room. I realize that the common way to do RNG in C and C++, srand(time(NULL)) uses time (in seconds) as a seed, and since the loop obviously runs multiple times per second, I'm getting the same results.

I think my solution would be to use my own RNG algorithm with a seed that increments every time it is called.

gamedev 

Wrote my own RNG algorithm (just take the sine of a seed and increment the seed by one for the next time). I also made it so that enemies can't spawn in the first room.

gamedev 

Rooms in the dungeon now have different designs (randomly picked from a list of currently three templates).

gamedev 

Added coins. I plan to have them be used for in-dungeon shops.

gamedev 

Added hearts. There is a 25% chance that a heart will drop. HP does increase, but HP still has no effect right now.

gamedev 

Added an exit tile (actually an object on it's own and not a child of the "Tile" class) that is randomly placed on each floor. Though it does nothing yet.

gamedev 

Multiple levels have now been implemented.

The second level is indeed a new one. The procedural generation algorithm made the starting room look like the ending room of the previous one.

gamedev 

Added music and sound effects. Though, music was technically added previously, but I muted the previous recording.

Background music is "Dungeon 05" by Beau Buckley, released under the CC-BY-SA 4.0.

opengameart.org/content/dungeo

gamedev 

Added a white sword. It takes twice as much damage. I plan on including "rental shops" where you can buy temporary items like this white sword and they go away if the player dies.

gamedev 

Added a potion. It fully restores HP. I also plan on having this being one of the items sold in the shop.

gamedev 

Purchasable items have now been implemented.

gamedev 

Added blue coins. They are worth 5 coins each.

gamedev 

Decided to add more rooms in the procedurally generated dungeons to add more variety. Sand rooms can now appear but they are functionally no different than floor tiles.

gamedev 

Replaced the copyrighted, placeholder tiles with my own.

Follow

gamedev 

Improved the wall tiles. It looks SO much better now. It's actually starting to look like a game.

· · Web · 1 · 0 · 2

gamedev 

Now, keys (using the coin sprite as a placeholder) are required to exit each floor.

gamedev 

Created a third enemy that shoots projectiles.

gamedev 

Added a shield item which reduces the damage the player takes by half.

gamedev 

Dungeon shops are fully functional. Though I will most likely move them to the center of their rooms and maybe add a merchant.

gamedev 

Rearranging the HUD.

(No video this time because I only need a screenshot to demonstrate)

gamedev 

Implemented pausing (something I have neglected for a while).

gamedev 

HUD now includes icons to indicated the items you have.

gamedev 

Added an alternate tileset. I plan on having the tilesets change, the deeper you go.

gamedev 

Dungeon now has alternate tracks for different floors.

gamedev 

Added an "ice level" tileset along with an accompanying track.

gamedev 

Added the fourth tileset. I have know idea what this is supposed to be.

gamedev 

Added a locked door that appears before each exit room.

gamedev 

Created a sand tileset. That appears in-between the snow tileset and purple tileset.

gamedev 

Added lives, including an extra life item that sometimes appears in the dungeon shops. I even plan on going so far as to delete your save file if you run out of lives.

gamedev 

Finally, the key is no longer using the coin sprite as a placeholder and now has it's own texture.

gamedev 

Created a texture for the extra life item. It looks kind of weird. I tried to make it look like a stick figure with a plus sign, indicating an "extra life", but it turned out kind of odd.

gamedev 

Finally added text on the game over screen. It's weird that I always neglect details like these.

gamedev 

Implemented saving and loading. Game saves automatically every time you enter a new floor, but you loose your save file if you run out of lives.

gamedev 

I'm thinking about what else to add. I could add more enemies, but I need to come up with enemy behaviors that don't require major reconstruction of the base Enemy class.

I don't know if I will add bosses because the player only equips a sword, which severely limits the potential for boss battles. Originally, I planned on having the player equip bombs for bomb-able walls, but placing such walls would've been difficult for the dungeon generation algorithm. Arrows and other projectiles seem kind of pointless. Either I limit the amount of arrows that can be shot/thrown, or I give the player unlimited arrows. The former would make it frustrating if the player was in the middle of a boss battle that required arrows and he/she ran out. The latter would effectively make the sword useless. That leaves only the boomerang as a possible second weapon.

Anyway, I don't plan on making this game grand or anything. This is really just a "practice game" for something I plan on making later on. That future game will have a much better dungeon generation algorithm.

Show newer

gamedev 

@xianc78 You need to fix the spawn points to prevent being attacked as soon your character move to the next screen

gamedev 

@waltercool I've done it earlier but maybe I need to readjust them. The levels are randomly generated so I have to set limits on where they *can* spawn.

As for the player taking damage randomly in that clip, I have no idea where that came from.

gamedev 

@xianc78 You could always make it look like a magic floating sphere or something, or a glowing bottle. Lots of games with iconic 1up items make it something unique and shiny

gamedev 

@BigDawg869789 @xianc78 i was gonna say, it would probably look better as a sort of unique item. mario has the green mushroom, for instance. if you wanna stick with the... stick... then maybe make his head thinner?

i'd also definitely space out the items more just so that players don't accidentally pick up more than one :)

Show newer
Sign in to participate in the conversation
Game Liberty Mastodon

Mainly gaming/nerd instance for people who value free speech. Everyone is welcome.