Wednesday, November 20, 2019


It seemed necessary to include melee weapons. The collision is checked with a line segment during a key frame of the animations. At first it was not working correctly at all times, so I used Debug.DrawLine which showed me I was not properly setting a transform to the correct parent object.

I'm putting effort into better animations, and properly using a multiplier in code for the animation speeds so feet do not appear to skate across the ground. The Spine tool for animation is really practical and allows multiple animations to be blended together automatically, like walking, swinging, and pain reactions, all simultaneously.

Spine Animation Tool

Also the shader has been modified, so I can apply additive and modulated tints. As soon as I did this, it became clear that some bullet projectiles were hitting multiple targets if collided in the same frame, so this has been fixed by adding a flag that permits only one target.

Sunday, November 17, 2019

Half dozen weapons

I got four weapons to show, plus more just about finished. Some extra effort was necessary for the green ooze gun which creates debris and a puddle. These components can be reused just by changing the sprites.


Mini Blaster

Ricochet Cannon


The projectile system will automatically use ray-casting for continuous collision, if it is moving faster than a certain speed. There is absolutely no gun or projectile specific code in the small projectile system, because everything is data-driven through code. There are all kinds of ways of doing this, but this works best for me in the long run.

Projectile data for the Ricochet Cannon above.
Member variables are not readonly because I do change these values live.

This style is kinda something I derived from Quake games written in C, my first exposure to game code. The style just kinda stuck with me. I could instead just use more prefabs and the Unity editor interface, but I prefer code to easily search and manipulate many at once if necessary.

Thursday, November 14, 2019


Gem Heroes has successfully been built for iOS and sent off to be reviewed by Apple. There were many technical problems, as expected. In my experience distributing an app for the Apple App Store is about 20 times harder than distributing for Google Play.

Unity does not actually build the iOS app. It instead just creates an Xcode project to continue to build on a Mac. I rent one in the cloud, conveniently through a browser. It actually is pretty remarkable; I get to use the latest versions of Mac operating system without owning a Mac or upgrading the operating system.

The build settings are extraordinarily sensitive, and the errors tend to be vague and seemingly unrelated to the actual solutions.


The first time I added an incompatible framework which turned out to be unnecessary anyways. The second time I thought I had to change permission settings with a chmod command on a framework, but the solution was to change it from embedded to dynamically linked.

Then there were the usual certificate and provisioning problems. Apple has improved this by providing the option to automate it, but I still had to change a certificate manually when I submitted the build. Strange.

This is some really esoteric stuff. It took a lot of Googling and trial-and-error.

But I got it finished, and now I can resume progress on the new zombie game which I find to be much more interesting.

Thursday, October 31, 2019


Happy Halloween! Here are some zombie characters for the Zombie Guard sequel...

Some of these are designs from the original game, redone with better lines and shading at a higher resolution. None of these have animations, yet. I'm just keeping these as sprites while I create half a dozen guns to begin putting together the small demo.

Friday, October 18, 2019


Some touch controls, and looping background with more art.

The more I create, the more I want to create.

I see so many possibilities with this. I have all the skills, resources, and tools. I have enough art for now, so I have switched to writing code. First before even adding enemies, I need to establish the feel of the game. The movement, responsiveness.

Tuesday, October 1, 2019

Unity and NordVPN

Three technical things...

Switching to Cascadia Code Font

Microsoft has released a new open-source programming font called Cascadia Code that features ligatures which can be enabled in most IDEs. This changes a sequence of characters to the proper symbols.

Image from:

Ahh. At last, I found something that I prefer over Lucida Console.

Getting Unity to work with a VPN

Typically I would work with Unity with NordVPN disconnected. This VPN client and some others are not compatible. For this new project I wanted a proper fix. So, after a bit of searching I switched to using the OpenVPN client with a few steps to work on startup (link). And, changed the network connection DNS to (link).

Now, I can stay connected to a Nord server all the time with this client.

Reducing the size of the Git depot

Plus, I cleaned up the Git repository of the new project by specifying more ignore folders to prevent it from growing in size too quickly.

These art files for the backgrounds already are 30mb, so any commit with minor changes naively will store both versions, and, an additional copy because I have a remote depot on my Dropbox where I push changes daily. These files and licensed Unity packages will be kept separate from the depot, still backed up automatically on my Dropbox folder.

In other words, the depot is much smaller, and everything continues to be backed up daily anyways.

The code is still the most important. These are tiny but critical files. I still use a batch file to copy and store copies of all the code to Dropbox and Google Drive, in addition to the two Git repositories, in case somehow files get obliterated or the depots become corrupt. Unlikely, but never know.

I neglected to use ignore folders for Gem Heroes. The depot is now 30gb. A lot of this is regenerated content for specific platforms. At least for the recent iOS build, I just switched the platform (which takes half an hour) and built the Xcode project to finish on a rented Mac in the cloud. I reset these changes because saving any of this is unnecessary, once I have the Xcode project.

Friday, September 27, 2019


A bit more art and adjustments to the screen effects.

I expected myself to just use most of the art that I already licensed, but lately I have been satisfied with some of my own creations. I have continued the same style, but changed my approach a bit in Clip Studio Paint.

City buildings and random objects

Kitchen and random objects

It is a simple look, but that also is the challenge. Everything is reduced to a minimal number of blobs and lines. Just the slightest change in a curve will change the shape and make something look very different. The outlines are really thick too, so shapes can't be too narrow.

I'm just creating random objects freely, without really a firm objective in mind. Some of the pieces (especially the kitchen) will be redone.

I'd like to create a few more objects, and then put together a limited demo with just one or two zombies and a handful of weapons.