Monday 28 January 2013

Feature Complete! Gameplay Finalized! No, Really.

Feature Complete! Completely Featured! Gameplay is all done and working as desired! Artwork is still somewhat a Work In Progress - but one thing at a time.

 After finalizing all of the gameplay script and code for the "Main Campaign" we actually have a fully working game.

The world generates randomly, the player and 5 Ai nations enter the game at equal distances around the edge of the game world, and promptly proceed to conquer it, tangling with the occaisional pirate stronghold and of course each other.

So here's a quick - and considerably edited - gameplay video of it all in action. It's early in the campaign so all factions are using poorly trained conscripts. We start off with the player already in "Tactical Battle" mode against the pirate enemy. It's a mountainous environment - but I only have one map at the moment so it's temperate terrain as a placeholder but it is using the weather and modifiers for the correct environment so it's snowing and everyone has a -10 actions modifier for not having warm armour on.

After a cunning victory - helped by superior numbers and low quality opposition - it's time to permenantly recruit some upgraded conscript survivors to the force of "core veteran troops" who are now giving a promotion and a class type based on whatever their personal attributes mark them as best at. Then back to the "Strategic Overview" mode where our dirigible full of brave chaps occupies the area we just won in "Tactical Battle" mode.

The Ai factions play out their own turns, distant from player so no view of what they're all doing and then the next turn starts afresh. I upgrade my "Grenadier" class by buying the blue prints for rocket grenades.

Next up we move tour lone dirigible into place for another assault against a pirate occupied territory. It's mountainous terrain once again, with the cold weather modifier but this time it's just cloudy and not stormy see we can see a bit further and both my troops and the Ai will have opportunities for "passive fire" during each others movement phase.

This time it's a defensive battle as I have to prevent the enemy from capturing my flag. The Ai chooses their tactics based on their own available troops and the terrain and weather conditions with a randomizer. They choose a full frontal assault which turns out to be a bit hasty as my superior force - in both numbers, weapons and veterans - hammers the tightly packed enemy advance with bullets and our newly aquired rocket grenades.

And then recruit more promoted recruits to my ever growning veteran force before getting back to capture the territory with the old dirigible in the "Strategic Overview" mode. And so it shall continue ...

That's the upshot of the 15 minute and 1 second video below.





I've thoroughly tested all the later parts of the campaign, fixed numerous bugs ... mostly caused by the fatigue of crunch, silly typos and the sort brought on by tiredness ... and am now satisfied that we are feature complete on the actual gameplay.

Obviously there's plenty of tweaks and tiny improvements available behind the scenes, you could fiddle incessantly for the rest of the century with these sorts of things, but it all works as desired.

Next up isn't a move into finalizing all of the art assets yet though. It's porting it over to the brand spanking new Native Script Massive Improvement Branch at https://github.com/GarageGames/Torque3D/tree/consolefuncrefactor that was designed by James Urquhart and embedded into a branch of the brand-spanking new "Torque3D MIT 2.0" by Dave Wyand. This should give the branch a damn good testing, and probably me too as I've been using 1.1F and not taken particularly much notice of the MIT code as of yet.

Extra info on that branch here and in this previous blog here.

Hopefully that'll all go vaguely smoothly.

After which it's back to art asset creation and to replace all of my placeholders with some finalized models and textures before thinking about a demo release hopefully towards the end of February.