Over the years we’ve developed a workflow designed around reducing wasted content and increasing collaboration between the team. While we all have our responsibilities, our workload isn’t sliced up like a pizza, and we’re always trying to leverage each other’s strengths. Because of this we’re able to build our game dynamically in engine, while only requiring our programmer to know how to read the matrix.
Our workflow is all about making functions scalable and accessible between the team. Using tech art principles of designing tools for the team, we’ve trained to use the tools Unreal has built in to work without the limitations of being purely trained as an artist, designer or a programmer. Taking extra time to set up master materials, exposing parameters that could be useful, and keeping functions organised all vastly help the team and stop those “hey can I just grab you for a minute” moments that are never just moments. These also break down the walls between roles and allow for different ways of thinking.
I’ve recently implemented a powerup system that had been on the design backburner for a while, a quick prototype that covered everything that needs to be there to experiment with and decide if it should be pursued. I started by identifying what I would need access to. For this test it was character speed and temporal recharge meter. From working on the character early on I knew where these functions were held. Simple enough. Next, a trigger. Already in the game we have shards that when collected, trigger the character to increase the temporal meter. Awesome, now I have the functions I need to mess with, and a blueprint that can already speak to them. From there I can add a simple function, tweak the colours on the shard blueprint, and place it in a few procedural level chunks for testing.
Voila, we now have stat boosting powerups in Rooftop Renegade. Time is extremely valuable for the team, between taking on contract work and working other jobs, we need to be as efficient as possible to make this game the best it can be. This philosophy of designing for additions is an integral part of how we maintain a consistent stream of additions and sidestep the pitfall of spending a ton of time on a cut feature.
Another example is the hazards. George has created a parent blueprint for the core functions of the hazards, allowing me to create new ones that inherit all of the traits of the core, such as the functionality that causes the gunners to fire at them, and the likelihood of that occurring. This means I can use my own blueprint knowledge to create whatever effects I require, without having to link them up to backend systems that I haven’t set up, allowing for much faster prototype turnaround. Once these are complete and I’m satisfied with the game feel, Alex can create art assets that fit the hazards dimensions, and after a quick performance profile, they’re ready to go.
All of this is handled through our source control of choice, Perforce. While a lot of good options are out there, using binary files can add conflict and Perforce allows us to keep our communication focussed while we jump between files. Working remotely has added an extra layer of complexity to collaboration, but with the right tools and regular video calls, we’ve kept our workflow going.
Having a workflow that allows everyone the tools to focus on their strengths produces great results and I hope this can get you thinking about your team the next time you’re rushing to push a revision without that extra little clean-up. I’m sure we’ll talk more in the future about how we’ve used this shared knowledge to approach problems from a new perspective.
That’s all from now, back to building levels and overpowering characters!
Patrick
where to find us
Adelaide SA 5000
hours
join the mailing list
© 2022 Melonhead Games
social media
facebook instagram twitter youtube snapchat LinkedIn