TRON – My Obsession

When I first saw the movie TRON in the 80s, when it first came out, I was in love.

When TRON Legacy came out, I was a huge fan. This was likely the second most beautiful movie I have ever seen. Blade Runner comes first.

When the first TRON came out, I never had access to the toys. There weren’t many, but there were 3 Light Cycles with ripcord and heavy flywheel based on the concept of the SSP toys from the early 70s. And each could hold a figure. They made a few figures. But not many.

These exploded in value to the point that owning them was out of the question.

But when TRON Legacy came out, the toy stores were flooded with great toys, and man, I bought them.

I missed out on a few, but here’s a selection from my collection.

First is the Recognizer Carry Case for the die cast ships and cycles. Seen with the Baton.

Open it up and spill the contents:

This is the set of die-cast ships and bikes from the film, stored lovingly in zip-loc bags to prevent damage, inside the Recognizer Carry Case.

There are a few interesting ones here. Included in this Cycle collection are a few exclusives. I’ll shoot better pics of them at some point.

One is a Walmart exclusive (a turquoise highlight bike) that came with a DVD set.

Two are from figure sets, one is sem-transparent, showing the transformation from bits to the fully-formed cycle. Another shows a streak from its back.

But the coolest: Two USB Thumb Drives. Each one has a swing-out USB connector, and when connected, they light up and make sounds from the film.

The Baton holds a spring-launched Light Cycle with little metal roller wheels. You pull open the baton which locks the spring, then close it to compress it and launch the cycle from one end, which is a hinged door. Pretty cool.

In a later post I will post pics of the larger Light Cycles that came with 4″ figures, and some of the figures I have, as well as the Light Jets, and even some larger figures, including two 12″ figures with light-up faces which switch expressions. Those come with die-cast metal accessories which are top-notch.

I also got two FLYNN’S ARCADE tokens from Disney, on eBay.

Over the years I stumbled upon a couple of interesting oddities.

The first is an Atari joystick designed for the TRON game, and designed after the joystick from the TRON Arcade Game:

And here’s a figure from TRON put out in limited edition of 1600. Packaged in a fairly decent replica of an arcade cabinet, the figure inside lights up:

The dark cylinder cover also comes away, and you can see the figure much better without that heavy tinting.

Here are the larger Light Cycles from TRON Legacy, along with one of the NECA Light Cycle Reproduction with figures that came out around the time of Legacy’s release. The ripcord is in a bin with the others.

Faithful reproductions of the original fly-wheel cycles.

Also, hard to see here is a small figure set of Sam Flynn flying into a TRON Arcade Cabinet.

Also, there you can see Sam Flynn and CLU as 12″ figures. Their accessories are metal, and the baton sticks to the thigh by magnet. No batteries right now, but their faces light up when activated, and we see the faces change through some kind of flip-projection tech. Not sure quite now, but it’s cool. Will replace batteries and shoot some video later.


My Paintings

Until a year or two ago, I hadn’t picked up a brush to paint anything artistic since I was nineteen years old. True story.

So in 2018 I bought some water colors and a watercolor book and did a couple of quick, ungood watercolors.

Then in 2019 I did some Acrylics.

The first was an image that stuck with me while watching Downton Abbey. I found this image so compelling, I took a shot of it from my TV and kept it. I had it on my phone for more than a year, probably much more, before I tried to put a similar image on canvas. 4×5″

Then I did a 2×2″ of a humpback whale breaching:

Then this 9×3″ of waves

After this, I wanted to add some background.

Then I took up a tall format, and larger.

A friend took this amazing photo of a heron on a dam of some sort:

I loved this pic, so I wanted to do something to get it on canvas:

Then I saw a photo of something that looked a bit impossibly clean, but was clearly a photo. A very calm ocean, and a breaching Orca.

I did a 9×3 of it first:Three colors: Blue, white, black.

But the original image had some pink blush in the upper water, so I did a larger one.

After this one I wanted to do an image of a shore bird, based on a photo I saw. 8×10″

And another water bird, a Gannet. This is meant to be a sketch for a larger one.

The last painting I’ve done since I just finished a few days ago:

Carol said she loved the clouds, and wants to see a large one like this on our wall, so I guess that’s going to happen soon.

