Wake Up Devlog Week 4
- Tristan Atkinson
- Oct 14, 2024
- 2 min read
Updated: Mar 11
At the beginning of week 4, I began to create the basic logic for my Dungeon Generation. The Video I found at the end of week 3 turned out to be immensely useful, as it didn’t take long at all for me to get a basic dungeon generation system with doors and walls spawning at unused and used exits respectively.
I had originally planned to spend far more time working on dungeon generation, but this frees up more time for me to work on other parts of my game in the future.
Creating a Project Outline for what I will work on in future sprints was useful here, as it meant I immediately knew what I could work on next, meaning I could pull ahead of schedule more efficiently and take advantage of the extra time.
After I had this simple system, I had an idea of how to have enemies spawn whenever the door leading into their room is spawned.
This involved each room having a scene component called ‘SpawnsFolder’ With arrow scene components as children which would dictate where enemies spawn in the room.
I also added a sphere collision called ‘RoomCheck’ to the door blueprint, facing towards the room behind them. When the door is opened, it will check for any overlapped actors (this will be the next room) and run a for each loop with an array of the room’s ‘SpawnsFolder’ children, spawning a random enemy on each spot.
Another feature I added to my dungeon spawner is a failsafe system, where if the room takes more than 5 seconds to generate, then it will reopen the level which will restart generation. I added this to account for the very small possibility of the rooms circling in on themselves and having nowhere to spawn the next room that isn’t overlapping.
With some of the extra time this week, I decided I should go back to my shooter system and iron out some kinks before moving on. Something I had wanted to get working for a while was making Projectiles destroy themselves when colliding with the environment, so that the Player cannot hit enemies through walls, and so fired projectiles are not kept loaded which could impact performance.

On top of this, I created a new collision channel in the Project settings called ‘Projectile’; which by default overlaps with other Collision channels. I applied this collision channel to the Projectile Base’s Mesh and Capsule Collision, and set both to ignore collisions with other “Projectile” collisions.
This fixed an issue I was having after implementing the first change to my projectiles in the image above, where projectiles would collide with and destroy one another unintentionally.
There was still one more issue I was having with my Projectiles; specifically the ‘Energy Bomb’ Projectile. As this Projectile is very large, when Spawned by the Player it momentarily collides with the Camera spring arm, making the camera zoom in for a split second. To fix this, I set the Camera’s collision channel to ‘Projectile’ so that it would continue to collide with the surroundings but not Projectiles.
Comentarios