I am not exactly too sure when, but sometime around April (I have a log entry dated April 10 2018 that began the “new log”) I began seriously working on my 4X TBS. There are earlier logs from as far back as January 2016, but all that remains of the game from before April 10 2018 is the map generator, which is going to need a redo soon. After that is redone, nothing will exist from the pre April 2018 state. I began working on a “test” in 2016, which morphed into “Test2.”

Here is a picture of “Test” in its initial days, January 13 2016:

This picture is one of the older pictures. This picture was dated in April when I wanted to see what I had to work with at the time. In this picture, about the only thing that remains is the tile pictures. The tile graphics are slated to be replaced in about 4–6 weeks.

Some things do remain, conceptually. Those little houses are the “villages.” This was an early village and production system. There is a road that has been removed and not replaced. The puffy grey things are mountains, and impassable. There is forest and grassland. The game was more or less unchanged from this state for a while and much of this was made in 2016 and shelved.

To give you an idea of what the game looks like now, here is the new village system in December, and last appearance of the character that replaced the one in this picture:

This picture shows the progression of the user interface and some other game elements. There are two villages, two animal herds, and one ugly human NPC next to a village. There are also walls on the right and left, with a gate. On the right is the “action bar” and at the top is the “info bar.” The action bar is on the build/maintain/remove wall screen. I redrew the characters but plan on doing more in a few weeks (not vital). A lot of the UI is functional and not much more.

I also named it, “Eighth Day,” in October ‘18 I think. I think prior to April 2018, I had some deep seated doubts as to whether I could do all the things I knew it would take to turn a map generator into a game.

By April ‘18, I had gotten to a place where I guess I had some sort of mid life crisis (I am 35 so hopefully more of a 40% life crisis?) and decided “this is it, I am drawing a line in the sand, I am doing this.” I didn’t really know how to go beyond a map generator, but I did have a feeling about what kind of game I wanted to play. And I also knew I could allocate about 1 hour a day from 6am-7am, 7 days a week. My first goal was to keep that schedule for 10 days.

I was surprised that by about 3 months into it, I had only missed that schedule about twice. I was able to expand the time — another surprise because initially the struggle was “what to program for 1 hour?” It is surprisingly hard.

The first 3 months were as much about learning the project management as the programming and game design. The first major success was pathfinding. The game I wanted to make would depend on a lot of pathfinding per turn — right now there are roughly 500,000 path finds per turn. I knew the algorithm had to be fast or none of that was possible.

By June, I had optimized and tailored an algorithm that worked really well. I have plans someday to improve on it — but it is not necessary as the time between turns is not excessive. Pathfinding is the limiter of this game for two reasons. One: pathfinding is memory intensive, i.e. slow. Two: turn based games mean that you generally have to leave things serial. You could, in theory, move two players at once but thats called a real time strategy game and not a TBS game. Each player in the game has scouts, and they each path find. Each player can easily contribute 100+ path finds per turn fairly early in the game, and currently there are 2,400 animal players and 600+ human characters.

The game is an outgrowth of my failed academic career as a simulation modeler in computational economics (I left for more $ in private sector). So each game is actually an “agent based model.” You will be playing in a world that was designed to emulate specific parts of reality I find fun and interesting.

At turn 1, you are in a world that is bounded (more on that later). There are animal players and human players. Some of the animals are predators but most are prey herds. The predator animals hunt the prey herds, and early on have a combat advantage against humans.

As a human, your goal is to survive. This is not a take over the world game, though that will be possible. You can choose to remain a solo “human herd” if you’d like, or found a nomadic society, or a farmer/urban society.

Advantage is gained by capital accumulation. More capital per person means each person in your society is better at what they do. More capital for war, i.e. “war capital,” and your soldiers fight better. More human capital training for your soldiers (training in a fort), and the better skilled they are with those weapons.

Production is similar, that same capital, instead of going to war, could go to increase the capital stock of your production. Over time, your workers produce more per turn and per unit of input with more capital per worker. Have an invading army mess up your tiles and your accumulated capital is burned even if your labor survives and you get plunged into a dark age with too many low productivity workers!

