I know it's a bit funny to write a "post-mortem" about a game where you fight against ghosts in a graveyard, heh. Anyway, let's start.
What is the game?
Graveyard Shift is an FPS with unique game mechanics and a mise-en-scène that mixes both toonish and horror elements together.
You are fighting against restless ghosts and liches. They revolt, because too many graves are dug in the graveyard, whose keeper is you. Your purpose is to re-kill the undead! Your only friends are mushrooms, those you use to make mushroom bombs.
Your ammo is elemental mushrooms, there are 5 different elements of mushrooms those you collect from the ground. You create bombs with those elemental mushrooms (2 Fire, 1 Water, for example) using number keys 1 to 5. Your enemies also have elements; enemy’s element and the elements of your mushroom-bomb determine the damage you deal. For example, you deal more damage to a Fire ghost if you prepare a bomb with Water mushrooms.
It is published on Steam on 20 Oct 2016.
Ezgi Çetin (as Galavalomka Games) designed the game, I (as Aslan Game Studio) programmed it.
We have bought an important amount of game assets from Asset Store, but still worked hard to make everything look in consistence and have a unique game.
What will I talk about?
I will mainly talk about how we managed making a game both spooky and cute. And some techincal keynotes. Finally, reception.
- Chasing algorithm
- Post-processing effects
- Achievement integration
- Reception and sales
I believe that lighting is one of the most important aspects in horror games (even when it's supposed to be cute, as well).
I think these two images above tell you what I mean. Fog can be so helpful, too.
But there is another aspect of the lighting in Graveyard Shift: Enemy eyes! Some types of enemies (Fire, Electric, Unholy) has colorful lights on their eyes to make the game creepier.
For performance, there is only one source of light per enemy: In the middle of two eyes.
Using appropriate shaders is important for convincing 3D graphics. A metal should look shiny, for example.
And different shaders might change the geist of the game, like creating a toonish game.
I had bought Marmoset Skyshop shaders for other projects with realistic graphics. I tried them on Graveyard Shift and I loved the results.
Lich in the first image is standard shaders, second is Skyshop.
I believe that one of the things that made the game fun is the chasing algorithm that I implemented.
We had a problem in game. The ghosts are slower than you, you could easily outrun them, leaving a stack of enemies behind. Well, I tried making their speed equal or greater than us, but then the game became too unfair. I had to make something smarter, because the game was too dull that way.
Currently, the enemies are slower than our normal speed (we can even sprint limitlessly). But when there is a certain amount of distance between a ghost and us, the ghost re-spawns at another spawn point, which is close to us. So when you try to outrun enemies, a ghost might spawn in front of you, forcing you to change the direction where you run!
I believe that the game became much more scarier that way.
Do you notice the difference? Bloom, vignette, global fog (with height fog), noise and scratches are used here.
There is also depth of field in our promotional images, blurring the background.
"When in doubt, use particles."
(I don't know who said it)
It is hard to show particle effects with images, so a video comes here:
Our approach to particle effects is preferring realistic ones, rather than cartoonish ones.
Another interesting part I did is setting the size of mushroom bomb particles according to how many mushrooms our combo has. For example, if there are 3 Fire mushrooms in our bomb, the size of the fire particle will be 3 times larger.
It was a bit hard, because each element particle had different parameters for sizes. Electric uses rate.constantMax, Fire uses system.startSize, for example. So I had to write 5 different scripts like GS_MushroomParticleFire that inherit from GS_MushroomParticle class.
At first, I tried a wrapper that I found in Asset Store. It caused lots of errors right after I imported the package, I spent a day trying to fix them. Then I noticed that the wrapper hasn't been updated since 2 years, probably it wasn't compatible with the latest Unity.
Then I found Steamworks.NET and it worked like a charm. I strongly advise it.
The only hard part was to be able to get builds without Steam integration (for GameJolt and itch.io). I wrote my own achievement manager which has #if STEAM in front of the codes. I also wrote a program that automatically writes #if STEAM in front of Steamwork.net files. (and don't forget the #endif at the ends)
Reception and sales
Now you will wonder, "Did the game sell well? Did player liked the game?".
I don't want to give numbers, but I can say that it sold much lesser than our expectations (and the expectations weren't too great). The common critique is "The game looks very cute. But it gets boring. There isn't any content left to see after playing for a short time."
A mistake we did was forcing the players start from Easy mode and let them unlock Normal and Hard after beating the game on Easy mode. The mushrooms you select doesn't matter at Easy mode. So many players (I guess including a reviewer of the most sold gaming magazine in Turkey) thought that the game was faulty because of that. We unlocked every difficulty later, but it was a bit late.
And I am faulty for the game not providing much more content. I forced Ezgi (designer) saying "Let's finish this game, we worked on it for too much!" to release the game in this state. Players expected to see content as they advanced in the game.
Another mistake was accepting a bundle offer a short time after the Steam release. It upsetted some players who paid for the game at the release. We had to announce that we will offer the keys of our next Steam games (Clown House 2 and Happily Never After) to the customers who purchased Graveyard Shift before the bundle.
And I guess getting in bundle killed our sales. So I strongly advise you not to get in any bundle unless it has been a long time since the release.
Some people say that using Asset Store assets is too easy and makes the game worthless. I think it is okay as long as you can create something original and use the assets in a beautiful way (like putting eye lights on enemies). Graveyard Shift could be a more successful game if we put much more content on it.