Project Summary: Duel Ball
To study and make a playable prototype that builds on combat fundamentals from World of Warcraft’s Arena system. The end goal is to have a unique take on an intimate style of player combat, while also focusing on the sense of tempo and skill-expression found in the average Arena match.
Game Rules:
Two players spawn in an arena divided into three quadrants. Each player gets ⅓ of the arena to themselves and will be immediately vaporized for crossing into the opposing player’s quadrant. The middle section is designated as “No Man’s Land” and both players can freely traverse the obstacles found there.
One ball will spawn at the center of No Man’s LandThe player who throws the ball and makes contact with the other player first wins the round.
Combat Pillars:
Strategy: A class system, cooldowns, and map-based power-ups all factor into providing agency and options for the player to explore.
Timing: Easy to throw the ball, harder to make contact. The game revolves around certain windows of opportunity, via skill cool-downs, in order to have the best chance at contact.
Skill-Expression: Any choice that the player makes, whether in character selection or in-game, should include some level of nonverbal communication of intent, strategy, or confidence to the opposing player.
Trading: Each action the player makes should involve some sort of exchange. An offensive ability met with an opposing defensive ability should create an equivalent exchange. An offensive ability adeptly dodged by the defender without a defensive cooldown being used would create value for the defender.
Map design: Currently Very rough
The map is broken up into 3 distinct zones, Red side (for the red player, Blue side (for the blue player), and No Man’s Land. Red side is hostile to Blue players, and Blue side is hostile to Red players. Both Red and Blue sides are completely barren. However, No Man’s Land provides obstacles for the players to use as parkour, cover, traversal or hiding opportunities.
When designing the map I keep these design elements in the forefront:
The player needs to be able to see the ball immediately on-spawn.
The map must be exactly mirrored on both sides as to not give an undeserved advantage to any player.
The 3 zones that make up the map should be distinct and provide advantages to the player.
I really liked the “Pokeball” zone layout as it provided an arena in the center for players to push into each other, but also allowed the Blue and Red zones to actually touch which could lead to some interesting gameplay interactions/strategies.
Breaking Down Combat:
Combat comes in three phases, “The Opener”, “Reset”, and “Go”, with the last two phases being cyclical. Here is a quick bubble map:
The flow of the round is unique to the player, and one player’s game state is inverse of the other. A defensive player can’t also be the offensive player and vice versa, this is because there is only one ball controlled by one party.
The Opener:
The players can either make the decision to push for the ball or place themselves in an advantageous position to receive the ball.
The Reset and The Go.
Once a player grabs the ball they are on the offensive. “The Go” is slang for “going for the kill”. Once you lose control of the ball you revert to The Reset, where the player ideally resets their position on the map and prepares to deal with the opposing player’s strategy.
Players move in and out of this phase dependant on whether or not they control the ball.
Class System:
Since World of Warcraft’s PvP system revolves around players stylistically locking themselves to classes with predetermined toolkits. However, despite these locked toolkits, each phase is still played out similarly. For example, a Holy Paladin is still playing the same “Opener” as a Subtlety Rogue, just with their own setup.
A similar idea follows with Duelball’s class system.
Each player will have a core set of abilities irresponsive to whatever class they choose:
Traversal/Parkour abilities
Block, Catch, and Boost abilities.
The fundamental concept behind classes is that while all classes play the same game, some classes play certain aspects of it better than others. Player's will use classes to stylistically augment their gameplan.
Class descriptions coming soon as I nail down mechanics that give a better overall identity rather than “This character shoots the ball faster and this character gets an extra Block”
DEV-Blog
March 2021
This month was spent designing, studying, and determining the general direction for the game.
Inside Unreal I also spent the month trying out different types of movement options for the PlayerController. I want there to be a traversal/parkour system because those provide “micro-options” for the player during combat. If you’re playing dodgeball in real life, aside from moving right or left to avoid being hit, you might slide, jump, or duck behind some sort of cover! Aside from being visually appealing, I want dodging the ball to be just as rewarding as firing the ball at another player. The gifs below just show me sort of noodling through some potential options.
I think this is a great starting point for actually throwing the ball. We basically on-click trace a ray, if it hits an interactable physics object we pick it up, clicking again sends it flying. I think this can easily be made multiplayer-ready. I will probably change the hold point to be above the player’s head so it visually frees up their body and we don’t have weird clipping issues with objects they may want to jump over with the parkour system.
We can also play around with the idea of creating some other neat additions to the game, such as messing around with time dilation for sweet slow-motion knockouts, or even taking inspiration from games like Overwatch and mimicking Tracer’s Recall.
Location-displacing abilities pose interesting design questions in that it would provide a sense of skill expression and unpredictability by the attacker and the defender. The more you pay attention to your positioning, and your past positioning, the greater you’re rewarded. However, rather than just mimicking Tracer, I want to play around with abilities that involve altering the offensive player’s thought process BEFORE they throw the ball. For example, spawning a clone of the defensive player, maybe being able to spawn your own creative terrain, or even shortly altering the size of the defensive player.