Build 5 to 7 - Roguelite Implementation


Build Update: 5 - 7

This will be a build update from my few builds, and will have a short summary from my devlog for Build 5 I did a couple weeks ago.

Roguelite Genre:

For these few builds, I was assigned to implement the roguelite genre into my game, combining with the beat em up genre.

There are 3 main features that are focused that we can choose to be used in the game:

- Randomized Levels

- Randomized Items

- Permanent Death

I have chosen to focus on Randomized Levels and Randomized Items for my game.

RANDOMIZED LEVELS:

As seen in my Devlog Build 5: Build 5 - Roguelike Wave System Update - Martial Beater by Irfan Naufal Shah (itch.io),

I first focused on a wave system as part to spawn in enemies for different waves and also implement them into the different levels. During that build, I came across an issue where I was unable to package my 2nd level thus I have decided to put all of the levels and areas into 1  big level. I also came across an issue with game instances and saving data such as health and scores for players so making this decision made it much easier for me to continue my project.

Figure 1 shows all the levels in the game that are in the 1 Big Level

Level 1 - 3 with different enemy spawns:

There are 3 levels in the game that players will play in, with players starting in Level 1 then after beating all the enemies, player will teleport to a different level, where enemies will spawn after player is teleported there. This was hard to implement as the way i made the scripts to teleport into the levels does not sync with enemies spawning in the same area, thus i needed to hardcore it to spawn together with the same set of enemies in that particular level.

Figure 2 shows the hardcoded script to make the randomizer sync with the spawn system
In the figure 2 above, it shows an array to select the spawn point of player to teleport the player, where it will be triggered when player goes onto a trigger box and there are certain custom events that will play out with Teleport 1,2 and 3 being the teleporting player system and Spawn Abe 1,2 and 3 are the enemy spawns in the levels 1,2 and 3.

Figure 3 shows initial teleport system
Figure 3 above is a randomized teleport system that i wanted to use but i was unable to implement the spawn Abe(enemies) system with this, thus making it redundant.

Figure 4 shows what the custom events of Teleport and Spawn abe does
Figure 4 above shows how I implement the spawn and teleport system for the randomized levels. There is an Actor blueprint that is put in the level to trigger a spawn enemy system called AI_Spawn.

Then for the teleport system, there is a Teleport1_Player actor being the spawn point of the player to be teleported to.


Randomized Items

I implemented 2 items that will be randomized for every level, a Health item and a Damage item, where the health item lets player regain 10 health after destroying the item whilst damage item reduces the players health by 10 points. This is to create a consequence for the player to just destroy every item without thinking. 

For the randomized items, i was able to implement a system where it will randomly choose between the 2 items and spawn it. The issue was that i wanted to also make the item spawn randomized so i was able to figure out a solution to make it spawn in random levels with random items.

Figure 5 shows the randomized item system
Figure 5 above shows how the system works, with having 4 different spawn points for the health/damage items spread through all 3 levels. There is also a spawn actor node where the actor class is randomized by the array and the spawn transform is also randomized by the health spawn spot (being the 4 spots).

Figure 6 shows how the teleport system will work
Figure 6 shows how both the randomized level and enemy spawn as well as randomized items system works together. When player overlaps with a trigger box, it will teleport player into a random level and also spawns enemies in that particualar level. The only problem is the overlapping or overspawning of items, thus I created a destroy actor node for the item randomizers for both items when player teleports to remove that issue.

Miscellaneous

I have updated the main menu system to have a nicer image and put the Game title in it  as well.

I have also added the score to the game over screen to show players how much score they acheived.


A pause menu has also been added (by pressing the Q button) due to feedback from playtesters and there are 3 options, Resume, Restart  and Quit game for players to choose from.

Player health has also changed from 100 to 400 where players will take slightly more damage from enemies (enemy1 10 damage, enemy2 25 damage, enemy3 15 damage) to make it more balanced and challenging for the player.

There is also a wall that will move when player first beat the first level enemies to let player access the other levels. There will be cutscenes that I will try to implement into the game in future builds to show when it moves down.

So far the builds have been challenging to do as I was unable to spend much time on most of the builds other than Build 7, which i was able to implement and fix and improve other issues. I was quite satisfied on how i was able to fix  the issues that has been very problematic to this project that i thought i was unable to continue.

Files

MartialBeater_7_0.zip 412 MB
63 days ago

Get Maze Street Hermit

Leave a comment

Log in with itch.io to leave a comment.