Since Carol gave me two easels for Christmas, along with other paints and supplies, and Charlotte got me a HUGE set of oil colors (like 30 or more colors) I will be doing more painting. The larger easel is to set up in the garage for big pieces. The small one is a desktop and you can see it in several of these photos. They will both serve me well.

Impossible Mission – 3D Printed Robots

Recently I saw a 3D print of a robot and a runner from Impossible Mission, probably the best game ever written for the Commodore 64.

It is a marvel of perfection, that game.

And I have seen 3D prints before from these models. I found them on Thingiverse, by PixelPoldi.

They even appear in a book about the game and its sequel.

And so I downloaded the models and cut them up so they could be printed in multiple colors. The models on Thingiverse were single solids. Also, the models were designed to be pixel-square, which is not how a Commodore 64 screen works.

Pixels for a Commodore 64 screen in NTSC (where I lived and played) is 1 to .75, so they are a tad taller than they are wide. I scaled the models accordingly.

My results:

However, the more I looked at the robot, the less I liked it.

Comparing the pixel models from screenshots, I could see a couple of things that didn’t sit right with me.

First, the C64 Robot is created from a multi-colored sprite, which doubles the pixel width. So there are no single pixels, yet the model had several.

I printed out the actual sprite images, and used them to completely remodel a new, more accurate version of my Robot.

First thing I noticed was that instead of having a circular eye-piece, the sprite shows quite a wide rectangular eye-piece, much bigger than I remembered, when facing the camera.

(Note that the robots appear in-game in various colors, and I chose a different color scheme than the pixel images I found.)

I fixed some other things too, so that when facing the side, my new model was 100% pixel accurate. Sideways was a different issue, though.

The pixels were impossible. Modeled, the robot would have to have a painted face with no depth. But I managed even to make that work by making a front piece with 45 degree sides that fit into the eye-piece.

Here then is my final model, and you can even see that, while the rotating robot is intended to depict a cylinder, my version works pretty well.


Here they are, with floors modeled from the game, as display bases:

GI Joe Set – Naestor

In 2019 Greg Brown and Cotswold Collectibles created Naestor.

He created a green figure, (head and hands) with red flocked hair. He had an outfit and a chest piece made.

My job was to create his gear.

For some time now, I was hoping to find a use for my Arctic Blaster, a weapon I created as an intense heat ray used to melt through ice walls, for Arctic adventures.

The weapon was pretty cool, but the handles were weak. They couldn’t really be printed any stronger. So I had to redesign it just a tad to fit a screw along the shaft to the body. It worked well.

But of course for this set I had to make a black and green version:

Since it is a fairly heavy piece of plastic, I knew I couldn’t just let a 12″ figure hold it, the arms would fall. So I created a neck strap which solved that problem.

The weapon was intended to be held by the gut, with two hands, the body then being able to brace the kickback from a heavy energy beam.

I used the GI Joe Collector’s Club figure of Darkon as a test subject. (Don’t worry, he’s ok.)

But we wanted something to make it stand out.


Who wouldn’t want Jet Boots!?!?

So I set out to make small jets that clip onto tall boots. Simple, really.

And that was Naestor.

And if anyone tries to convince you the name Naestor contains my name backwards… well that’s just silly…

GI Joe – New Set – Catastrophe In The Gulf

The second boxed set Greg Brown put together for Cotswold Collectibles this year was another set that nicely pays homage to original GI Joe Adventure Team sets – Catastrophe in the Gulf.

Based around a very nice Hammerhead Shark, Greg also sourced some great new Scuba gear, and a working motor!

My part was to create an Undersea Sled which could fit the motor, and a Rebreather Oxygen System with Mask.

Undersea Sled

But first things first. I had to get started on the showpiece – the Undersea Sled.

First, a rough sketch to get our heads in the same space.

Yep. This is how I start. With rough concepts that I don’t really elaborate on on paper. At least not always. The concept is a quick sketch to get an idea across. By that time, my mind already has the idea much more solid, and in full 3D. Sometimes I take time to draw them out more carefully and even add color, on paper, before starting. Not this time.

I wanted to start with a familiar base, something that looked like mine, so I used the main body of my Helijet Pack. The body was actually quite conducive to the Sea Sled design, with some alterations.

First, I wanted a water-jet system that could be used for propulsion, and not look dumb.

My first thought was a set of boot jets I had created previously.

