Rocket Rumble is a game about tactical space combat, featuring a wide range of weapons, shields and support utilities. The umbrella term we use for all these devices is ‘components’, and RR features lots of components to collect and play.
I'm writing this blog midway through the process of building the first batch of components for the game’s launch, somewhere just shy of 150 pieces. As is often the case in game development, there's lots to do, and not much time to do it in, so I need to be super-efficient in my process. This is the pipeline I've settled into:
Stage 1 - Concepting
Any components I make should look and feel like they belong in a set. Having already designed the ships, I have a broad idea of the visual characteristics of each of the three sets (or classes) we’re launching with; The Enforcer class has smooth curves, retro-style fins, and simple two-colour paint schemes. The Ancient is made of floating stone blocks, powered by energy crystals. The Smuggler looks well-used, with rusted metal and scratched paintwork, and hexagonal shape language.
I start roughing my ideas out in Blender, skipping the usual sketch/Photoshop phase in favour of a more hands-on 3D approach. I experiment with simple forms, quickly blocking out gun barrels, missiles, body shapes, wings etc., bashing them together and seeing what works. I’m trying to put together a kind of tool kit for each class, partly for visual consistency, but more importantly to save time when it comes to constructing the final components. Even at this early ideas stage, it pays to think about ways to make life easier for your future self.
Next, I use my toolkits to start throwing out ideas for actual components. Referring to documents from the designers, I try to think about the unique features, strengths, and abilities of each component, and suggest that in their visual form.
When I have enough ideas, I lay my selected concepts out side by side in Photoshop, to see how they feel as a set.
Once I'm happy, it's time to move on to turning concepts into game assets.
Stage 2 - Modelling
Making my concepts in 3D gives the construction stage a solid head start. I take the concept models, iterate the design where needed, tidy geometry, and UV each component ready for texturing.
Stage 3 - Texturing Part 1
I use Substance Painter for the texturing process, as trying to do this volume of texturing by hand (150 in a few days) would likely induce insanity and/or despair. I start with a simple first pass, defining the different materials (which parts are painted, plastic, chrome, steel etc), and checking my UVs look okay. I don't worry about colour palettes or decals just yet, in case I need to tweak the model after the next stage.
Stage 4 - Into Unity
I export the base-textured components to Unity and set them up as prefabs, defining the animation hierarchy, and applying the textures, materials and scripts needed for the game. We’re a multi platform game, so to save memory on mobile devices, the goal is to only use a single diffuse map per component. I’d love to use more, but one should always be practical. The game won't look good if it doesn't run well.
At this stage, I also try laying out the components on the back of a ship, to see if they fit the space well, and look good from the gameplay camera angle. If need be, I go back and tweak the models.
Stage 5 - Animation
Staying in Unity, I start animating all the components, giving them ‘idle’ and ‘fire’ animations as needed. The fire animations need to be short and punchy, to keep the pace of the game sharp and up-tempo. I also have to take care that the components don’t move around TOO wildly when firing, lest they clip into their neighbours on a tightly packed board.
I start by defining the broad action and timings…
… then go back, refining and adding secondary motion (e.g. The wobbly antenna)
Stage 6 - Texturing Part 2
Now it's back to Substance Painter for another texture pass, adding colour and decals. I make sure to keep checking these in Unity, tweaking the materials and colours to look good under game lighting and camera position.
Stage 7 - Particle Effect
The final thing all the weapons need to be game-ready is a set of particle effects for when they fire - muzzle flashes, lasers, missile trails etc. I use Unity’s built-in particle system, and add a Playmaker graph to my testbed scene so I can press a button to preview the weapon firing.
This is the stage I'm at right now. I've still got another 42 weapons to make effects for, so I should probably stop writing this blog and get back to work. Thanks for reading!