From Squiggles to Castles: Bringing Worlds to Life in Frantic Ball
Published 5 years ago
A little scribble can go a long way.
If you read my last article, you already know that the idea for Frantic Ball has been ricocheting around inside my head for a few decades now.  The idea is simple - a ball rolls along a track.  Your goal is to catch the ball at the end of its trip and put it back at the beginning so it can start its journey all over again.  Where it starts to get a little challenging is that, every ten seconds, a new ball is spawned on the track.  The goal is to keep as many balls as possible alive for as long as possible.  That, at its core, is Frantic Ball.
Another essential aspect of the game for me is that the tracks that the balls roll along aren’t just little static sets of rails.  I want the worlds that they are moving through to have personality, to be alive.  I want the tracks themselves to be entertaining, interesting, even a bit distracting.  In the demo level I built to test the concept and build out the gameplay mechanics, there are a lot of little things happening.  Birds get spooked and fly around when a ball gets close to them.  Bunnies are hopping along the ground, doing bunny stuff.  Schools of fish swim around in the water below the level.
With all of that in mind, my next goal in the development stage of Frantic Ball was to work out a process for building these levels.  I felt it was essential to have a not too rigid workflow that I could follow that would  cover how the worlds can be built but offer enough flexibility for new ideas that spring up during the process to find their way in.
At the heart of each level is the track itself.  It has a few basic rules.  Since gravity is what moves the ball along, the ball always needs to start at the top and end at the bottom.  Easy.  I’ve also worked in a method for track switches - spots where the track can fork and end up sending the ball down one of a few paths.  This would allow for multiple exit points and provide the player the challenge of keeping track of which ball is where at any point.
With that, I decided that next world I was going to build would have a castle theme.  I imagined turrets, castle arches, and a nice wall surrounding the whole thing.  But, back to the track.
I started with a simple, really basic sketch of a nice flowy track that splits in two and provides two exit points at the bottom.  I drew each path in a separate color to avoid any confusion as to which path was which, keeping the first section, before the fork, one color and each branch a different color.  After some erasing and a little fine tuning, I had my sketch.  Which was nice but not really helpful for envisioning the track in 3D space.
So, I was off to Maya, my preferred tool for modeling.  The first goal was to just take that sketch and shape it into a really rough version of the track.  Nothing pretty, just a bunch of extruded block to make sure that any issues with the design could be worked out before I got into fine tuning.
I start by laying in the basic structures with simple primitives.  Supports, tunnels and other features can go in without little to no detail to get the overall feel right.  I can then do the same with some environmental objects like trees and a moat.
Satisfied with the results, I could now shape it out a bit more and give it the nice curves that I would need to build the tracks.  I’m using an awesome package from the asset store called MegaShapes by Chris West to build the track portion itself in Unity.  If you haven’t seen this guys work, check it out.  It’s a bit mind blowing.
But, back to business of fine tuning.  Having the basic structure of the track laid out, I was now going to translate it into a nice, smooth bezier curve that I could use to loft the cross section around.  Once I had that, I would be able to start building the support structure of the world around the track.  It would also give me a chance to fixes any areas where the bends were too tight or the drops weren’t sufficient to keep the ball rolling along.
With that done, I was three lofts away from building out my track.  This was easy and the resulting track looked good to me.  Now it was castle time!
Now it’s detail time.  I replace the white boxes with more detailed models, adding in turrets, arches, windows and balconies.  I refine the trees, and give shape to the island, losing the moat in favor of having the platforms drop off into the ocean.
[[{"fid":"36848","view_mode":"default","fields":{"format":"default","field_file_image_alt_text[und][0][value]":"Detail Pass 2","field_file_image_title_text[und][0][value]":"Detail pass 2","field_file_tags[und]":""},"type":"media","attributes":{"alt":"Detail Pass 2","title":"Detail pass 2","class":"media-element file-default"},"link_text":null}]]
And... yet another detail pass.  I refine the structure a bit more and decide to throw a mountain into the background to give the castle a little more sense of scale.  Now it’s time to populate it.
First up are the soldiers.  I’m going to have them scattered around the grounds, walls and turrets patrolling as the balls roll about.  Soldier stuff.  But what is a castle without a princess?  A crappy castle, that’s what, so I add her in.  Can't have the kind of game where the princess is in another castle, right? I decide to put her on a balcony near the start of the level and have her serve as the point gateway - you score a point each time a ball rolls past her.
Last, but not least, it’s time for the biggie - the dragon.  Originally I was going to have him hide behind the mountain, peaking his head out occasionally, but this seemed like a waste of the character.  I decided to station him next to the princess, kind of like her big sidekick.  It will also be fun to have him spit a fireball whenever the player scores a point.  Nice!
[[{"fid":"36860","view_mode":"default","fields":{"format":"default","field_file_image_alt_text[und][0][value]":"The dragon and the princess.","field_file_image_title_text[und][0][value]":"The dragon and the princess.","field_file_tags[und]":""},"type":"media","attributes":{"alt":"The dragon and the princess.","title":"The dragon and the princess.","class":"media-element file-default"},"link_text":null}]]
All through this process, I’m constantly checking the viewing angles to make sure that paths are clearly visible and that nothing becomes too cluttered or unclear.  Satisfied with this, I add in some animations to the characters and now everything is ready to bring into Unity to build the level.
I add in all of the elements that I've constructed thus far and script them up, adding in animation triggers and other gameplay elements.  I use the aforementioned MegaShapes asset to add in my tracks and then tweak the castle bits so that everything runs smoothly.  Once I've gotten all of that done, I play the game a few dozen times to make sure it feels right.  Below is a video of the end result.
And there you have it!  I hope that you've enjoyed this look into the development process for Frantic Ball and that you are as excited as I am for its release later this year.
If you have any questions or comments, I'd love to hear from you.  Thanks for reading!
All the best,
Alan Thomas
Alan Thomas
Game Developer, FishPotato Games - Owner