I incorporated those boot jets into the design of the Undersea Sled, enlarging and scaling them appropriately, until they fit the design.

Here is a screenshot I sent Greg of the model early on:

This 3D model is actually a little later in the process. I had already updated the arms.

But the early prints came out pretty well:

A sharp-eyed person may notice I’m using pink. I often use seldom-used colors to prototype, so I don’t waste the good stuff.

Then came prints in real colors.

Note that at this time, I thought a curved arm might work, but I opted against it, as it didn’t fit with my other designs, such as the Flight Pack, which uses a similar body, but has some vital angular parts.

Some images of the prototype as it was being developed:

I chose a blue that closely matched the Scuba Suit Greg had made.

Rebreather Tank And Mask

Once Greg liked what he saw, I started on the Rebreather. I had concepted out something like a futuristic SCUBA tank, with twin tanks, held at the bottom only, fitted to the body and strapped into place, with hoses to a mask.

Which I modeled up and sent Greg a screenshot:

First print:

Greg saw the prototype and thought it looked too much like the Rocketeer’s Jet Pack, and I have to say… I agreed. It hadn’t struck me before, but on looking at it in that light, I could see the problem.

And Greg had a bit of an idea of what he wanted for it, and soon enough, my sketches were looking more like what he had in mind.

So I switched gears completely, and went with a more modernistic, less future-retro approach.

I added a very obvious tank at the bottom, which gives it a functional feel, while also being completely recognizable as a SCUBA tank, which would feed a hose into the body, then two hoses would feed into the mask.


We settled on this, and then I began working on the hoses and mask.

My first issue was that a small part that should hold some detail (the Mask) could be printed with the FDM printers I use for most of my toys, but I felt for this one, I should use my new Resin printer, the Anycubic Photon.

Printing things for the Photon is a bit harder, and can fail easier, so I’m not all that eager to make whole large parts with it (with some exceptions) but for smaller things, I thought it was time to give it a try.

I modeled them so the paracord I would use as hoses would fit into the sides, and epoxy into place nicely.

But the real quiz was – how the heck am I supposed to attach this to the head?

I didn’t want to add yet another piece of elastic, given that the Goggles had their own, which fitted onto the SCUBA hood.

So I thought – why not put the SCUBA hood to good use?

I figured if I made tabs that would fit along the cheeks of a head, inside the hood, it would hold rather nicely.

Really, the last thing to do was the hoses and elastic attachment which was a bit complicated, since I didn’t want an elastic for the Rebreather, and a different one for the Sea Sled.

I decided to loop them together. This way, you could use one, or the other, individually – or both as a single strap.

The last thing was how to hose it all together.

Blue paracord fits into the tank, connecting it to the body. Then two hoses go to the mask.

And after adding one of my very popular wrist Cuff Communicator/Controllers, with new sticker of a sea wreck, we called it done.

GI Joe – New Set – Polar Bear Attack

I make 3D printed toys for Cotswold Collectibles. For several years, Greg Brown and I worked on a nice series of toys for collectors to use with their 12″ action figures.

Greg has always wanted these adventure sets to include their own box and art. The original owner of Cotswold was very good to me, very supportive, but was a bit reluctant to make boxes and art for the sets.

This year Greg took over ownership of Cotswold Collectibles and has now put out two boxed Elite Brigade Adventure Sets.

The first is Polar Bear Attack.

Using a Safari Ltd Polar Bear, Greg put together a figure with a great snow adventure outfit, with backpack, cover, satchel, snowshoes, boots, hat, etc.

My part was to repurpose the Tranquilizing Zooka I created for my own Save The Endangered Pygmy Rhino set that I entered into the Dallas GI Joe Convention.

Cotswold has sold a few versions of this bazooka over the years, with ammo darts. I even created a special insert for a large cloth backpack, and for a satchel, to contain some of the darts.

I was to make a white version of it, and use it in an Arctic Adventure scenario.

Also for this set, I created a tracking collar, with white elastic, you can fit around the Polar Bear’s neck.


Hero Cards

The game I work on as a Technical Artist currently is Game of Thrones: Conquest. It’s no secret.

This past summer we worked very hard to introduce a new feature called Hero Cards, which players can collect and build up to help them in gameplay. from

