Now that I have the high-level structure for the game implemented, it is very easy for me to add the additional ‘modes’ and screens that the player will go through in the game. Case in point — Weapon Customization. Technically it’s not appearing where I want it to yet, but the nice part is that I can just add it as a mission in the campaign, wherever I want it to appear, and the game will automatically load & execute the mission — almost as a self-contained module of sorts. This lets me bundle together pieces of functionality (for example, the customization system) and then re-use them as necessary by essentially triggering them as mini-missions that the player has to complete in order to continue.
Mission in this context is more a self-contained module that gets executed — missions can load custom worlds (or not), execute custom scripts ( like the customization system) or not, launch cinematics (or not) and all kinds of fun stuff. In this manner, everything from the Base management system, to the character customization, to the individual ‘real gameplay’ segments (ie the deployment of soldiers into the field) can all be managed the exact same way without needing a billino special case flags and scenarios that need to be taken into account.
Not only that but it also implements the full User Profile system that GameCore supports as well as SaveGames, so as I flesh this out further, all I need to do is set a few variables, call ‘save game’ and the results of that particular module (whether it’s a weapon customization screen, base management or actual ‘Mission Profile’ against the badguys) are accessible from the rest of the game.
Modular design == good.
Related posts: