Grave Danger - Flying Ranged Enemy

Here is the ranged version of the flying enemy for the Train World. I wanted to add in a tech element that matched the world and give it a more armored feel so it will exist as more of a threat.

15 Frame idle animation - for when he is chilling.

Flying with intent.

Firing loop.

And a bonus 15m sketch. The prompts were for a vehicle with the tags "Loner" + "Prairie".

Grave Danger - Flying Melee Enemey

This was one of my first concept rounds at JB gaming - so lots of range trying to figure out the right mixture of scary and goofy.

We needed a generic flying enemy for Grave Danger's initial development. I started out a few months ago with a blob enemy covered in tentacles but didn't know enough about Spine to make it work. Here I am coming back to a more general purpose design with a bit more work under my belt and things are working out better.

I decided to animate the wings by hand and not with a rig due to the complexity of the perspective and animation, so started up drafting a few tests in Photoshop before drawing out the sprites and putting it all together in Spine. 

Initial test.

Initial test.

Revision 2 with the body assets blocked in.

Blocked in the wings.

'Slow' 15 frame idle animation. The up and down strokes are held for a few frames and the tips of the wings are deformed with bones for a bit more organic look.

Here is the desert skin in the "Aggro" animation. The mouth can't open much larger than this at the moment.

Next stop will be to duplicate this project and create a ranged version with a projectile weapon below where the tenticals are.

Update: Removed the blur on the wings for now at the suggestion from a friend and I feel that it matches the game style much better than before. It was his opinion - and I agree - that the path blur I was using before looked more like a DoF effect and not like motion! Thanks, John!


Also tweaked the wing membrane color for the desert themed bat. Will hold final judgement for when he is in game.

And a bonus melee attack animation I forgot to export last time.

Grave Danger - Train Level WIP June 10 2016

Here are some early shots of all the pieces finally put together in Unity and set in motion along with an 80% final train interior asset set. 

Many of the exterior assets have simple scripts attached to jitter them in place however the wheels were animated in Spine.

Still has a lot of polish to go! Check out to follow along with development.

Characters and character animations were created by Tony Ferguson 

Currently the chairs are too big and nothing is animated, but things are snapping together pretty well. Other than the insane amount of layers to work with contraction and expansion things are pretty straight forward.

3D Printed Gift + Early Animations in Spine

I've picked up a contract working at JB Gaming - creating concepts and assets for their new title "Grave Danger" (Facebook Page)

It's taken a month to get spooled up to the title's art style and into animating in Spine but I'll be trying to post up more art as my time allows. Otherwise, check out the game's Twitter Account for frequent quality updates!

Below is one of the first animated units I created along with 2 other skulls (not shown). I'd consider these game ready, but 80% done. hopefully, I'll have time to polish them up as I learn more.

I am also creating a train level asset that will use various static sprites and spine animations working together to create external platforming environments. Internal environments will be created in Ferr2.

Second draft proposal for the train level colors and high level details.

Current working document. The top assets are a combination of sprites (folders with image generator names) and Spine animations (Linked smart objects)

The original design featured cog wheels that were supposed to be turned using a chain drive, but after a bit of deliberation, I wasn't sure that the effect could easily be animated in Spine so I am working on switching things over to a push rod system which will probably look way better in the end anyway. The gear was animated with 10 offset layers to achieve the illusion of slight 3D depth. Hopefully, it will all mesh together well!

Also, my friend Max surprised me with this 3D printed metal keychain of my signature block! He makes way more creative and wonderful stuff that you can find over on his facebook page.


Unity Lightmapping Tips, Tricks and Thoughts

This was written up during a particularly long render running Unity 4.1.2f1

I am writing this from the context of mobile gaming - specifically tablets and 5th generation iDevices.

Install "Lightmapping Extended":

Step 1 is to pick up "Lightmapping Extended" on the Unity Asset Store! and commit it into the project!

While most of the settings are a bit beyond pick up and play, the ability to save and load xml configurations is a life saver and if you are working with a team it can really speed up the workflow. There are great tool tips for the rest of the settings. Without a formal lighting background I make do with what I have and search for what I don't know.

Document Changes:

Despite knowing and saving your production settings with Lightmapping Extended, when dialing in a light setup I take screenshots of the editor and the light map settings panel. This lets me get good before and after images documented when I make subtle changes to the overall settings. It also lets me show others how the system works and how the scene has evolved.

UV scale / ratio fine tuning:

After I get my main light sources in and where I want them I run a high quality bake so I can see where major shadows fall. Armed with this I can manually select all prefabs that are 100% within shadow and set their "Scale in Lightmap" setting down to .1 - .05. Once you have done this to all relevant objects you can do the reverse for 'hero' objects. Unfortunately you often want to increase the light map resolution on large objects such as the ground, and depending on how the geometry is split up the UV block might be too big and bulky to do too much with. (Currently Unity 4.1 does a terrible job auto laying out UV's - according to this thread that should be resolved in 4.2)

Maximize your resolution within your output targets:

Once I have all the manual light map scaling in place I then nuke my settings back down to a 10-20 second render time and start inching the resolution up or down to get everything at my desired output target. We often want to get everything onto 1 1024 map (which we can still cut down later). I want the scene to look as good as it can be - even if it means spending an hour bumping up the resolution by .01!

Editing the light map .exr file:

While my options are limited I from time to time do bring in the final .exr image into Photoshop for some slight level adjustments Note that doing this will probably hose you if you need to do dual light map realtime lighting. Photoshop is pretty limited in what you can do to a 32 channel image however I do have a work around for solidifying unity's output if I feel the image will benefit form it. since you can't use the magic wand with a tolerance of 1 to select out and delete the black I save off a version with 16 channels, save a selection of what I want to delete and load it back into the 32 bit file, delete out the black and run Solidify A on it to blend in the image. I am 100% sure there is an easier way to do this - I just have no experience editing HDR files, let alone 16bit in photoshop.


I would LOVE to be able to set what I want my output to be and have Unity fill in the rest. I usually have to spend an hour or two over the course of a scene setup fine tuning the atlas resolution trying to get it all onto 1 1024 map for instance. This changes and needs to be re-optimized every time you manually set a scale override on something in your scene (which I have the tendency to do quite often!)

Additionally I would LOVE to have some sort of automated workflow occur where I could set up a stationary camera that takes the same screenshot after every bake and splices in the settings data as well!

That's all for now, hope this saves somebody some time!