top of page

Game mode: Modified Plunder of COD Warzone

Player-facing perspective description

This gameplay system is a game mode system, which is a modified design version of the Plunder mode from Call of Duty: Warzone.

If you’ve played WZ's Plunder mode before, this game mode is quite straightforward to understand. It turns Plunder into a PvPvE experience. The source of cash is no longer pick-ups on the map but comes from killing NPC enemies.

If you're not familiar with WZ's Plunder mode, here’s a brief introduction:
Players from multiple teams compete on a large map. The goal is to collect cash by eliminating NPC enemies and loot cash drops, and then players can turn the cash they have into their team score by calling extraction at extraction points on the map.The team reaches the maximum score or with the highest score when the match time runs out wins. Players from different teams can attack each other, and when a player is fragged, any unextracted cash they carry will drop. Players have unlimited respawns and redeployments.

Pseudo Code (C++ Style)
​Github Link: 
https://github.com/WatchPigs/ModifiedPlunder

Brief module description

PlunderGameMode
Core mechanics of the game mode, handling team and player scores, game progress, frags, player redeployment, and communicating with the match maker.

MatchMaker
It provides match start information and receiving match end information. It's a singleton and has the same lifecycle as the game instance, and can serve as an intermediate layer for communicating with systems outside of the match session or even the game instance, such as player databases.

PlunderMatchConfig
A struct, containing information related to match rules and map objects.

CombatInfo
A strcut with player combat infos (kills, cash and score).

MatchEndInfo
A struct with match result for the match maker.

Player
Player class with gameplay attributes, and key actions like extracting and looting cash, getting fragged and dying.

NPCEnemy
NPC enemy class with gameplay attributes, including cash on it, and key actions like getting fragged and dying.

CashDrop
Cash drop object, with key attributes like amount, for being spawned on NPC / player died and being looted.

ExtractionPoint
Interactive object, for players to extract cash and turn it into score, it needs to be activated before it can be used.

Deployer
Object for player spawn and respawn, like parachute from aircrafts.

FraggerType
Enumeration, can be player or environment

Time
The data type that represents time. It's provided by common game engines.

Timer
For countdown, and scheduling an action to be performed after a delay.

Transform
Transform component in common engines.

Core scripts structure

UML Class Diagram:

©2021 by Yexiang Zhou.

bottom of page