Advertisement

Balancing Playable Characters in A Co-Op/SIngle Player Game

Started by December 16, 2024 04:28 PM
3 comments, last by delihanson 4 days, 16 hours ago

So I making a co-op/single-player adventure game and am having a hard time figuring out how to balance the two characters you can play as. I have done some research on different co-op games or games that have multiple playable characters like It Takes Two, Assasin's Creed Unity, Baldur's Gate 3, Cult of the Lamb, and Spyro the Dragon. However, I am still having a hard time deciding on some things. Here are my two characters' abilities so far:

Benji (cat) - Run (normal), Jump/Double Jump, Laser Collar (ranged), Kitten Stare (temp shield, has a cooldown), Ultra Meow (ultimate, has a cooldown, deals damage to enemies and heals allies in a radius)

Mango (dog) - Run/Double Run or Dash, Jump (normal), Bite (melee)

I have some questions:

1. Do I have both playable characters on screen in single-player mode and you can go back and forth between them? Or do I completely switch out the characters when the player wants to/is allowed to?

2. If I go with having both characters on screen at the same time then does one do nothing while the other is being played or do I have the computer control the unplayed character?

3. Do I make Mango's last ability and her ultimate the same functionally as Benji's Kitten Stare and Ultra Meow or do I make it complement them? Which makes more sense for a game that can be played Co-Op or Single Player?

I don't want it to be turn-based like Baldur's Gate 3. I'd like to have both characters on screen at all times if possible but if that doesn't make sense then I won't do it.

Let me know if this isn't clear or anything but thank you in advance for any help you can give me!

  1. Make a decision grid of pros and cons for the two scenarios. At the top of the grid, label three columns “Decision factor,” “Both on screen,” and “Switch.” Down the Factor column, write a benefit of “Both on screen,” a reason FOR doing both on screen (say, for instance, “Neither dog lovers nor cat lovers feel left out during action”). Put a number one under “Both on screen.” Down one row on the left column, write a disadvantage of “Both on screen” (for instance, “harder to code,” or “adds time and complexity to the project”). Put a number one under Switch on that row. Keep on coming up with pros and cons, and putting ones in the boxes and see which of your options scores higher.
  2. I would think the inactive character should be animated, staying close to the action if the fighting moves, or close by the active character, for moral support - I don't favor having the now non-playable character taking part in whatever the playable one is doing, myself.
  3. I think it's unbalanced if Benji has an ultimate but Mango doesn't, especially in 2-player cooperative action. But yes, you do want the characters to have different/complementary abilities.

-- Tom Sloper -- sloperama.com

Advertisement

In addition to all of those considerations, if you allow a computer controlled AI to do things it enables the game to auto-test itself.

It's easier in a professional environment, but still possible for a hobby project. It can be extremely valuable if you pay that cost.

Once the ‘helper player' logic is in place, you can set all players to run as helpers. Assuming the AI logic is always working to progress the goals, opening their half of gates, standing in their part of the triggers, engaging in combat in a competent manner, and so on, the helper players should be able to play through basically the entire game, except perhaps certain gates that must be player driven. Auto-advancing UI and a few similar changes allow the AI to run from “press start” to defeating the final boss.

I've worked on a few titles over the years where we had machines simply self-playing the game, running day and night generating useful logs and catching crashes in the debugger. If you decide to do the work of implementing AI helper players, it can be quite valuable at revealing issues in the game.

Thank you so much for your contributions! This is definitely helpful information 🙂

Advertisement