I am currently dabbling with some ideas for a new game and would like some feedback.
This is my first multi-player game. At this stage, I envisage four player characters. Let’s call them A, B, C and D. You start the game as A and must gather players B, C and D to join your team. You can GET <character>
to join the team and DROP <character>
to have them leave the team. When you move around, any players in the team automatically follow you.
You can order the other players to do things. For example:
B, GET LANTERN
B, GIVE LANTERN TO C
C, DROP LANTERN
- and so on
You can CHANGE TO <character>
or BECOME <character>
at any time to become one of the other characters. Here’s where things start to become awkward. If you start the game as A and get B, C and D to follow you, what happens when you change to B? Do A, C and D then start following you or do they get left behind unless you re-gather them?
There are two possibilities here:
-
When the player gets a character, that character joins the team and the team stays together unless the current player explicitly drops a character from the team or the player leaves the team (effectively dropping everyone in the team, but the others in the team presumably stay together). In some cases, the player will need to leave the team automatically. For example, if the player climbs up a tree, the other characters are left behind on the ground. When the player climbs back down the tree, it would be nice for them to automatically regroup as a team. (This approach would require a Boolean to indicate whether or not a character is in the team.)
-
When the player gets a character to join the team, that character follows the player, not the whole team. In this way, if A gets B, C and D, then B, C and D are following A. If you change to B and B walks off, then A, C and D are left behind, as they aren’t following B. This can also get a bit messy. If B gets C, then you now have two teams consisting of A and D, and B and C, although this may be exactly what you want. (This approach would require a property to indicate which character each character is following.)
Maybe I need a combination of the two approaches.
Each character has their own strengths and weaknesses, so you may need to become a particular character to solve a particular puzzle. There are situations where the team needs to be split up. The first is where a character has to solve a puzzle by themselves in a location that the others can’t get to (such as the tree example above). The other is where a puzzle needs to be solved cooperatively with two characters in different locations.
I want to make the game as simple to play as possible, but I’m struggling with the best way to automatically manage the team. Are there any suggestions or any examples of other games where this has been done?