12. What I have learned
- Bence Nagy
- Mar 26, 2023
- 2 min read
Updated: May 17, 2023
Since the project is entered the final state, the working process is mainly writing the documentation and bugfix everything, and try not to add any new features which can ruin the Viva (no promises tho).

I learned a lot while working on this project, so it wasn't a waste of time. However, I do regret choosing an open-world game as my project genre. I was well aware that it would be impossible to finish an open-world game with quality work within the given time frame, but the time I had available alongside the other modules' assignments made it even more challenging to achieve even the minimum I had hoped for. If someone is about to start a final year project (I recommend starting after the second year when you will have the most time to work on it), I would suggest avoiding open-world or RPG games in general. Instead, try to find a smaller project and focus on finishing it with quality work, such as good sound design, a well-designed UI, minimal bugs, and a solid backend. Try to learn as much as you can on your own and don't be afraid to create your own scripts and assets, rather than relying solely on YouTube tutorials, which may only cover the basics.
Here is what I learned from this project (from my documentation):
Animation rigging creates more natural character behavior, such as head movement towards any target.
Scriptable objects easily store data for certain features, such as the weather manager. With scriptable objects, a single drag and drop can change the environment's lighting.
JSON Utility to store data inside text files and save item descriptions, dialogues, and other data. These files are easy to handle when translating into different languages if needed.
Shader graph to create various shaders and interesting visual effects without the need to learn shader programming.
Interfaces to reach certain objects with said interfaces implemented, instead of creating separate functions or classes for every object.
Delegates contain certain functions that are called at the same time when certain events happen (for example game over related functions).
Singleton patterns to reach static managers if needed, such as UI elements or data managers.
Modeling with Blender to learn how to create a 3D environment.
Learning coding without the need for tutorials and tailoring the project to my personal needs.
Why the planning phase is crucial and taking some time to plan is better than jumping headfirst into development and hoping for the best.
About future plans, my current goal is to rework this project and clean up the codebase, which is currently all over the place, and try to achieve a more game-oriented finish rather than its current tech demo state. After that, my fellow university students and I have the opportunity to showcase our best projects at Develop Brighton, the UK's biggest conference and expo for game developers. There may be a chance to meet with someone who has an interest in our game, which could lead to an interview and be a good head start for finding a job. The interview process can often take months without any guarantee of landing a job.
Thanks for reading!
-Bence (Oliminor)






Comments