Greetings Codex.
It's been a while since I have come around here with updates, in truth I took a big break from the engine in 2015 because I pivoted it into another unrelated web app. But I never stopped minor updates to the code base and in the past couple of months I've really made a huge amount of progress. I'll be doing a blog update soon to discuss what I've been up to in more detail (with videos!), but for now here are some pics to showcase things.
First here's the gallery if you don't feel like reading:
http://imgur.com/a/S5B7S
I'll walk through each pic and some more stuff below.
Updated Toolset UI
On top of completely restructuring the engine code base, I rewrote and redesigned the toolset interface. The toolset is what I am using to build my combat levels and test combat. The new design gives me more viewing space and options while the code restructure allows me to drop in functionality extremely easily.
Units in a textured level
Previously all the videos I had shown which had units in them were of untextured levels. I did have a video showing a textured level (Dark Orbonne Monastery) but at that time, it was not possible to actually load units into that level. I've now made it possible and confirmed the validity of my combat level building process. Feels pretty cool to have these sprites walking around in a "proper" level.
Radial Combat Menu
I've implemented a contextual/radial menu for combat actions. The design is not final at all but the code is there.
Water Depth
Units can now sink in water!
And here's a bunch of stuff that is either too hard to show in pics or I'm too lazy to show right now, they'll be featured in the next proper blog post;
- Aerial Movement - The jumping animations for units have been completed, what I had before was a pretty hacked together solution, but they are totally legit now.
- Better Pathfinding - The elevation of tiles in the level matrix relative to the current elevation of a unit is now factored in to the path finding engine.
- Sound - I've implemented the sound API for the engine. As I'm also a musician/audio guy, this was really important to me to get going. Sound effects can now be attached to any event easily and engine BGM can now be set according to the engine state.
- AI Behaviour Framework - I now have a system to code and customise unit AI. It's a bit manual right now in that I have to write each behaviour sort of, but it works. I'll most likely be looking to make this more robust and organic soon.
- Camera AI - Well it's not really AI, but it sort of is. The camera will now automatically rotate at crucial points so that the turn taker is never occluded from the player. This became really crucial to implement as soon as I got the radial menu going, and this was hard. Probably one of the toughest bits of code I've had to write so far, but it's done.
And finally, I've separated engine code from game code and made the initial steps towards implementing the very first GoldScript Engine game. This is a really big one. Although the previous version of the engine "worked" it had opinionated stuff in it. For example, the order method for the combat round referenced the unit's speed stat. This isn't good engine code, because what if a different game had a different stat it wanted to sort by? Realising this was a light bulb moment that made be decouple all this kind of stuff from the engine and start to create my first "game". This was a bit of a rabbit hole that I knew had to happen but wanted to delay until later, but in order to actually have combat happening, I couldn't put it off any longer. Now I've done it and it's working very nicely.
Hopefully there's still some people interested in a game like this. I'll try not to take year long breaks too much in the future
Soon I would really like to get into a discussion about the upcoming game's ruleset. Right now, I'll leave you with a very rough preview of what stats are currently being applied to each unit in the game, probably fairly standard stuff but yeah thought it would be nice to share. Just keep in mind that this is all super hyper pre alpha and subject to massive changes;
Primary
MIT (might)
VIT (vitality)
AGL (agility)
KNO (knowledge)
FTH (faith)
LCK (luck)
Secondary
HP (hit points)
AP (action points)
Tertiary
Leap - determines vertical movement
Speed - influences round ordering
Stride - determines how far a unit can move without incurring AP impacts
Accuracy - Used to determine if an attack hits
Armour - HP buff and cannot be restored by healing spells or regular consumables*
Attack - determines physical damage
Dodge - used to determine if a unit can evade an attack or effect*
Defense - used to determine if a unit can defend or parry an attack*
Power - used to determine magical potency
Range - units chosen action area of effect
Resistance - used to modify damage calculations vs the damage type
(*)
These stats are really preliminary right now, their names or effects may change greatly
That's all for now, hope to back soon with some new updates.
Edit: formatting, also, not sure why embedding images from imgur doesn't work...