top of page

Rock Smashy Time!

The goal of this game was to make a unique top-down dungeon crawling experience using randomized dungeons. The game should have a unique way of clearing each room and making it to a specific goal.

 

 

This game was created for an independent study covering roguelike gameplay and randomization. The content of this page is broken up between before and after the independent study.

Player Controls 

giphy (5).gif

Moving The Player
I have chosen to make a simple first-person movement. I chose to give the player fast-paced movement to ensure they can easily get to the rocks. 

Picking up and throwing rocks

while near a rock the player can pick it up and carry it.  After picking up the rock the player can throw the rock in the direction of the mouse position. 

Refining the gameplay loop

giphy (7).gif

After creating my rapid prototype I built upon the experience by tweaking and adding features to enhance the experience.

Gameplay Changes

To improve on the rock-throwing gameplay I added a shockwave animation and screen shake to give the rocks a sense of weight and power.

Environment Changes

to improve the atmosphere of the game setting I added a vignette to give to make the cave feel dark without obscuring too much of the player's vision.  

Creating a rapid prototype

giphy (6).gif

To ensure that my concept was interesting to play I made the smallest possible version of the game. This version of the game included:

  • Player Movement

  •  The ability to pick and throw 

  • Enemies that chase the player 

  • A basic tile map

  • A basic room for the player to fight in 

Enemies

giphy (8).gif

Enemies were all designed to force the player to play a fast-paced and aggressive playstyle. All current enemies can be killed with one rock throw. I made this design decision to create fast-paced encounters where the player can easily kill the enemies but the enemies can easily hurt the player.

 

Here are the four current enemies :

The Rat: a fast enemy that chases the enemy and damages on contact. This enemy adds pressure on the player to pick up and throw rocks.

RatP.png
BatP.png

The Bat: A slow enemy that can fire fast projectiles. I implemented this enemy to give the player something to avoid while avoiding an enemy chasing them. This enemy also encourages the player to be more aggressive and close the distance as opposed to avoiding.

SlimeP.png

The Slime: A average-speed enemies enemy that has the same behavior as the rat however on death the slime drops a slime puddle that will slow the player down when they walking into. The puddle will give other enemies opportunities to hurt the player. This enemy forces the player to be more careful when and where they throw their rock. 

SpiderP.png

The Spider Queen: A stationary enemy that spawns 5 small spiders that slowly chase the player every 9 seconds. This forces the player to explore the room to prevent the spider queens from  spawning more spiders

Rock Types

To add variety to the combat I added rocks that have unique effects. 

Base Rock
giphyBase.gif

This is the base rock it has no abilities but it has the highest range.

brp.png
Slime Rock
giphyslime.gif

 This rock has a very low range but when it lands it will create a slime puddle that will slow enemies down when they touch it. This rock works well for making large groups more manageable. 

srp.png
Energy Rock
giphyenergy.gif
erp.png

This rock has the lowest range but when it lands it fires three bullets. This rock works well for hitting multiple enemies from a far distance. 

Shield Rock
giphyshield.gif
shrp.png

This rock has a medium range when it lands it creates a shield that blocks projectiles. This rock helps the player focus on defeating enemies.

Magnet Rock
giphymagnet.gif
mrp.png

This rock has a low range when it lands it will slowly follow the player. This rock allows the player to have an easier offensive option without having to come to the rock.

Randomized Rooms

When choosing how to randomize the game I decided preset rooms were the best approach. Preset rooms allow me to control the level design while keeping the game randomized. 

I chose to prototype each room on paper before making it in the editor. This approach speeds up each room's production by allowing me to get ideas out into the open. 

Screenshot (348).png
20230724_005950.jpg

Feedback received after the independent study

The most common feedback that I received after the independent study was about:

The lack of introduction to the main mechanic​​​​​

The difficulty of the game

Adding a better introduction to the Mechanic

To address the lack of an introduction I added the game controls in the text at the bottom of the starting room. I also added two training dummies that the player has to destroy with the rock before they can move on. 

Screenshot (353).png
Screenshot (354).png

Addressing difficulty

To address the difficulty, I made multiple pools of varying random rooms to establish a difficulty curve. I made each room pool based on certain skills that I would expect the player to understand based on their experience. 

Screenshot (349).png
Screenshot (350).png

New enemies were created to add to the easier areas.

m1_Walk.png

The Slime: This enemy acts exactly like the rat it chases the player and does damage on contact. It's much slower than the rat to provide an easier experience. 

m2_Hit.png

The Fly: This enemy shoots a projectile that will temporarily slow down the player but it won't do damage. The purpose of this enemy is to provide a more forgiving ranged enemy. 

monster_19.png

The Mite: This enemy will move to random points within a specific range. since this enemy doesn't chase the player can attack it without fear of retaliation. It's all good for blocking choke points.

m11_Attack.png

The Bee: This enemy is similar to the slug however it's much slower and smaller allowing it to be placed in much larger quantities.

bottom of page