Each hero card is based on a character from the show and game. The card case itself houses a card, and has a symbol in a hexagon at the upper left.

For this game feature, I mostly supported the artists through profiling and optimization efforts to gain as much memory and rendering efficiency as we could, while delivering a lot of content.

A great team worked on this, and our Art Lead wanted to give the art team a token of appreciation for what was, believe me, a long and intense effort, so he and I threw around a few ideas, and eventually figured out that with my new Resin 3D Printer (an Anycubic Photon) I could put together something tangible the whole art team could have as a reminder of their amazing work.

But it had to be a surprise.

Only artists directly involved in the making of these gifts could be told. The rest were kept in the dark until they began arriving at doorsteps.

The Idea

We hashed out the idea of doing a real solid hero card for each of the artists involved, with their name on the front, and a photo of them as a printed card that would be inserted into a slot in the body, and sit into the space provided by the frame.

It started with an artist giving me a model of the card case itself in 3D that I could work with. I set it up as a solid 3D model I could print, and got to work. I had to make some alterations, and model some details that only existed in sprite art, like the scale mail lower front panel.

This is the 3D model of the back, but not necessarily the finished card, which was undergoing revisions throughout this time.

Here, you can see an early prototype 3D model, sitting on the print bed in my printer’s slicing software:

But I also was thinking a bit ahead. What else might a person want to use this card case for? I figured many people I work with play Magic: The Gathering, so I immediately made sure the card space could fit a Magic Card, or several, if needed. The gap is large enough to fit maybe four cards stacked.

The Prototype

So I started printing prototypes before I got the final backing, and printed up an early prototype to see if it was even feasible.

Here, I printed a short base, to test even how I should attach it to the print bed for a good print. I wasn’t yet ready to print a whole card, just to see if it was even possible. I printed a section to test a few things:

  • Could it print at all?
  • Could I print it without a ton of supports that would “bite into” the model?
  • Could I print a card gap that would work?

Though not visible in the art piece above, each card has a section for stars, to show their power and how much you have advanced them. For the artists on the project I decided they all deserved full 7 stars, and all filled out.

The early result:

Seemed I was ok to go with the project. I could print a card (likely) without too much difficulty.

But it was early days.

Here is what happens when the raft and support pull away from the bed when printing. This print (painted – see below) shows what can happen. The entire bottom warped because of print raft cohesion. It is one of the main reasons 3D printing with resin DLP technology can fail. If you don’t have the exact right bed leveling, the bed can be warped against the print bed just a hair, and it will refuse to hold, and while the rest of the print may work, that base is forever warped.

Many tests had to happen before I was sure I could even complete the project.

But it wasn’t long before I had a fully successful print:

Early prototypes didn’t even have the back detail yet:

Early concept for the back: We changed it later.

At this point I tried a Magic Card in the space:

Oops. I did something wrong.

I did some adjustments to the card scaling, but the main problem was the card could slot too low into the case. I simply raised up the inner floor, and got a better result.


For the project the intent was to paint it like a metallic finish, but I wasn’t sure which color to use. While the final card ended up looking a bit more bronze, I went with a battered metal silver spray paint rattle can (Krylon?) and the result was not at all bad. Seen here in its more finished back:

But since the card has a very nice amber inset in the middle, I was lucky enough to have some very nice amber resin, and printed the inserts too, and they turned out amazing!

Finished Prototype

I soon had a pretty good prototype finished, to show. Using my own surname. Each finished card would have each person’s full name extruding from the front.

Then I had to figure out the best way to portray the stars. I played with simple yellow vinyl, cut out with my Cricut desktop cutter.

But while they were nice, the real stars are a gradation from orange to yellow, so I instead went with paper printed stickers, printed and cut with my Cricut.

And since the stars were fitted into beveled spaces, I needed some way to press them in for a more permanent adhesion. I created a pressing tool that fits exactly into the star space, to ensure a solid stick.

Display Stand

During the prototyping period, it was suggested people might want a display stand, and I said “nothing could be easier”. Once you have a solid model, it is very easy to make a stand and use the original model as a boolean subtract to cut out the space needed for the card to fit into.

And here was another place we could use the theme of the art, gears, to make a great stand, and in the same amber color I made the back insert out of.

Here is a finished prototype, on display. Each card would feature a photo of the artist with their name.

The Package

