I mean, it is! But it’s not really superduper playable yet or anything. An important piece is in place though: pathing! I spent a lot of time thinking about this, but in the end, a modified version of the A* algorithm was enough for my needs.
This isn’t to say it’s implemented and complete and nothing needs changed with it. There are a thousand ways to tweak this code, of course. For example, I need to disallow players from choosing which way they go on any given turn, at least on straightaways. Players can turn when the board presents them the option, of course, but when you commit to a path, the game needs to force a player to go through with it and not just turn back, unless a lucky Chance card bails them out of course :3
Now that movement is functional, next steps include developing the game manager / game loop system. From what I can tell, it’ll likely be a FSM, so I can enforce five or six different states over the course of the player’s turn. (Pre-Roll, Rolling, Moving, Landed, Post-Roll, etc.)
One really fun part of this stage of development will be goofing around with Cinemachine: if absolutely nothing else, I can animate some camera movements and create some accompanying UI effects to differentiate these various turn states and make the game feel a little more interactive.
I’m excited for where this is going!!
Today’s update isn’t flashy, but its stuff that is important for functionality and basic usability of the program. First off: the Save-As dialogue!! I actually got lucky and found that this problem had been solved by someone already, and they were offering the solution for free, no less. Hard to complain there. So my program can officially save and load .lvl files.
…sooo this means that the core functionality is finally complete. It’s actually there. That’s huge, you know? As in, there’s actually a Windows Executable file that you can use to save and load .lvl files and share them with others, who can do the same. That’s MASSIVE. My game actually has a data format to work with! I can begin to build actual game logic now. In the next update, I expect progress (or at least musings!!) in the area of actual gameplay logic. One glaring issue that I’m mulling over is how to generate, store, and expose player pathing data. That’s probably my biggest question mark of the next phase of development.
It feels really good to hit that first milestone. But….I suppose I can’t celebrate for too long. On with the rest of the update notes!!
The second update also involves an outside resource. Nicolae Berbece, also known as Xelu, also known as the guy who made Move or Die, made available a free input icon pack of all sorts of different buttons for different controllers and other input devices. I’ve used this to create a sprite sheet full of different keyboard/mouse icons, all named appropriately for later use (my wrists will accept your condolences on that one).
Assuming my project actually ships, both creators will be credited, even though Xelu generously said that he didn’t need the credit.