Project Description
My role: Lead Gameplay Programmer & Technical Designer
Engine : Unreal Engine 5 using Blueprints
Team size: 25 people
Project duration : 6 months
Bolt'N'Punch started as one amongst eleven projects from 3rd year students with a small team of 5 people and ended as one of the two finalist projects that gathered the team members of the cut projects' teams.
In Bolt'N'Punch, you play as Lyft, a character with gameplay inspired by both Doom Slayer from id Software's Doom and Doomfist from Blizzard's Overwatch. Punch your way through relentless robots and bring them to pieces inside a disarrayed factory.
My Role(s)
As I arrived into the existing team multiple weeks into the game's development, I took the role of lead programmer, thus managing a subset of the development team and providing programming effort myself. I also wore the hat of a designer and designed/redesigned parts of the character controller to improve the game flow based on user feedback, as well as some new systems including a quest system inspired by Bethesda games and a boss fight that had to be developed with limited resources.
List of design tasks
- Helping in designing or redesigning game systems and mechanics in response to core issues that were found.
- Notably, key issues included subpar player controls and game feel.
- Used my technical experience (programming, but also some knowledge about 3D art) to help gauge scope and determine if a feature was feasible with our time and available resources.
- Extensively participated in holding playtesting sessions and worked with the rest of the team to find (design) solutions to the issues raised through testing.
Leading my team
- Ensuring tasks were completed following their priority level.
- Ensuring team members were satisfied with the tasks they were working on.
- Assisting my collegues when they were stuck.
- Maintaining communication with other departments (art, design, etc.)
- Ensuring the work done followed the design and intentions.
- Sharing team concerns with the proper people (team direction, other departments).
- Ensuring any decision taken is properly communicated/validated with the direction.
- Taking feedback from tests, bug reports and ensuring the tools made were useful and simple to use.
Programming game systems
- Working with an existing code base and structure and refactoring existing systems.
- Implementing newly decided features :
- A complete quest/story progression system inspired the the popular games from Bethesda. Including most game elements that were tied to the system in question (enemy spawners, checkpoints/saves, a dialogue system, a "quest tracker" and more) as well as the required tools for the level designers.
- A complete boss fight with very limited resources, notably : limited graphics/animation resources and required low programming complexity as well as a need for quick iteration of attack patterns. The boss featured a pattern system that comprised of tools to create attack patterns with any number of attacks of each sort with many customization features ( activating multiple attacks at the same time or with delays, nested patterns, etc.)
- Redone a few of the player's abilities, including its movement ability (a dash), its leap attack (now following a quadratic formula to replicate gravity and give a good and expected gameplay feel) and redone the way punches (the basic attacks) were handled to improved game feel.
- Debugging and ensuring my programming effort was efficient and follows game intentions.
- Writing documentation for tools I made.