But that wasn’t enough.

In the game, when you purchase Hero items, you see an envelope for a single purchase, or a pack for a larger one. It is sealed with a wax seal on parchment of different designs.

I was determined to deliver them in a pack with a wax seal.

My Art Lead wrote a note of appreciation, which I printed on one side of parchment paper, which I then folded each card into and sealed it with hot wax using a wax seal I purchased.

And sealed each card inside a parchment note of appreciation, in purple was, with a symbol that was very similar to the actual symbol used in the game, in a purple color that was also one of the colors used in Hero Card purchases:

Mailed them all out when they were done, and – duh… I forgot to mail out the stands with them, so I had to mail out a second mailing later!

But in the end, every artist working on Heroes got their own Hero Card.

Carol’s Garden

Carol loves her garden. Every year it seems we discover something new left by the past.

The first year we were here we thought we would have to plant Irises in the back garden. They magically appeared anyway in the spring.

Then we discovered white Hydrangeas in the back. The builder planted several types of Hydrangea on the front, but the back ones were leftovers from the past.

Tulips. Day Lilies. Miraculously I saw American Sweet Pea flowers that are as delicate and beautiful as Orchids.

We planted a Japanese Red Princess Maple. We planted Cherry bushes. A Lilac. Last year we planted two types of Ginkgo tree. We put in a vegetable garden in a risen wooden bed. We put in Dusty Roses and tall Blueberry bushes. This year, a trio of white Birch. The kind we know and love from Newfoundland.

And a very kind neighbor gave us a piece of heavy slate, 22″ x 12″, which we thought we would use as a door step of some kind. Instead I used it behind the Roses to hide a bit of a blemish in the concrete wall of our neighbor.

But that slate got me thinking.

So I decided to surprise Carol with a cool thing. But I couldn’t keep it secret. And I wanted her opinion on it. So I told her. I’m going to make a stencil, stick it to the slate, spray paint letters and a graphic, and then use my Dremel to grind into the letters to form a relief slate stone to mark her garden.

So I thought I would document the progress here.

First, I took some photos of her favorite Hydrangeas.

I used Inkscape, a cool vector art program to sketch out some Hydrange flowers.

Then I put her name in Garamond Bold, on curves around them.

The plan is to use my Cricut to cut the above graphic as a paint stencil, lay it down onto the slate and spray-paint the slate, which will give me black lettering. Then I will use grinding wheels to cut into the slate and make a relief of this image.

The plan is to add my own stems (the stencil wasn’t necessary for that) and those little bulbs that fill in the spaces around the Hydrangea flowers, by hand, with the Dremel.

This is partly what the finished idea should look like, using Photoshop Emboss tools. It’s not complete of course, as the aforementioned stems and bulbs aren’t shown here.


I will keep you all posted as I progress.

Soooo, I haven’t updated my blog in many months, and today I’m sitting here with some time on my hands, and earlier in the week I decided to go through my Dropbox Camera Uploads and separate out my photos by year so I could be better organized.

Going through them I realized how much I had done this past year, and figured it’s time to update some things. So blog posts incoming! Be warned.

Starting with this overdue update on Carol’s Garden slate stone progress.

It’s done. It’s out in the garden now. Here are some pics of the work in progress:

First etching after spray-painting the stencil in light black to get the outlines: Some of the darker black are actually spots of water from spray-washing it, that have not yet dried. The darker gray is spray paint.

Then filling out the first name: It looks very white here because the dust is still there.

Main design nearing completion:

Here it is, probably almost finished. You can see some of the black spraypaint where my stencil was not stuck down firmly enough, but I believe that will fade with time.

HÜVER Powerups and Friends


The last real game feature, other than saving the game, was Powerups.

These are floating objects that give gifts if you collide with them.

The Powerups appear randomly over random buildings, and have a lifespan. During the lifespan, the color of the Powerup fades, until you can barely see it. But as long as it is there, you can still hit it.

Each has a cylindrical timer gauge. This starts at the height of the Powerup capsule, and begins to shrink. When it becomes a flat disc, the Powerup disappears.

The gauge will let you know how much longer the Powerup will be around, so if you see a distant one with a short cylinder, don’t bother, it may be gone by the time you get there.

Currently I have 3 kinds of Powerup:

  1. Shekyls (cash)
  2. Fuel
  3. Repairs

