By Justin Shepperd <Mecha Teddy>
Development is well underway for Super Galactic Golf. This will be our second game dev adventure, and definitely not our last. Q-Bit was a grueling experience, but I learned so much doing it. I’m now taking what I’ve learned and building on it with SGG.
I’ve always like marble physics games like Marble Madness and Marble Blast Ultra for the XBox Live Arcade. I also like mini-golf, but let’s be honest, mini-golf video games are rarely engaging, with the exception of WonderPutt and a few others. If you haven’t played WonderPutt, go check it out.
You can play in a web browser for free: http://www.coolmath-games.com/0-wonderputt.
The Look and Feel
We bounced around ideas for the look of the game and finally arrived at a low-poly aesthetic. So I hammered out a few starter assets so I could start constructing this thing.
We plan to have multiple themes for the different courses. Each course theme will be represented by little planets. Because who doesn’t love tiny planets? Here is Kyra doing some world building using the Octave 3D level editor tool for Unity:
You’ll notice that each polygon has its own distinct color. This was accomplished using Zbrush’s color spray tool. This is how we plan on coloring all of the low poly assets in the game. So we’re using vertex color to cut down on draw calls, which are more abundant when you have multiple textures in your game. Optimization is imperative for this game due to the heavy physics simulations, which I’ll go into in a bit. This also played into the decision to go with a low poly aesthetic, as well as it cuts down development time.
Gameplay Mechanics. Gameplay Mechanics Everywhere!
SGG’s core mechanic emerged unexpectedly. It has to do with the guide. The predictive path which gives the player a good idea of where the ball will end up. I wanted it to be accurate, so I decided to use Unity’s physics system to predict the path of the ball. The upside to this is it will predict the entire path the ball will go down, including bounces. The downside is that it runs the physics simulation around 200 times per frame, which kills performance, but after some intense optimization, I was able to make it work, running at full fps on pc and tablets.
But Justin. Won’t this make the game too easy?
I’m glad you asked disassociated voice in my head! This is Triple One Games, son. We don’t make a walk in the park games. Our games will always be fun and challenging so long as I have a say.
At first, I was going to shorten the path. Only allowing the full path if you get a power-up. Then I realized there’s a game in this. Allowing the player to manipulate the path opens up a whole host of gameplay opportunities, once the game becomes more about the path than the ball. You could potentially have environmental puzzles, trickshot challenges, time trials, gravitational anomalies, Mario Galaxy style planets, and more!
Optimization and Development Videos For Your Viewing Pleasure
Here I am testing the predictive path before optimization
Improvements to the control scheme, and testing some trick shot scenarios. (Still Before Optimization)
As stated, the path was quite taxing on performance. I was running 200 physics simulations per frame, and running a linear physics simulation on one object 200 times per frame was eating about 200 milliseconds of CPU time per frame. Ouch. As any developer will tell you, development is a series of problem-solving exercises. This was a tough one. I soon realized that I really didn’t really need 200 simulations per frame, so I reduced it to 96. Any less and the simulation would become too choppy. The problem is 96 frames played at 60 fps goes by crazy fast when you putt the ball. So I added a spline curve to the simulation, which added in between steps, as well as smoothing out the curve. I then use this spline to make a sort of animation/physics hybrid system. Then I can just kick in the base physics simulation when needed. All of this results in higher frame rates, smoother movement, and a greater degree of control for the player.
After Optimization and Trail Added:
We’ll be continuing to update this blog as we reach milestones in development, and hope to have a demo available soon!
We’re also hoping to bring you some development updates for shadow_carbon!
But, don’t forget- you can always play Q-Bit Revolution until these games are finished! (I know, shameless)