HomeWildfire Games

Implement Single-Player campaigns - Barebones tutorial campaign included.

Description

Implement Single-Player campaigns - Barebones tutorial campaign included.

This implements necessary tooling to create a simple SP campaign.
The architecture is intended to be easily extensible in the future.

'Campaign Run' contains the metadata of a campaign, e.g. maps played/won. It's saved in the user folder under saves/campaigns/*.0adcampaign
Campaign templates are JSON files in campaigns/

Campaigns can specify which Menu interface they will use. This is intended to allow more complex layouts/presentation.
For now, a simple list interface is provided. This allows making campaigns without any fancy art required (and effectively mimics AoE1's campaign interface).

The behaviour on game end is also intended to be extensible, supporting things such as carrying over units between scenarios - for now, it simply records won games.

GameSetup is not available for now - scenarios are triggered with the settings defined in the map/default settings. Improving on this requires refactoring the gamesetup further.

The load/save game page has been extended slightly to support showing/hiding campaign games (campaign gamed are saved under saves/ directly, there is no strong motivation to do otherwise at this point)

Closes #4387

Differential Revision: https://code.wildfiregames.com/D11

Event Timeline

Nescio added a subscriber: Nescio.Mar 2 2021, 9:28 PM

Why is “Continue Campaign” listed twice?


Also, should the “Tutorial” be removed from “Learn to Play”?

Why is “Continue Campaign” listed twice?

Freagarach (IIRC) requested it in the 'root' menu as it would be an option people would often choose.
I personally felt it weird to not repeat it alongside the other campaign options.

If people generally seem to disagree with me, it can certainly be changed.

Also, should the “Tutorial” be removed from “Learn to Play”?

Hm, I would say not right now, but we probably want to consider starting the tutorial campaign instead.

Hm, I would say not right now, but we probably want to consider starting the tutorial campaign instead.

Yeah, that sounds good.