Game Dev and Tool Making

Game development seems to be as much about tool making as it is about game design.  Well, that is, perhaps especially true if you're trying to break new ground.  I must admit, I'm nearly as proud of the tools I've made for GRITS Racing as I am of the game itself.

I just published an project page for one of the tools we have built for GRITS Racing.  You can find it here:

SLiCk : the Slick Layer Combinator for Inkscape

We use Slick in our art pipeline for sprites.  I actually first published Slick a few years ago on GitHub.  I just didn't get around to promoting it on until now... for some reason. ¯\_ (ツ)_/¯

I have a few other tools I've built for GRITS Racing that may or may not see the light of publishing.  In brief, they are a 2D shadow controller, a 2D Bezier placement tool, and a stupid-simple-but-stupid-handy version tag editor.  The placement tool is the most awesome of the bunch and would be the most likely to be of use to others.

I had shopped for a Unity asset that could place objects on Bezier curves; found a few; but found none that could do it like I need it.  Well, none that were free or worth the price of admission.  Thus, I made my own.  I built up its features in three stages and, thus, it supports three types of placement -- each more mathematically difficult than the last.  The first subdivides curves based on curve velocity; Beziers, being velocity curves, this is the easiest way to subdivide them (and is the only way that is mathematically precise, if I recall correctly).  The second subdivides based on estimated length along the curve.  And the third (what I really needed) subdivides based on crow lines (which also challenged by programming skills a bit).  All of this, of course, is based on math I stole and adapted from several sources around the net, since I don't know anything about Bezier math, and don't care to.

I believe the placement tool saves at least 8 hours per track in rigging up all the physics objects.  Double or triple that depending on the track.  It will easily pay for itself in manhours (and likely did after the first couple tracks it was used on).  Perhaps more importantly, however, it automates beautifully the most mind-numbing part of rigging up a track.  And that is always the most rewarding part of tool building.  Eliminating brain numb.

To take this full circle, I may even port the Bezier placement tool to an Inkscape extension.  Inkscape could use it since its own tool for this is as lacking as the Unity assets were.  More specifically, however, should I ever get around to reskinning Inkscape into a track-design tool for GRITS Racing, I will then need to port the placement tool.

Get GRITS Racing

Leave a comment

Log in with to leave a comment.