Talking about Durability, Fighting styles and modding!
Read MoreDevLog #5 - Fatigue, Trello and Drug Vats
While fatigue is a mechanic in Pit Fighter Tycoon, it unfortunately affects me as a human as well. The gap between DevLogs is due to exactly that; so I’ve written some thoughts about that elsewhere.
Planning for the Future
Along with a planned return to monthly DevLogs, I have created a Trello board, where you’ll be able to see what I am working on at the moment. You can find that here!
I’ll be using it to keep track of everything as I move towards the next major milestone – Feature Complete!
Building Some Drug Vats
When I initially announced this project on Reddit, there was a significant amount of interest in how I learned to make the game itself. I’m hoping to shed some light on the art and UI side of things in this blog! If you’d prefer to not know how the game works, maybe skip this one.
Everything in the game has been built in Unity. While my art tool of choice is GIMP2 – as it is free to use (and superior to Photoshop for pixel art, in my opinion anyway).
This is the Training Interface, it’s currently a work in Progress so colours and design are subject to change.
Most of the art here is placeholder for now. However, on the left side of the UI there are a series of Drug Vats. These will allow the player to prescribe drug regimes to their slaves, potentially killing them. I’ll write more about the mechanics when they are finished in the next DevLog!
Each of those vats is a UI object within Unity, which contain a number of image objects within them. At the top level, they just have an empty shell, which is done so that they scale properly with different screen resolutions. However they consist of a number of sub-objects, which is where all of the art is.
Through trial and error I’ve found that using the Stretch setting along with anchor points seems to work best for UI Scaling.
This game is very UI heavy, mostly due to the nature of it's genre. There's never a single 'right' way of doing something, just more and less appropriate/efficient ways.
Before creating nice looking art, you need to figure out the size and composition of the final image so that it actually looks right in the game itself. So, start with a rectangle, or square and place it directly in the scene. You can then figure out what size and shape your art should be.
The chair down beneath the drug vats started life as a maroon rectangle, then I began figuring out the shape and shading.
The drug vats themselves also started as a plain object, so that I could quickly and easily mess with composition.
The biggest technique for adding depth in Pixel Art is Dithering. You can read a solid overview on that here: Spriteland.com
Derek Yu also has a fantastic tutorial on pixel art, here: Makegames.tumblr.com
I’d strongly recommend making use of layers as much as possible. It allows you to break a complex object, down into more easily completed parts. You can also take bigger risks, as you’re safe with the knowledge that you can turn off a layer that simply doesn’t work with the image. It will also leave you better prepared for breaking up an art asset in the game itself.
The individual parts of the drug vat look like this:
The background and liquid within are separate objects within the Unity Hierarchy as well, which will allow for a simple visual effect of the tanks filling up. It really all looks quite different when it's disassembled!
That's it for this Blog! Next time I will explain the mechanics of training itself, and how they impact the game. In the mean time, why don't you check out the Trello Board here: Trello.com
Burnout - Recognising when it happens
I have recently been through the process of burnout, or development fatigue. I thought it might be helpful (or instructive) to share my own experiences with this, so that you can avoid the pitfalls I’ve clumsily stepped into myself.
This is something of a well-trodden topic when it comes to Games Development, and I think the process of building something as enormous as a game lends itself to these problems.
Why does it happen?
It happens with surprising ease. In my case, I had a very distinct milestone; Steam Greenlight was announced to be closing, and I had long ago planned to get my game through it. For all of Greenlight’s flaws, I was keen to prove (really just to myself) that the game was interesting enough that people would vote it through.
It was now a race against time to make the game presentable, and hopefully get some people interested.
I began to work at a feverish pace, spending every waking moment that I could doing art and code, building UI’s, and adding effects. I smashed my way through task after task, and the game was completely transformed in a matter of days and weeks. It was amazing to look at all the changes, and I was loving the work – it was all consuming.
I don’t think I spent any time with my wife for at least a month, in spite of working entirely from home. In hindsight, it was pretty horrific. As a solo developer, isolation is a common issue and it’s an easy trap to fall into.
At the time, I felt unbreakable. But I am certainly not.
Recognising Burnout
When development began at the start of 2016, I formed a company in order to deal with contracts, ownership and any division of profits. In hindsight, this was a really good idea – as it forced me to keep accurate records of the time I spend working.
Every hour that I have invested into working on the game is recorded. At the end of the project I’ll be able to tell how much time was spent coding, designing, animating, polishing and testing. I’m also a big believer in only recording the hours I’m actually working, as opposed to Hours I intend to work, where I might go get a coffee or procrastinate on the internet (read: browsing reddit).
Due to time keeping, I was able to create this graph which tells a pretty clear story toward the end:
A large spike (aka. preparing for, then going on Greenlight), followed by a decreasing amount of work hours, and in turn, more time spent procrastinating. At that point in time I was still trying to work every hour possible, which is bloody stupid in hindsight.
Another factor is efficiency. Sure, you may throw every hour you can at a project, but are you actually working effectively? Tasks I began working on started taking much longer than predicted.
I easily get absorbed into my work, so seeing a graph highlighting my growing inefficiency really drove the point home.
How am I Dealing With It?
Holidays. I decided to go outside for a while, on the other side of the planet. Going forward, I’ll also ensure that my life is not just consumed by development as a boom/bust cycle is unhealthy and inefficient. I’m sure that development will progress more slowly, but my quality of life (and hopefully the quality of the work) will be a lot higher.
TL;DR:
Track your hours and ensure you maintain a solid work/life balance. Focus on efficiency instead of hours slammed away, and ensure you’re actually enjoying the work you’re putting in. Sure, it’s sometimes tedious, but if you’re hating it – it’s time for a break!
DevLog #3 - Ransoms and Slaver-Houses
There has been a bit of a gap in between DevLogs, as I’ve just finished working on a some large and interesting new systems in the game. Two of which I’ll be talking about today...
Slaver-Houses
In this universe, each Slaver who collects and fights humans is part of a larger organization called a ‘House’. Each Slaver House has it’s own Ship filled with Slaves that, like you, will travel the stars from Event to Event. They will battle their Slaves, purchase and build Arenas and pursue other sources of revenue in order to increase profits - but I'll cover that in another DevLog.
Customizing your Slaver House
At the start of the game you’ll be prompted to select a logo and a pair of colors - one for your logo, and the other is your primary color.
These colors will then follow you throughout the game, and are displayed on the things you own - like your slaves, or your ship...
You’ll also get to choose from a number of Alien species, and pick yourself an adorable or horrifying portrait. There are no advantages or disadvantages for picking a particular species (sorry, no room for space racism here), so you can play as whatever you like.
But other than just added flavor, why is this important? Well...
Ransoms
When one of your Slaves are victorious in the Arena, you’ll be presented with the option to kill or spare their opponent. Killing your opponent will please the crowd, who in turn will shower you with love (and Credits). But if you are benevolent and spare the Slaves’ life, you’ll get the opportunity to Ransom them back to their previous owner.
Each ransom has an expiry time, after which the ownership of the slave will change hands. This also allows you to increase the number of slaves you own quickly and cheaply. Collecting a new Slave can significantly boost your own house, open up new fights and earn you even more Credits than before.
But this cuts both ways!
If your slave loses their fight (perhaps due to a poor choice of opponent on your part), they will be taken hostage by an opposing house.
You'll then have 2 Cycles (in game weeks) to negotiate and pay their release fee!
You'll have to haggle a price with the opposing Slaver. Some will pay almost any price for their valued slaves. Other Slavers will treat humans as bothersome livestock to be sliced up and sold on the organ markets after a defeat.
How they treat their own slaves will also affect how willing they are to negotiate a price.
This system will reward good fight selection and provide a solid incentive to not murder every opponent you encounter. More importantly, it will also punish you for bad decision making, costing you Slaves and additional Credits after a crushing defeat.
That's it for this DevLog! Stay tuned for the next one, which will cover how you can ultimately crush your rivals - or be defeated yourself!
Pit Fighter Tycoon was Greenlit for Steam!
Thanks to everyone who voted for the game and shared it!
There's still a long way to go and a lot of work to do, but this was a really important step! One that I didn't believe would happen for a while.
A playable demo is on its way!