Campaign implementation for Single Player.
Provides a basic architecture for creating campaigns, loading them, and running them via scenarios that get enabled "façon Age of Empires 1".
These campaign scripts should be somewhat SP/MP agnostic, though they're using the SP gamesetup for now.
Structure
Campaign-specific GUI files reside in /gui/campaigns
Campaign templates in /campaigns
Some common files have been put in /gui/common/campaigns, to avoid /common becoming too large. These are included in the main menu and in session.
There is a custom session file in /gui/session/campaigns for convenience.
Side effects
- The load/save game page has been extended slightly to support showing/hiding campaign games.
- some tweaks in gamesetup, though nothing major.
TODOs:
Further work on the gamesetup is probably required. I would like campaigns to have their own subfolder in "maps", ideally, or perhaps in "campaigns/[yourcampaignname]"
Possibly for a V2 implementation:
- Letting campaigns also hook in the "loading" screen, to show videos or whatever.
- Letting campaigns freeze gamesetup settings and not others/implement a custom simplified gamesetting for campaign (difficulties...)
Many other things I'm probably forgetting now.
Screenshots (bear in mind, this is ugly & functional on purpose. I do think a v2 nicer version could be worked on after this is committed).
Also for reference the AoE 1 screen -> https://www.mobygames.com/images/shots/l/585805-age-of-empires-the-rise-of-rome-demo-version-windows-screenshot.png .