First Entry - Okay… Let’s do this!


The Story So Far

Hi!

I’m Jack, pleased to meet ya.

This is the first entry on the devlog for All Islands Wail (AIW) so I thought telling you were the project is at would be a good starting point. I’ve been working on this game in one way or another for way too long without making the progress I’d want on it. I have done research into the spanish civil war, written multiple game design documents, read military strategy books, plotted out the complete story, come up with painstaikingly detailed characters and even built a couple of prototypes for the game. But, even though this is something I love - and I hopefully wanna make a living out of - it’s been an on-again-off-again kind of progress.

The idea for this blog/website is to publicly share my progress weekly. This - I hope - is a way of holding myself accountable of achieving goals/objectives in a regular manner, encouraging me work on the game every week. I also wanted to do this as a way of getting feedback on the project/work/features and interacting with the community.

The blog will contain two (maybe three) types of entries:

  • Milestone entries (what you’re reading right now), which will be longer-form posts in which I go into detail of a major milestone in the project.

  • Devlog entries, which I’m aiming to write weekly, will be shorter form (bullet points mostly) and will mainly discuss the work achieved that week, issues, plans and goals.

  • Deepdives (potentially, if I think it’s interesting), where I’ll go in-depth into the code and explain how stuff was implemented.


How it’s going

So, let’s jump to thick of it. The idea for AIW came about from two core realizations:

  1. There are no (good) games about the Spanish Civil War, I wanted to change that. It is a fascinating topic that not many people know much about (outside of Spain) and the ones that do, usually come to it from a place of hatred and politics (which I want to avoid). Yes, the Civil War was about politics and I don’t want to shy away from that; but the bigger - and to me, more interesting - part of it was about humans, families and every-day people and their lives: how did it affect families in opposite sides? How did politics creep into friendships? What was life like for people in the cities and villages?.

  2. I love strategy games but I usually hate the stories they tell. They’re either way too epic in scale, overly simplistic or just a poor excuse for a tutorial; and I’ve always thought that’s kind of sad. I think the strategy genre offers a possibility of telling stories in a very interesting scale that (I don’t think) has been explored yet.

Knowing that, that as a starting point, what follows is my idea of the core gameplay loop. You wake up at home, have breakfast with your family, read the paper and walk to the “office”. Once there, you have a few meetings, read some letters, plan the actions and movements for the republican army in the war table, send the orders and go back home. Then the next day, you do it all over again. The interesting idea in this loop is that the strategy layer is literally a map: you’re not micro-managing units, it’s not real time (you plan something and then you send the orders to all units), you don’t have perfect information and you don’t know what the enemy is doing (or planning). This will result in plans not going as expected, movements being interrupted and unexpected encounters with the enemy. It will demand deeper strategical thinking from the player than most “turn-based” strategy games; I’m aiming for the kind of game in which you spend 30+ minutes planning and thinking and re-thinking the perfect play. The kind of game in which you go “just one more turn and I’ll go to bed”, only to find it’s suddenly 3 AM.


Features

Now that you know what the game is about and what I’m aiming for, I think we can jump into where I’m at. Right now, I’m working on a vertical slice: I want to be able to walk the main character from their house to their office (having some interactions/minor story beats along the way) and, once they’re there, allow the player to interact with the strategy layer. That last point is the one I’m currently working on, so the current status is a project in Unity in which:

  • I have a hexagonal tile-map (it’s currently just a placeholder, the idea being to create a very large map representing the entirety of Spain and it’s mutliple geographical differences).

  • There are different unit types with different stats.

  • Units can move around the map based on their stats (movement value) and type (boats can’t move on land).

  • The entire movement system has been built from the ground up: having actions for both the player and the enemy happen at the same time can cause some interesting problems in a turn-based strategy game with a hex-tile map.

  • The entire turn system has been built from the ground up too: it’s based in the “round-system” most war games use with some creative liberties and changes needed (to account for the fact that all actions happen simultaneously).

  • Units can fight. Fighting isn’t an active action you take, if two enemy units are adjacent to one another, a battle will start automatically and they’ll start fighting (and they’ll be locked in place until the battle resolves, however many turns that takes).

That’s basically it apart from “chore” work that has to be done (things like the state machine, scaffolding/organizing the project, place-holder sprites, etc…). Aside from that, I’ve also started work on a morale system which is far from finished: units have “HP” and Morale. While HP works exactly as you’d expect it to, I want Morale to be more interesting: applying buffs and debuffs based on its value and having interesting interactions with the other systems.


Whats Next

  • Finish the Morale system: this involves coding all the ways units can receive/deal morale damage and all the effects (buffs/debuffs) based on its’ value.

  • Add Actions: certain units will have certain abilities (things like an engineer being able to repair vehicles), this means I’ll need to code how those actions work inside the turn system and what they do (luckily, most actions have already been defined in a lot of detail).

  • Fix minor bugs/annoyances: for example, right now there’s no way of “undoing” or resetting a turn; this is starting to become an issue when debugging and testing.

  • Start Work on AI: this scares me. I want AIW to be a single-player game, so I know the AI has to be challenging enough to make things interesting without it being unfair (or too easy, which I guess is the main issue with single-player strategy games). I want it to work with the same amount of information the player has but that’s about all I know about implementation details. I’d like to spend some time planning, investigating and thinking how I’m going to do this.

  • Testing: I currently work as a programmer and I mainly do DX work. That means I do a lot of testing and documenting and that I know how important testing is. However - ironically - I haven’t gotten to it (there’s also very little documentation about testing in Unity, which I find weird). I really want to start adding unit tests to the project and to have the ability to add regression tests whenever I fix a bug.


That’s a Wrap!

Okay, that’s pretty much it. Thanks for reading this far, hope it was interesting/insightful. Please leave any and all comments below, I’m really looking forward to feedback be it good or bad (just try to keep things positive/constructive).

See you next week! - Jack

Previous
Previous

Art, Morale and Code