Adding New Content

Today for Rogue Champions I am focusing on adding content to the game. Since I started the project there have been many character and villain packs released, as well as The Rise of Red Skull expansion.

Because of that, there is a lot of content missing that I would like to add. In this post I'll give a little insight into how the content is added.

Adding Upgrades

Most of the upgrades in Rogue Champions have specific Setup instructions on them. These generally put a card into play for you. I wanted to use setup so that you don't have to check back on the app once you're playing. You just check all the setup instructions at game start, then play Marvel Champions normally.

From a coding point of view, all of the possible upgrades are in the const/upgrades.ts file. The upgrades have the following type
export interface Upgrade {
	name: string
	description: () => any
	level: number
	maxLevel?: number
	requires: null | string
	requiresHero?: string
	levelUpMessage: () => any
	category: UpgradeCategory
}

Each upgrade is an object that fits this definition. I have helper functions that help me generate specific types of upgrades, with specific progressions for when they are leveled up. For example an upgrade that puts a minion into play could start with the minion damaged, and further levels to that upgrade would reduce the starting damage. Here is an example of an upgrade being created:

export const CosmicFlight = generateUpgradeCard({
	name: 'Space Pilot',
	card: "Cosmic Flight",
	requires: CoreSet.name,
	requiresHero: CaptainMarvel.name,
	category: "Heroic",
	article: 'a',
	copies: 2
})

Heroic Upgrades

Each identity you can play as, such as She-Hulk or Ms. Marvel, should have its own set of upgrades. These upgrades use cards that are specific to that character. For adding content I want each hero to have 3-4 upgrades available to them.

Adding Villains

Villains are pretty easy to add, since Rogue Champions doesn't have any gameplay in it. All that is needed is a name, a difficulty score, its encounter set, and which expansion the villain comes in.

export const Klaw : Villain = {
	name: 'Klaw',
	key: 'klaw',
	difficulty: DF_BASE + DF_STEP_MED,
	sets: [EncounterSetsMap.Klaw.name]
}

The DF_BASE constant is a difficulty score that I set as a baseline for how difficult a villain is. I then use "steps" to increase its score. I will have to tweak these values later, but for now Klaw's difficulty is 20+5. Rhino's is 5.

Adding Encounter Sets

Encounter sets allow me to randomly generate missions with different difficulties by adding new encounter sets to the encounter deck. Each set increases the difficulty score. The Expert encounter set increases the difficulty by more than Under Attack does, because I think those cards are harder.

This was a short description of what I'll be adding, now it's time to go add content!

Comments

Popular posts from this blog

Solo Playtest for Rogue Champions - A Marvel Champions LCG Companion App