Mission Prepossible

Having put my rendering engineers hat to one side, I picked up the gameplay programmers hat and made some tweaks to the Combat Escalation scenario, improving things here and there, adding ‘variation’ into the vessel configurations (finally) so fighters, cruisers and destroyers have appropriate power, weapon and shield systems increasing their challenge. Right now, it’s bloomin’ hard to survive long in this scenario 🙂

I’m happy I’ve taken it as far as possible for now – further improvements will need the data-driven system putting in allowing a better range of configurations for vessels, before I can make more meaningful revisions and changes.

I sat back and took stock of the current state of the game overall, and found that there was nothing driving the next development effort. I then realised my lack of objective was largely due to the lack of any objectives in the game. It was finally time to put some in, in the form of missions…

Now, missions in Dominium will be complex, and far reaching, with potentially far reaching consequences for success or failure, not your run of the mill ‘go to X, shoot Y, collect money, pick next mission’.

However, to get to the desired complexity, I have to start somewhere. So the first pass at a mission structure will indeed be ‘go to X, shoot Y, collect money’. The system will evolve from there, and teach me many valuable lessons and pitfalls with crafting such a system, because – apart from AI, which I’ve now tackled satisfactorily – mission systems are one of the few remaining aspects of game development I have never tackled before.

Pass one is a straight Mission/Stage/Goal structure. A mission can have many stages, and a stage can have many goals. Some of the goals are required, some are optional. Complete all required goals, and the stage is complete, moving onto the next stage. Complete all stages, and the mission is complete, hurrah!

Sounds simple?

Well it ain’t 🙂

The key problem with ‘missions’ or any open form structured objective, is determining success or failure. Success can be quite straightforward, ‘destroy A’ – when A is destroyed, mission success! But, how to determine failure… what if another NPC destroys A? Is that success? No, it’s failure. What if one of your wingman destroys A? Is that success? Yes, perhaps. What if A destroys itself by ramming something? What if A escapes you, can you chase it across the galaxy? How long for? What if you lose track of it entirely? At what point does the mission fail?

Often short time limits are set on the mission, or (even worse, if A escapes the scene, mission fail – to me, that’s even more annoying than a time limit). Often the time limits are annoyingly short, leaving no scope for error or correction of the error (like going to the wrong system!). For Dominium, if A escapes you, you have the facilities to track it and hunt it down, even across the galaxy if you so choose. Yes, perhaps a time limit is necessary (eventually) to expire the mission – but what if you can assure your client you are still on the case, and get more time? Why should your reputation be harmed by a mission which failed because a ship jumped away while you were taking out one of it’s fighters?

This is a small example of the ‘living universe’ I want to portray in Dom. Stuff isn’t just set up ‘for the immediate scene’ as a mini-level. Things of interest will persist, actions have consequences, truly. Destroy A, and you may find two weeks later, one of A’s friends comes knocking on your door with a few missiles…