top of page
Writer's pictureNathan Cerone

Week 6- Rebuilding

This week's focus was around rebuilding the starter area levels to be bigger and allow for more freedom of movement within Unity. I also attempted to tackle the additive loading bug where some areas would unload despite the players being in the correct room.


Level Design

Above is a screenshot of the newly redesigned starting area, it's not completed yet but it's about halfway done, afterwards I can focus on the areas farther up the tower. This redesign came after complaints of the space feeling too small and not vertical enough which lead to it not feeling like a tower. On top of that, internal review said it felt too square shaped and thus as a result I have focused on adding indents in the floors and detailing to the roofs and walls to make the construction feel more complex than the square feeling before.



As we can see as I run through the levels there's a lot more space to jump around and overall movement just feels better because it's like it complements the rooms rather than working on it's own. There are still some issues I need to work out. I haven't placed enemies properly yet as I want to wait for the rest of the starting area to be built out before doing that and some platforms are a bit too tall. However it is making good pace.


Programming

I did a little bit of bug tackling as well this week in regards to additive loading. We noticed during our playtests some rooms would unload when they weren't supposed to. Luckily, it didn't make the game unplayable as the code accommodates for if there is nothing there but it looks bad and also made some of our play testers hesitant to enter rooms. So first I did a little bit of bug dissecting and found the bug is a problem with when the function load new rooms is called and a player is half on one room's collider and half on the other.

Since the code loads and unloads new areas on collision enter, which is when the player first makes contact with the collider, if the player never fully leaves one room but crosses partially into a new one without ever leaving the old collider and then turns back around to the old room, the game still thinks they're in the new room. This is because the player never makes first contact with the old room's collider again. This is mostly a problem with areas where the connection between the two colliders is vertical, as gravity might make the player cross back over unintentionally. So there was a programming way to fix this and there was a Unity way to fix this, the programming way involved using OnTriggerStay, which would make the game constantly update rooms and additive loading which felt redundant to me.

The path I ended up going was the Unity way, which needed me to identify the problem rooms and have them added as connected scenes. Meaning that as shown above, despite room 4 sharing no connection with room 6, I still have it load room 6 anyway incase the player causes the bug, that way whilst the game might think the player is in the wrong room, the player won't be able to tell and it will lead to less redundant checks and hopefully help with processing as a whole. As loading a couple of additional scenes every other room would be better overall then having the game constantly checking the rooms. However we will see, I might need to make changes depending how the rest of the tower progresses but for right now this works.


Reflection

Overall, I am proud of the work I got done this week, it is a fair bit done. Even though I am behind on when we wanted levels done, if I had rushed out the levels they wouldn't feel as good as they do now and if they don't feel as good then the game doesn't feel as good. It's a domino chain that hurts everyone else in the end and so the pace might be slower but this is important. Next week I hope to be done with the base of the tower and can finally move onto the next area and implementing swinging tiles! Come back next week for more exciting updates!

Commentaires


bottom of page