The following page gives an overview of my contributed work towards Project Scrapped alongside my process of work and key takeaways.
Type: Student, Team (Size 8)
My focus: Game/Technical Design, Programming/Implementation
Duration: February 2021 - April 2021
Engine: Unreal Engine 4, Blueprints
Final feature ownership:
NPC's and their corresponding dialogue system
Door and Button interactions
All in-game VFX
Dynamic object fading
Responsibilities and Contribution
As a Technical designer, one of my core responsibilities was to pitch and oversee the successful design and implementation of various mechanics that would largely impact the players UX and journey throughout the game world. While having a major creative control over the internal design of the features, the respective high concept was ideated in collaboration with other designers to make sure that its purpose is inline with the overall requirements of the game.
Since production followed a strict agile approach, requirements and direction discussions would be carried out weekly. During this time, I would be able to go over any queries regarding my assigned tasks.
During production, all of my tasks were marked under a kanban board within our main database repository as well as a personalised asset list. These were my main points of reference throughout the whole duration of the project to keep on track.
When beginning to work on the design of each feature, the preliminary step was to create a research based pre-visualisation in the form of a moodboard to narrow down the respective vision. This was performed in collaboration with the lead designers to make sure that we all had a common understanding when going forward.
This would later lead to a series of rapid prototypes that could be refined and iterated upon receiving feedback each weekly sprint.
To minimise technological risk, along with other programmers I worked to develop various strict technical standards and actively adhered to them when going forward with development. This included handling project files, GitHub repositories as well as coding standards and documentation.
Additionally, any and all features that made the core development branch would be added to the technical design document and the project Wiki in order for other developers to be able to utilise a implemented feature seamlessly.
Wiki based documentation was performed locally using Obsidian.md and pushed onto the Github repository.
Once each feature was implemented into the core development branch, it would be documented fully.
The dialogue system was an important feature conceptualised during very early production stages. Since our game would primarily lead the narrative to the player through speech, its implementation began early on.
The system went through multiple iterations which were based on expanding scope and feedback for refinement, by the end of the project the system was capable of:
Infinite dialogue lines with linear NPC and Player Character interaction
Dynamic condition based dialogue
Emotion depicting profile pictures that match dialogue being spoken as well as character animations.
Typewriter text effect
One of the main requirements of the mechanic implementation was to create a system that could be dynamically inserted into the game world as a tool for designers to utilise at will. To carry this out, all dialogue was set so that each NPC could have their text as well as their own profile pictures and animations assigned. The designers had full control over when each profile and animation would appear or what each character was speaking during each set of dialogue. The modular implementation allowed for our sound designer to create unique character sounds, of which these could later also be assigned at will by designers.
Due to the ever growing complexity of our game, a tutorial was highly required in order for players (especially younger audiences) to be properly introduced and taught those pre-liminary basics of both programming as well as the in-game controls. The tutorial section was designed by one of our leads, however its internal technical design and functionality was fully performed by me.
To carry out the task, I heavily followed the documentation provided such as the step by step process of interaction that needs to be carried out. My approach was to create a series of scripted events that would sequentially trigger each other only when the given objective was complete. Doing so would minimise risk of potential issues or unforseen behaviour from players, and once an objective was complete it would no longer trigger any functions or events corresponding to it prior.
During the height of development, we began to brainstorm ways to increase the ''feel good'' elements of certain mechanics after getting them fully functional. My solution was to look into dynamic VFX that could populate the world and give it those finishing and satisfying touches.
The VFX was fully created by myself using Unreals built in Niagara and Cascade toolkits. The process of creation was highly iterative, based on visual research a potential asset list (can be seen above) was constructed and treated as a stretch goal per weekly sprint.
Final Build VFX
Similarly to the VFX, custom and dymanic materials were intended to work hand in hand to further polish the game and make it satisfying to play and traverse while upgrading the aesthetic value. All materials were created with the correct control parameters exposed and documented so that designers can place them and alter their values at will without the need of assistance or altering inner code.
Certain materials were also implemented to work with pre-existing code such as the puzzle resets to give unique effects.
Many of these materials were ultimately not used in the final build due to a shift in creative direction, however they were largely praised. Some of these works included:
'Wind Waker' style water (In final build).
prototype cel shader (prompted the decision to implementa more advanced cel shader).
Random material generators.
Final and prototype materials
Developed a highly polished vertical slice that aims to introduce the basic concepts of programming to younger audiences.
Created a project that went on to be included at the Abertay Graduate Show as well as contributed to the Programme Welcome for our University course as an example of successful interdisciplinary work.
Tremendously improved upon my communication skills and gained major experience on collaboratively working with an interdisciplinary team in a professional environment.
Gained experience working professionally with an applied agile development production methodology.
Demonstrated and expanded upon my technical design skills by taking ownership of various game mechanics and functionalities, iteratively implementing and opening them up for other designers to use at will. This allowed for around an hour of original gameplay.
Explored new approaches to improve general UX via game components such as VFX. Learned how to utilise VFX creation toolkits and software along with their corresponding workflows.
Opportunity for the project to be oversaw by Hyperluminal Games and gained valuable feedback from mentors during production.
Overall improved upon my scripting and programming abilities, and gained a much deeper understanding of various game engine capabilities.
Thanks for reading!