Each Powerup type has 4 intensities. The lowest gives out the lowest payoff, while the highest, the most.

Each one has the icon of the type of Powerup, and rotates at a faster speed, the more valuable the reward.

Each has its own collection sound when you successfully collect its reward, and the sound volume is louder for more valuable rewards.

When a Powerup is created, you see a flash of same-colored light, and a ring. This is to let you know when one is created nearby. When it disappears, it goes out in a flash of light to let you know it has gone.

It also creates a metallic sound when created, which will give you an idea how far away new ones are, because of the volumetric sound which fades with distance.


A week or so ago I put out the call on facebook for any of my friends and family who wanted their voice in my game to submit sound clips which I would put in.

HÜVER is an homage to a beloved Commodore 64 game, Space Taxi.

In it, you fly a taxi around a maze-like level, with a number of landing pads. A passenger appears at a random pad and yells “Hey, taxi!” (One of the first games for the Commodore 64 that used digitized voice clips.)

You fly to the passenger, land, and he climbs aboard and tells you where he wants to go, “Pad four please!” Then you take him to pad 4 and he gets off. Another passenger appears randomly, and so on.

But since my game is more of a touch-the-pads-in-order game, you don’t actually pick up a passenger on a pad, you just go to the next pad. “Hey taxi!” seemed less useful.

But I thought of a way to use it anyway.

Currently when a new pad is ready, you will hear one of my friends say “Pad Four Please” depending on the pad, from 1 to 9.

The initial fare is decided based on your distance to the target pad. And the fare begins to count down immediately. The longer you take to get there, the less fare you earn, so you are incentivized to get there as fast as you can.

So I decided that when you reach half of the initial fare, the same friend who called you now says “Hey taxi!” as in “What’s keeping you!?”


This is a link to a ZIP file with the latest playable game – 64Meg.


Mainly, resetting the game (setting you back to default state) doesn’t appear to work in a build, yet it works perfectly in Editor. I tried two approaches, and both fail on a build, work in Editor.

So if you want to restart your game, find the file at this path and delete it.

C:\Users\<username>\AppData\LocalLow\Huver\Rolling Ball Physics Tutorial A\Huver_SaveGame.json.

(It’s called Rolling Ball Physics Tutorial because that’s how this project started out – as a learning exercise, rolling a ball around, painting floor tiles.)

You need only a PC that can play Unity games (and you can set the quality, so a slower PC with a bad video card can still play) and a USB XBOX 360 controller like the one that you see in the starting screen.

Unzip this file somewhere, and you should just be able to go to the unzipped directory and click on Huver.exe

I added Game Saving/Loading. It meant saving a LOT of variables, and the easiest way for me to do that is to make a variable object and save its entire set of properties to a JSON file. I wrote a Save method that pushed every relevant variable into a single object, and saved that object to a JSON.

Loading does the opposite. Loads the JSON and moves a bunch of variables around to where they belong.

Other than that, it is a perfectly playable game, and I think fun.



I was scared of audio.

I didn’t quite know how to handle the many sounds I would want in HÜVER.

So I started with simple events. I discovered in Unity I could put an AudioSource on an object and script that object to PlayOneShot(sound, volume) and that worked well.

I set up an AudioSource, then made some AudioClip variables, and went searching for sounds. I found a lot of sounds by poking through the directories on my computer. I listened to a lot of standard Windows event sounds, and some bizarrely that showed up in the OpenOffice directory structure.

I used a few of those.

But I also found a site called I signed up and found some collision sounds, and some other interesting sounds to begin with.

Landing Pads

I started with the Taxi Landing Pads. I knew I wanted those to hum, so you knew they were active, and with stereo sound, you could determine where they were, at least which direction and how far away, from the sounds you hear in stereo.

So I attached a looping hum to an AudioSource on the light beam itself. That way, when the beam is activated by the game, the sound starts up automatically, and goes away when you land on it, since that removes the beam.

UI Panels

Then I tackled the UI panel. A sound when you begin a shift. Simple enough. Worked fine.

Then I wanted a sound for every selection in the Purchase UI. Every time you pulled the joystick to change shopping options, a sound would fire. That also worked well enough, except the hacky way I did my UI meant it was on an Update() loop and I had to check for it firing once, and then not allow it to fire again until you change options. Again, no big deal.

