A brand new game
for Windows, Linux, Mac, HTML5, 3DS Homebrew and more
13th March, 2019
Today I'll be tackling the actual functionality of the new Board functions.
Much like how I currently have a "DrawCardPile()" function, I'm fairly hopeful that I can wrap the majority of the base boardgame functionality directly into a single DrawBoard() function.
Zooming and scrolling are already in, but things like Piece Movement still need to be added.
I'm not 100% sure of what kinds of board games I'll be adding into the engine, so as much reuseability as I can manage to cram in, will be the goal here.
Thinking of the main different move methods, Snakes and Ladders has a specific movement based on Dice rolls, Chess has freedom of movement based on the piece being moved, whilst Cluedo has even more freedom, but based on Dice.
(Disclaimer : Although it would be nice to have all these games in the engine, these are currently just the sort of move-patterns that I'm thinking about, not actually games that I'm about to implement!!)
I think I'll probably need to implement a simple pick-up and put-down method, much like the Card Piles have, and then add most of the actual movement code into the game, rather than the reusable function.
Although I could probably add a few basic rules into the function, whilst I'm there.
Before all of that, though, I need to get the scrolling and zooming to work well on Desktop. I might need to add a great big +/- zoom button onto the screen, somewhere, to help that.
Boooo!! Onscreen buttons!!!!!