So I've dropped doing this post as another chapter of the Un-Published Game Designer blog, it's not really in the spirit of those posts, and truthfully I don't think yesterday's was either at the time of posting.
So anyway; in yesterday's post I wrote about picking a combat system and ended up writing myself into a knot as it became apparent that the combat system would be largely tied into who controls the NPCs (Characters not representing Players).
Now, First Law: Override is supposed to be a fully cooperative game. What that means is that every player is supposed to be part of the Player Group, and the models they kill are not controlled by a single player.
I have to be honest, I'm not all that familiar with how different games have achieved what is essentially removing the GM, and so this is a little new to me.
What I do know however is my goal is to create a team play game that is reminiscent of team based videogames; kind of like how CRYPTS was reminiscent of Diablo, I want this to remind players of games like Mass Effect.
Now as I mentioned yesterday, there is always a fall back, I can always say that the game requires a GM which will solve most of the issues, but that is only a last resort.
So in FL:O the NPCs perform actions based on Personality Actions.
Originally I was aiming for something that was complex but represented the human/animal capability for almost random choices and an element of basic psychology in there as well, but that ended up complex and complicated.
Now the system is much more simple, while still being kinda complicated in itself because of the nature of what we're talking about:
Basically every NPC will come with a behaviour chart specific to them.
Pha'Nur - Alien Beast
Detection: 360 degrees 18"
Alert: Will move towards target & attack with claws if possible.
Not Alert: Hybernate. Remain stationary.
Maintenance Man - Human
Detection: 90 degrees 12"
Alert: Will run directly to the nearest location that will put then out of line of sight with target. If this isn't possible move directly away from target.
Not Alert: Move up to half movement in a 4-Way Direction* where able. If there is terrain blocking their path and their movement range would allow then to walk around the terrain, do so otherwise cease movement.
*4-Way Direction - Roll 1d4:
1 = North
2 = East
3 = South
4 = West
Sentry Bot - Robot
Detection: 90 degrees 18", 360 degrees 6".
Alert: Attack target with primary weapon.
Not Alert: Turn Clockwise by 90 degrees.
Now; everything in this game has a Detection range and degree. Most will have a 90 degree arc of detection representing visual spacing, the distance of that arc will vary on the target. A janitor will have a low detection range while a soldier's will be much higher and a sniper will be unlimited.
Something performs it's actions based on whether it is Alert or Not Alert, which relates to whether there is an enemy model within it's detection range when it activates.
So an NPC would activate as so:
Status: Not Alert
Check Detection Radius
If enemy model within Detection Radius: Perform Alert Action
If no enemy model within Detection Radius: Perform Non-Alert Action.
Now this would be fine, there are many different ways you could play this, you could say that every player after finishing with their character has to activate an NPC, or perhaps you have a Player Turn and an NPC/AI Turn, maybe in the Player turn the sequence goes clockwise around the table, and once that is done the AI turn goes anti clockwise, and as long as the NPCs are either Not Alert, or are attacking other players it's fine, but what happens when an NPC is alerted by the same player controlling that NPC for that turn?
- This is less of an issue when the player is attacking an NPC, you can default to rules such as 'player to the left controls NPC'.
In this instance would control jump to the next person?
This is the dilemma I am faced with right now.
With my limited experience of coop games, everything I have read talks only about players interacting with NPCs or NPCs being controlled by players but in a competitive way; just look at the game ZOMBIES where each player controls 1d6 zombies to try and hurt the other player. It works in this game because there can only be one winner, but in a game like FL:O where you want to win as a group, I can foresee most players being unhappy about having to attack their team mates.
So how do other games do it?
If you can help me out here, let me know what other systems use and clue me in on how they get around it, that would be super helpful.
And on that note I leave you for now.
As you can see the AI system should account for most situations, but there are issues and if I can't overcome those issues, I might as well just have a GM.
- Your friendly neighbourhood Doctor Loxley