And a sound of warning if you tried to select an unaffordable upgrade option.

And a sound for a successful purchase.

Fuel Gauge

Then I wanted the fuel gauge to alert you when it was getting low on fuel.

I knew what I really wanted was a warning as you pass from one color threshold to another, with a dire warning once you were in the red, with perhaps a constant warning in that dangerous range.

So I got my daughter to record some sound samples:

“Fuel Yellow”, “Fuel Orange”, “Warning! Fuel Low!” and “Fuel Full”.

I put some reverb on those and put them right in the game, placing firing code whenever the gas gauge ranged within those color changes, and also having to make sure they didn’t fire off multiple times within those slim ranges, since this was also on an Update() loop.

Once you enter into the red, you get a constant pinging of warning, which gets faster and faster the lower your fuel level drops, emphasizing the urgency of the situation.

And suddenly I had a game with sound!

There are a few others, almost all of which are event-fired.


I wanted to have some great impact sounds for when the taxi hit buildings and other things. First, the game really only considers two kinds of collision for the taxi: Airship and Other. If it hits an airship, I want the Tip amount to go down, but I didn’t think it fair to damage the car since you can collide with an airship without being able to see it, if it’s coming from behind, or in an area not in your viewport.

So no damage. But now it makes a very satisfying object-hitting-rubber-balloon sound. And the intensity of the collision directly drives volume, so the harder you hit it, the louder the sound.

But for buildings, I wanted to have graded sounds for the intensity of impact. Volume wasn’t going to be enough.

So I created an array of 10 sounds ranging from a tiny bump. to metal hit, to glass breaking, to a collossal crash. And it fires perfeclty!


Then I added Powerups. Floating things in the city that give you bonus items if you collide with them.

I wanted those to make an arcade-like bling sound when you hit them. That was also very easy.

So what was left?


Man, I was intimidated.

I didn’t know how to drive sound on the taxi, when the engines are controlled by four joystick axes, and a button for Turbo.

I didn’t want a lot of complex code, firing looping sounds at given volumes and pitches (yes, you can alter pitch!). I didn’t want to be checking to see if one sound was playing in order to play another.

But then it hit me.

I can put a unique AudioSource on the taxi for each joystick axis!

So I found a nice jet engine sound and looped it ( to the rescue) and then I remembered last summer cleaning off our plastic deck Adriondack chairs with a hose on tight beam, and the sound was awesome! I vowed to record it and use it for my engine noises. So I did.

Finding smooth loops was hard, but I managed.

But first, the main power. That’s the UP/DOWN thrust. I wanted a jet engine sound for that so I used the jet engine sound I found.

But how to trigger it?

So it turns out the AudioSource can be told to play on start, and to loop. Perfect.

I determined I didn’t have to have any complex code to start and stop the audio whenever I change joystick intensity. Instead, I simply alter the volume and pitch based on the joystick’s position, making sure there was a constant low volume in the cases where I wanted the engines running when there was no joystick input at all (freefall) but when the stick was engaged, it would ramp up the volume and pitch to make it sound like the engines were working harder.

And it worked! Like a charm!

So then it was an easy step to add an AudioSource for FORWARD/BACKWARD sound, and for that one I used one of the loops I made by cleaning my deck chairs. Pitch and volume is controlled by forward/backward joystick amount. I easily adjust the pitch ranges by code values until I got something I liked

Same for TURN. I was able to easily do the same for Turning.

Then I added STRAFE, which uses the same sound as Turn (since they technically use the same engines) but at a different pitch, so you can hear the difference.

TURBO simply multiplies the pitch and volume a bit so it seems more intense when Turbo is engaged. Turbo is boolean, so it’s a simple yes or no to that pitch alteration.

And now, dammit, I have a complete sounding game!


But oh… what about when you crash? Or run out of fuel?

One simple addition to the LoseControl() method, and I called PlayOneShot(losingControl, volume) and it plays a nice sound of a jet engine winding down. At the same time, I reduce the volume of the other four AudioSources to 0.

And it sounds amazing! You run out of fuel and you get the engine winding down to 0 as you fall through the sky.

NOW it’s done.

Sure, I want to tweak the sounds themselves, or even replace some, and adjust the pitches and volumes, but that’s all data.