Welcome to the first development update for 2016.
I’ve been constantly working on various systems and assets to build up a solid foundation. I want to finish a vertical slice through all game elements from mechanics to visuals. The goal is to get an idea of the size and shape of all the bits and pieces of the game before I start expanding.
So what has happened since the last update?
- I built a first draft of a procedural quest system and worked on the environment manager
- A 3rd party IK solution (Final IK) is now in place to drive all kind of (subtle) procedural rig changes like gun-aiming, head-aiming, feet-grounding, etc.
- Added projectiles and ‘things-which-can-throw-projectiles’
- Created a bunch of new assets like a few guns, some melee weapons, bags and particle effects
- The usual performance tests, bug fixing, code clean-up, refactoring and last but not least: updating unity and 3rd party assets to stay up to date
CAool list of things – check. Now onto some real information:
Bla bla bla: a procedural quest system
This is something I wanted to build from the very beginning. I often missed some kind of a story or long time goals while playing open world – survival – sandbox games. Even though procedural story systems fall short in terms of quality and soul they are perfect in throwing out quantity. Now what I don’t want to create is some kind of bring-me-10-bla-of-blabla quests machine. What I’m aiming for has more similarity to something like a road map: a system which gives the player a good reason to travel to certain regions of the world. A paper chase maybe. It should generate an unique journey each time you start a new game.
At least that’s the plan! A basic system is already running. It allows me to test the interaction with the environment manager and experiment with different ways of constructing short and clear (grammatically correct) sentences out of simple text modules.
IK or not IK – or: should we use third party assets?
With the help of FinalIK I implemented the weapon aiming. Unity has a built-in IK system but FinalIK is simply better. It made me able to quickly add some additional features I normally wouldn’t have implemented. Why? Because they fall into the nice-to-have section. And there are many entries in there. Core elements first! But that makes me even happier if some make it into the game from time to time.
So, why should I use third party tools anyway? Well, they help out where Unity is lacking in functionality or quality. Most stuff I use extends the Editor. Just a minority ends up in-game. I try to keep it to the absolute minimum because it’s always a trade off: You gain time but loose control. It’s more likely that I use a third party extension if it just makes the game shine a bit more without being a hassle when it has to be removed. What I don’t do is use them for game mechanics like the described quest system or anything which would end up deep in the engine. Only exception: the network engine Bolt where it’s simply impossible to keep the integration shallow.
Guns, Lots of Guns
Now to something important. Not that I think guns are important per se but the game mechanic is. Implementing the complete functionality to hold, aim and fire “a tool which throws objects” was not a small task. But it did turn out to be quite interesting! For example watching a cliché American ex marine (yes, he’s the one from Full Metal Jacket) telling surprisingly interesting details about gun history and physics accompanied with beautiful slow motion shots. A perfect reference.
It’s blue light…
A few days ago when I was writing the first paragraph of this article I realized I didn’t had a proper night in game to showcase lights. I had to expanded the environment manager to support a real day-night circle with changing sun color and intensity and stars for Unity’s procedural skybox shader. But I made it! I made the game dark. What a hell of a developer I am.
There will exist various ways how to utilize light and I made sure to go with deferred rendering and HDR lighting to be able to draw enough brightly glowing lights on screen to support that goal. The different light values (color, brightness, ‘fuel’, etc.) should have an significant effect on gameplay. The most obvious is of course… being able to see something.
And now for something completely different…
There are more things I’m working on but they’re hard to showcase or need some more polish. Anyhow: 2016 is going to be an exciting year with a lot of cool stuff coming up.
I’ll keep you updated!