I'm doing some fairly high concept contemplation on game AI. Anyone who's read my elevator pitch for Mutiny Mud may recall that I want to implement Dwarf Fortress meets Horatio Hornblower. (Cheat sheet: Dwarf Fortress is a cult/indie game involving semi-autonomous dwarf entities the player may coax into constructing a fortress. Dwarfs are notoriously complex personalities with likes/fears/hatreds/ and psychological vulnerabilities. Horatio Hornblower is a character from the historical Age of Sail naval combat literature.)
So what I'm hinting at is a game where players participate in the sailing of ships and the waging of naval warfare. Sometimes as rated crew other times as ships officers, and potentially as captain or even admiral. In very many cases the player will need to delegate orders in order achieve objectives. I'm writing this post to dump out my loftiest goals for game play unfettered by practical constraints.
Ideally I would like every character and role in the game to be equally playable. I gather that in MUSH world this is not a radical concept. Since I hear people talk about "puppetting" fairly indiscriminately. Coming from MUD land, however it sounds crazy. I'm used to MUDs with strict anti-multiplaying rules and a typical NPCs are either inviolate quest-givers and shop keepers (killing or manipulating them is tantamount to cheating) or mere fodder for farming up gold or levels (Kill the lonely shepherd, take his leather satchel, sell it, wait for him to respawn, kill again... ad nauseum.)
Ideally I would like a game where one could log in and choose to play a variety of roles on a given vessel from lowly powder monkey, to ships surgeon, to the captain. OOC rules might govern and constrain a players range of choices but in principle there would be no qualitative distinction between characters, whether being played by a human player or not. So this would lead me to the exciting dwarf fortress question: who decides what characters do when they aren't being "played"?
Does each character have a script object (or set of scripts) that take control when detached from a player setting out their daily routine, as well as their range or responses to orders or questions from other characters? Or do we invent AI "players" that log in and puppet the characters themselves? If so do the AI players have custom scripts that define them according to OOC human player-like agendas or are they programmed to be ardent roleplayers?
On a narrower topic I'm also considering the task of programming the interface for giving and receiving orders. I imagine that NPC crew hang about following their own agenda until another character (lets presume a player puppet for now) "speaks" in their vicinity. The NPC listens for a possible order. If they can detect some sort of instruction in the player's speech, the NPC will respond - possibly attempting to carry out the order.
This could and should potentially result in occasionally hilarious misunderstandings. However it would also be a goal to tweak the frequency of miscommunication to a playable/enjoyable level.
A much bigger challenge would be deciding how NPC's would choose to give orders themselves. I want to be able to play as an officer serving under an NPC captain by times. This means NPC captains would have to be artificially intelligent enough to give somewhat comprehesible (if not always reasonable) orders. The source material is rich in examples of cruel and arbitrary captains... Again, a certain level of insanity would constitute a feature not a bug. The working title of the game is "Mutiny" after all and the player could find themselves on either side of the insurrection.
A brief study of "Game AI" on Wikipedia reminds me that game AI is not, nor should it try to be "real" AI. That is, if the goal is a playable game, one should be very comfortable with cheating. Unlike the MIT project that tries to see if a computer can play Evennia demo, I hope to pre-program my AI players or characters to be reasonably successful on their own. So there are various levels of cheats and abstractions that might make sense. One idea for example might be to merge collections of AI characters into single entities whenever you can get away with it. Eg. while a ship with one ore more players on board might want individual character interaction ... it might be smart to treat enemy ships as a single entity which responds tactically to the players ship according to a ship level script. If the enemy captures the player, then it might need to spawn individual officers and crew for the player to interact with - but even they could be created on an as needed basis.
Well I'm out of time for this particular thought dumping session but I'll be back. I'll be thrilled if anyone felt inclined to jump into this thread and dump/brainstorm as well.
Cheers.