I am currently in the middle of combat programming. It is in version 3 roughly, in that I am feeling more confident that the system is in its final form.

Combat is done at the unit level. There are many options for combat. A single unit can set up to three tiles for ambush. If anyone should wander into those tiles, you get a choice to attack them and a combat advantage.

How to avoid being ambushed? Well you can move into unknown territory with another unit behind you in protect mode. In this mode, each move you make will result in the protecting unit following you to keep you within three tiles. If you are ambushed or attacked, the protecting unit will cover your flanks and allow you to retreat or assist in the battle.

Video from 1/11/2019 Showing the scout and flank attack system

The above video is the latest, and I slowed down the scouts to show how they work. But in reality, I have to speed them up because at this rate, it would take forever because each player can deploy up to 30 scouts per turn and there are about 1,000 players able to do this. In addition, villages have scouts as well (not shown here).

The video also shows the attack system. When I hit flank, a (little messed up) red square shows my attack range (I have 3 moves left). Its a little screwy at the moment because I messed with it and the red square drawing is, now that I think of it, left over from 2016. Anytime I deal with anything I made before about July 2018 it always becomes difficult. I will have to redo that later.

Pick 3X2 system

Anyways this picture shows the upper right. At the start of every combat instance (either ambushing, being ambushed, attacking, defending) you have to pick two sets of 3 sub tiles in the tile where combat is taking place (the defender’s tile). So, I should have mentioned this earlier but the “new” tile system is overhauled, but the graphics have not kept up completely. Each tile has 9 sub tiles. Sub tiles are used for economic and combat reasons, but not so much movement. However, they do matter for movement around walls. Here is a video of player movement around walls (with the latest character I drew, which I hate and will replace soon).

Anyways you pick two sets of three tiles, and each tile represents a number. If your into stats, its basically 9 choose 3 twice. Your opponents also does the same. You can hit “random” for a random set. But, as the game progresses which tiles you choose will eventually matter more (not implemented yet).

Outcome

So, your first set is your S1, and your second is your S2. Your S2 is your guess of your opponents S1. Your opponents S2 is their guess of your S1… get it? So, the outcome shows how many of their S2 I got and how many of my S2 they guessed. That’s in the parenthesis, so the Attacker (me) guessed 1 of theirs, and they got two of mine. But I should mention at this time I am using cheats and I outnumbered my target like 5:1 so 20 kills was enough to wipe them out. Also, because they chose to flee and I out flanked and blocked, it was a wipeout.

The attack isn’t calibrated fully (and wont be for a while) but its on its way. I like the pick 3X2 system because its easy to adjust and control the odds and outcomes. The plan is if you get the best outcome possible — you guess all of your opponents’ and they guess none of yours — the benefits are very asymmetric. In a retreat scenario, you would retreat completely and inflict some damage. In a defense, you would get an outsized multiplier, as with attack.

But the real benefit will come from when that outcome happens to a player, they become “tactically skilled” and that same combination of tiles picked on attack or defense will yield benefits permanently.

The caveat is if the opponents know you have those benefits, they can counter. Intelligence later on will be about finding out those benefits and sharing the info with others.

Anyways, for 2019 I am learning to relax a little bit more. I work a full time job and support a family of four. Around October — Nov I started to believe the game could be “ready” in March — April 2019. But, I decided to take the pressure off and aim for “sometime in 2019.” I believe if I can continue the pace for that length of time, the game will be a lot better.

For technical details, this game is made in Objective C. However, the core of it is straight C to allow for future porting to C++ on a Windows environment someday. I am aiming for iPad primarily, but it would be fairly easy to also have a Mac version at around the same time. I am not too worried about platform choice because if it doesn’t do well on the iPad, then it won’t do well on Steam. Having to port it to Windows is a problem I’d like to have.

Currently, the codebase is a little over 50,000 lines of code. I expect by the time it is ready to play, the total lines of code will be in the 100k–120k range. I’d love to be able to work on this game full time someday and be able to put all the things I want in it, but I think that version would have 500k+.