It's been a couple weeks since I last updated. Mostly it was filled with frustratingly retooling the game and testing out different libraries.
I purchased a new laptop, mainly to force myself out of the house a little more often The first time I tried to boot up my project in it, nothing would render. After some investigating, I realized that SFML does not allow you to use anything higher than glsl 1.3 and opengl 3.0 if your graphics driver only supports higher version exclusively in a core context (my laptop intel driver does, sadly).
Unfortunately, I was running opengl within an SFML window to make developing the UI a little easier. I spent a good week implementing different libraries and weighing the pros and cons of each. I ended up deciding to bother with none of them and spent another week redoing the UI just in c++ and opengl. It's a little more hassle, but as my game is a rather simple one, I'd like it to be pretty compatible on lower end systems. So, rather than deal with various library's dependencies, I've opted to simply eschew them where possible. (I'll still likely use SFML for audio, as it doesn't require a sfml window instance). The UI is rather simple, with no clickable abilities yet, but that's on the table for this week.
I learned how to generate a bitmap font image to display text in the UI. I definitely need to spend time making a nice one, as my current one works, but is damned near illegible (my handwriting is terrible).
Anyhow, In addition to that, I implemented a "font/altar" system. You can create a little altar that generates your evil/good currency (and will eventually corrupt/cleanse the tiles around them). It's still a little rough, and using placeholder animations,but it's functioning.
Added the ability to trade/store currency between players and towers.
Added a bit of randomness to the trees and mountains in terms of scale. So, everything has a little variety and isn't a sea of identical mountains.
fixed tons of little bugs and issues.
There are certainly other things, though I've not kept a list of everything. But, those were the really notable changes.
Sadly, that's about all that was accomplished. I wish I had more to report, but the UI/library thing was a considerable obstacle, and not terribly easy to replace. A lot of time was spent trying to implement various libraries, and then learning how to do the UI without them, especially in the text/font areas.
Hopefully with this obstacle mostly behind me, I can progress with some actual game mechanics this week (we'll see how long the clickable UI takes. I've done one in another project, so hopefully I can transfer a lot of that knowledge over).
On the TODO list for this week:
-clickable UI, use to cast spells, end turn, changeable key bindings, etc.
-have the font/altar things change the alignment of the tiles over time.
-add better ways to generate currency.
-make a "selected player" icon above the player whose turn it is.
-really low poly (even lower than now :P) models. The game runs terribly on my laptop. I need to (learn to) profile to see where things are slowing down, but I have a feeling I have a lot of extra and useless vertices being calculated. Every tile has the full 12 vertices, even though you only see the top ones. The little mushrooms have a ton of vertices for being tiny little mushrooms, etc. etc. Multiply these by a few thousand and It adds up, and I think it's the likely culprit. But, we'll see. I definitely need to look at performance as something this simple shouldn't be running this poorly.
As always, I'm open to any advice/criticism/comments, and they would be more than welcome You can view the full project code here or here.
Obligatory and slightly embarrassing game image: