So last weekend I started prototyping and working on my next game.
I've planned out a bit on paper how turn based tactics is meant to play out, and now started prototyping as well as learning how to draw in isometric. Which has been quite the challenge. I've been trying to learn from the sprites in Final Fantasy Tactics and Tactics Ogre. But it's proving challenging to represent the detail in 1 bit. So I started trying to make a more abstract tree which appears a little better. Learning a lot!
Here is a progress shot:
Going to start working on the turns and combat tomorrow, so we'll see if we can make something fun!
I decided to jump my tile size up to 48 pixels to zoom in a bit and also give me a bunch of extra pixels to draw with and add more detail, this should hopefully help with visual clarity. This mean re-doing all the tiles.
I've started blocking in the gameplay, with movement, turns, and using the turn menu.
Yeah I released my first playdate game at the end of last month! Some of the tooling I did there has helped get this project off the ground faster. However, there is still a lot to do!
The main set of work was to write a set of navmesh, and pathfinding tools to make checks to see if a tile is 'walkable' or to stop units from being able to jump up block heights more than half a tile.
This took quite a while as I needed to write some of my own data structures to make this work, a dynamic array, and a queue. I wanted these two data-structures to use my custom allocators. Because of the dynamic nature of building this navigation data, I wanted the ability to manage the memory and make sure it wouldn't fragment the default generic allocator in the playdate sdk.
Right now I generate the navigation data and path every frame. However, that's a bit overkill and only needs to be regenerated at the start of a units turn.