Project Blackwater is a 4x Game combining elements of fantasy lore with civilization and total warfare. I have played Civ since Civ II, and have always wanted a better tactical combat game to go with it. It seems that today you can get either the world or the battlefield, but not both.
Blackwater is designed to do both. Keeping that in mind – I realize not everyone wants to play out all of their battles, so that is being taken into consideration on the design end.
I am using Unity to create the game. The challenges that I am going to mainly be encountering initially will all revolve around art assets. As I am a one man developing team and am not really a computer graphics artist, I will have to fill in the blanks as I go.
As the game is hex based, I picked up a copy of GameLogic’s grids scripts for Unity. They also had for download some basic looking image files for overland tiles. These look fairly bad right now, but using them I was able to construct a real quick hex grid of terrain types which I can then start using to create the working pieces of the game with.
Beauty will have to be put on hold.
I will be developing the game in 2D using cpu drawn hexes and overlaying sprites on top of them. This game will look pretty sweet if it was 1993 😉 Once I get the engine knocked out I am going to be adding 3D meshes to work in a 3D version. That really cannot be something that I worry about at present though.
As you can see from the screenshot, I can draw the hexes as I need and can click on each one.
Stage 2 – Hex meta data and displaying it
The next stage of development is to add some logic to the hexes themselves so that they know what they can do or what resources they hold. Hexes, much like many 4x games, will hold food resources and productivity resources. I do not want individual hexes to be selectable unless there is a unit or city on the hex.
This leaves the following work that will need done in stage 2:
- Add the food and productivity values to a tile object
- Alter the click event on the hex to not do anything at present (currently it highlights the hex with a white color)
- Display the hex type and resource information on the screen via a form of tooltip. I will need to obtain a food icon and a resource icon for this tooltip.
Behind the Scenes
The grid objects that GameLogic ship with their scripts work pretty well. I did have to create my own type of cell, called an OverlandCell, which inherits from their TileCell object. This OverlandCell object will be what the sprite cells and 3D mesh cells inherit from to capture the game logic behind it.
GameLogic’s SpriteCell now inherits from OverlandCell. It will be that object that I add the resource information to. More than likely I shall use a structure or a “resource object” which I will then plug into the class (as opposed to individual variables that hold the individual resources) for organizational purpose.
Up to this point I’ve created seven class objects to display just what is in the screenshot. Things will get a bit trickier when I start implementing objects like armies, rivers, cities, etc but we will tackle that when we get to that point.