30-1-2016 -> 6-2-2016
Hi there! Welcome to the weekly recap of Checkmate. Today, I'm going to discuss the new features, show a neat video with all the new features and run y'all through everything I've done this week!
I didn't have one of these last week, but I do have one this week! Below, you can find a video which recaps all new features added into the game this week (with non-suiting music, as per usual)!
And here's the full list of new features, shown in the video:
+ Adjusted the terrain to be recolourable on the fly
+ Castles randomly spawn now
+ Building is now limited to particular borders
+ Borders are now being drawn in the world
+ Added a farm
+ Added a slider which displays farms vs. pawns
+ Added a spawn animation for the farm
+ Added a button which allows you to subtract pawns from a building
+ Added an option where you can force pawns into a building
Now you know what's new, let's go in detail about the many new features!
Big feature: Team Borders
Last week, you could just build anything, anywhere you wanted to. Obviously, this wouldn't be fair, and could cause some really unfair situations (spawning pawns next to the enemy king, for example). To account for this, I've added something called "team borders", which represents nothing more than a limit around the base. Beyond this limit, you'll be unable to build stuff.
The borders look somewhat like this:
The *.gif file above was an early test of the building borders. As you can see, the borders define the area in which you can build.
It all started with the ability to paint on the world, and I may use that feature to my advantage in the future...
I then did some extra magic, which allowed the world borders to update on the fly. There are still a couple of performance updates which can be done, but I wasn't in the mood for that this week. I'll probably get round to that next time.
I've also added a new building; The tower. The tower allows you to expand your borders. Currently, this is all free of charge, but I've got some plans in order to spice things up a little with these things.
How it works, is demonstrated below:
As you can see, the borders update automatically as you place the towers.
It may look a bit "jumpcut-ish" to you, and that is because of the performance issues I mentioned earlier on. Currently, the border updating checks the entire map, which results in a small lag spike. Naturally, this will be solved as soon as possible, but for now it works for demonstrative purposes.
I've made a couple of neat additions to the way you control your pawns. Previously, you had to wait until a pawn decided to head towards a workhut, or had to wait until it came out of it's house. This is, of course, unthinkable in a strategy game, and therefor, I decided to change the way this works.
You can see how it works in the *.gif below:
You can see how this all works. You can release a pawn by simply pressing a button. The pawn will then conveniently be auto-selected. You can also use the move option on the pawn, to force it to enter a building again.
This subtle change is an extremeley important one, as it gives you a lot of control over your pawns. You can decide which pawn goes to work, which pawn has to sit in what building, etc.
Another new feature, is the farm. I didn't want everything to depend on one resource, so I decided to add in a farm. You need 1 farm per 3 pawns, which prevents you from making massive armies, unless you own a lot of land (which in term requires lots more ore).
You can see what the farm looks like, in the *.gif below:
In order to spawn a farm, you simply build a workhut and the farms will be placed automatically, as long as there is some water adjacent to the farm.
Together with the farm, I've added the "corn meter":
The meter tracks the amount of pawns vs. farms. If the meter is coloured red, there are more pawns than farms, but if the meter is coloured green, there are enough farms (and even more) than pawns.
Currently, there is no negative effect for having to little farms vs. pawns, but in the future the pawns will start to starve and drop dead out of nowhere. I'll probably add this in somewhere next week, or the week after that.
Bug fixes and tiny adjustments
And now, for the bug fixes:
* Fixed camera spazz issue
* Fixed an issue where diagonal movement was sub-optimal
* Removed the king and the castle from the build list
* Pawn pathfinding is displayed correctly now
* Fixed an issue where castles didn't have collision
* Resized icon bounding box for easier selection
* Fixed an issue where pawns had trouble entering buildings
* Fixed some performance issues when running an outdated shader version
The last one in the list is worth some discussion. Game Maker: Studio (my game engine), by default uses the first graphics card available on the pc. This has a couple of limitations I cannot get around. For example, if you have multiple graphics cards, no matter how amazing, it's still possible to get low framerate whilst running the game, because GM:S defaults to the integrated graphics card in your pc. This is especially true for laptops.
Therefor, I've been making a lot of changes regarding the VRAM usage, and the processor overload. I've been simplifying a lot of shaders and did a lot of splitting up in order to add more shader version compatibility, which is required when playing on less good graphics cards.
Currently, the game runs, at minimum, 200 fps on an integrated Intel graphics card with 128MB of VRAM, so everything should be fine for now.
I've already mentioned a couple of things I want to do next week, but those are mainly the small details. Instead, I'm going to try and focus on one of the main features of the game; Putting the enemy at Checkmate.
I haven't really discussed this yet, but the goal of the game is NOT to take the enemy pawn, but to create a checkmate. This is a lot more interesting and allows for more use of tactics than simply trying to take an enemy pawn (which isn't particularly interesting).
This is quite a big feature and may take the entire week to get going (and it'd probably still not be completely finished). I'm not sure how I'm going to tackle this exactly, but I'll see what happens on the fly.
That is all for this weekly recap! Hopefully you're liking what you're seeing, and don't be afraid to drop a comment below if you do!