Playtest

This is my last week in the US, and next week flying home is going to be both arduous and time consuming (please, try to imagine flying with a toddler, or if you're already a parent.. I'm sorry.) So I purposefully limited my scope for this week.

The big takeaway was Charge's first playtest. My stepdad (hey Pete!) was super accomodating and was up early enough for us to get a "game" in during my work hours over here. The test honestly went better than I was expecting, in that we got something that kind of looked like a game in. There were plenty of bugs and issues, from not being able to order units after doing certain commands, to connection issues, to the game's turn order getting out of sync, but fortunately all of these were trivial enough to fix. More than all that though it was so incredibly nice to get a game going with Pete. We live in different states, and when we do meet up it's hard to get the time to get any kind of tabletop games in, let alone something as large as a rank and flank. He's a major reason I'm building this game, and to even get a glimmer of the tabletop games we used to play was incredibly nice.

On a more technical level I managed to squeeze in a few features this week, namely, a new terrain system, a new graphic design for unit cards and the ability to play local games on iOS / iPadOS devices.

The new terrain system in particular is pretty exciting to me. In the old system, I had a pre-baked base board that was always the pre-set 4x8 size, then I'd lay terrain pieces on top of it, much like you would in a real life tabletop environment. Old Terrain System

In the new system, I instead sculpt a terrain mesh in Nomad Sculpt on my iPad, building both a low (game ready) and high poly (detail sculpt for normal mapping). I then generate UV's and export that over to Procreate where I then texture it up. After that I take my terrain prefabs and scatter them about the mesh in the Unity Editor.

The trick is that I make the terrain piece quite large. probably close to a real life 16" x 16" table. Then when the a new game starts, I simply find a random position on the board to centre the gameplay on.

This all came about because I was trying to optimise the game's graphic load so that it doesn't burn device's battery, and I found that Unity's default terrain system is both a performance hog and inefficient. In the process of getting nicer looking terrain I also shaved the overall draw-call count from ~200 down to 80. On that note, I was inspired by the recent release of Pocket City 2 and just straight up removed all the post-process effects I generally rely on. I think that'll work for the most part here, but I get the feeling I'll need some bloom or something in the future.

What this all ends up meaning is that the game's board now has elevation and topology, something that's notoriously difficult to do in a sensible modular way in traditional tabletop. Gameplay wise, all it effects for now is Line of Sight checks, but maybe in the future i'll add some kind of environmental buff system for height advantage / disadvantage.

New Shiny Terrain System

Local play on device is a big part of the overall strategy for the game, so it was nice to be able to get that running. It also helps from a debug point too. All it required was splitting out user authentication from the kind of multiplayer system and it more or less worked by default. Probably a sign that the way I'm writing the code is far better than stuff I've done in the past?

The remaining new feature is the new unit cards. It's also a bit of a glimpse at where I feel like I want to go with the overall graphic design for the game. The functional thinking here is to have large portraits, and only the most essential info on each of the cards, so, the unit's remaining wounds, and their current status. Graphically, I wanted them to feel like old beaten up playing cards, tying the overall feel a bit further into that tabletop-y feel. The main inspiration is actually the deck of cards you get in the 80's HeroQuest box for things like treasure, monsters and other bits and bobs.

One of the main functional things this card UI has to do though is work well on all screens, from a tiny iPhone mini through to a 100" tv screen. It needs to be easy to pick out the unit you're after, to quickly see which how most of your units are doing and crucially not take up too much space. Thus the accordion animation.

As I mentioned before, I'm going to be out of action next week, and likely even the week after, depending on how painful the flight / jetlag is. So don't hold your breath for the next update!

Tasks completed:

Bugs squashed