Some will remember an awful long time back when I was talking about automatic save/load support. Well, this weekend I finally sorted out the last few real issues remaining with it, and got it all saving and loading (previously, it was only saving, and with caveats). I still have some thoughts about how to further improve it, but those are just minor niceties; all the heavy lifting has been done, and it’s being used for several in-game functions already, even outside of “saved games” support. For those of a technical bent, the system is now acting as a serialiser, as a factory, and as reflection.
Also this weekend (as I discussed a few days ago), I’ve begun the conversion from “Script Buttons” to “Power Buttons”, where buttons are bound to powers, and powers can do things. This gives a lot more power than buttons which simply send script messages when clicked; for example, in the bottom action bar in the screenshot here, the “Terrain” button remains hilited as long as the TerrainEdit action bar on the left is visible. If you click “Terrain” a second time, it’ll hide the left action bar again, and unhilite. Similarly, if you otherwise cause that left action bar to become hidden (say, by clicking either the “Shape” or “Color” buttons, each of which has its own left action bar), then the “Terrain” button will also automatically unhilite. I have not yet converted the functions which change the cursor’s behaviour or combat attacks to this new system, but those will be coming soon!
Anyhow. Powers have the ability to be active (that is, hilighted), enabled, disabled, or “recharging”; recharging will be very important for MMO-style combat, where abilities usually have cooldowns after each use. It’ll be less useful for more Tycoon-style activities, where you can build things just as fast as you want, as long as you have the cash to do so.