Tile Project
This project had me reading the code of this already functioning game then adding in my own mechanic of my design and then a mechanic that one of my peers designed.
Postmortem
In this tile-based project, the objective is to be given a project that the foundations have already been built and add a mechanic that you have designed (The Navigator), and then a mechanic that one of your peers has designed (The Driver). The Navigator I designed for this project was The Multi-Switch Tile that upon activating all switches the linked door would open.
The Driver I Implemented was the Rolling Rock this intractable actor will continuously move in one direction unless one of two conditions are met. If it runs into a wall or another obstacle in the way it will stop. If it rolls over the Pit Tile the Rock will fall in and make the Pit a walkable surface. After these two mechanics were implemented I was to create Three levels that introduced both mechanics and then used them together.
What Went Right:
[ Everything close to what I wanted ] - For my two mechanics that have been implemented I was able to do close to exactly what I wanted to them. There of course is plenty more improvements that I could have added to make them more polished. There were no cut corners and I did not have to design the levels specifically to hide the quirks. I was able to work those out and have them function the way I wanted
[ I know more ] - Every project I go through I go in feeling like I know basically nothing about Unreal 5. Through some time and commitment, I always end up knowing more about the engine while also reinforcing the basics
[ Improved reading ] - The nature of this project forced us to go back and read the code that was already there because our goal was not to create an entirely new project but to use the pre-existing resources and to add upon them to create something that fits the theme of the project. Because of this, my ability to read what is already placed by others has improved
[ A project I'm proud of ] - This project is one of the projects that I feel I can be happy showing my friends and family. Don't get me wrong I'm proud of the projects before this one but those feel more like interactive art projects. This project feels like this is my first game.
[ A new tool ] - This project used a tool called Trello. This tool was able to keep me just a little more organized and was helpful in the completion of the project.
What Went Wrong:
[ Loops ] - Before this project, I had never used loops in Unreal 5 and for what I was using it for it gave me a lot more trouble than I thought it would luckily with help from others and a lot of research I was finally able to get the loop to work and I walked away with more knowledge then i had before.
[ Creating Levels ] - when creating the levels you have to create a grid of tiles and then update the tiles to the ones you want in that area. I am unsure why but sometimes some were during the creation of the level or perhaps during the packaging of the level it can have glitches where you are able to enter a tile in one direction but not another. I have talked to others and they said they had the same problems and the fix was to just delete and recreate the level.
[ That one node ] - During the creation of the Rolling Rock I was unable to fix a certain glitch where it would roll over two pits turn one into the filled variation then disappear then when the player attempted to walk onto the two pits the rock rolled over the player was able to turn the other pit into the filled variation. This problem took me a very long time to fix. The solution? A single do-once node fixed literally all my problems with this mechanic. It is at moments like this that I realize that I am on the right track with how I am programming everything but with my current knowledge of Unreal 5 I am unaware of that singular node that would fix all of my problems.
[ Time Constraints] - The entirety of this project was due within about a month's time. Because of this, there was little time to focus on anything big and extravagant but this also taught me to keep things within the scope of my timeframe.
To wrap this all up I may have had my share of trials in this project but in the end, I persevered through them all and have more knowledge than I did coming in.