Page 1 of 4

Posted: Fri Aug 20, 2010 9:07 pm
by AaronMoore
Hey guys,

This is a discussion about adding player AI to Allegiance, and the ability for that AI player to command the team.
Trac Ticket

I've been thinking about this for a long time, and I thought I should finally do something about it.
I think it will be a fun challenge to code, and offer real value to the game by letting normal size games continue even with the small number of players online on non-peak times. It will help games start quicker if only 1 commander can be found, and allow players to create a side game with more players easier. It will offer new challenges like: test your strategy/human team against a team full of AI players...

I'm not sure about not supporting AI vs AI commanders, I think it should be done to allow games when noone wants to command ;) , but I'm worried about never getting GC back from an AI player without a mutiny which is a problem if there are any abstaining AI Players on the team...

What do you think?
At this point I'm just investigating and thinking about he best way to design this.

Cheers,

Aaron



QUOTE =Intro=
Create an AI player that can be assigned to, or removed from, the team by the commander (either in the team lobby, or by a chat command in game "#addbot", "#removebot [AI]Player123")

This player should be able to pilot a ship intelligently, responding to orders (both direct, and chat messages in a standard format) and/or different game situations as they emerge.

This player should also have the ability to become the commander if it is designated by the human commander in game, or the human GC in the team lobby.
This player will never have GC, all AI players will drop from the game if there is no human GC.


=Commander Overview=
As a commander, it should manage miners/cons, build bases, research technology and communicate with the team intelligently.
eg. "I need 2 scouts and 5 ints to defend our Op con to Helios", "I need 1 scout to probe Helios", "I need 10 ints to defend our Garrison from Helios"
The commander will use players like a resource, maintaining a list of orders and number of players assigned to each. It should recognise when a player is in base for a longer time than needed and prompt an order. e.g. "BaseSitter?_A, please join the 3 people defending miners in Helios"
The commander should periodically check the relevance and importance of these orders, and if either change, inform the team. e.g. "Forget probing Helios, I need 4 people to escort our Exp con to Titty Baby"

As a commander, the AI will never boot a human pilot, but it may remove an AI player to leave to keep the teams even.


=Pliot Overview=
As a pilot, it should be able to do the following tasks:

deploy probes / gather intel debrobe / hunt scouts escort miner/con/player attack miner/con/player camp aleph secure sector (engage hostile ships) assault base
participate in dis/mini runs on light bases participate in galv runs on non-heavy bases participate in bomb runs on heavy bases participate in coordinated stealth bomb runspilot capital ship (relying on turrets - incl gunships)

The pilot will respond to direct commands, and it will respond to the commander messages intelligently. eg. Commander: "I need 1 scout to probe Helios", Pilot: "Roger ('rr)"
If the direct/chat command is no longer relevant (Defend .outpost123) it will wait in base until the commander gives a new order.

As a pilot, the AI will never mutiny, and will abstain from voting in resign or mutiny polls.[/quote]

Posted: Fri Aug 20, 2010 9:45 pm
by HSharp
sounds like a nice project, I'm interested in AI (did my dissertation on it) so sounds fun, if you can get the interface sorted I wouldn't mind helping out with the bots.

Posted: Fri Aug 20, 2010 9:58 pm
by DarkWhisper
I like this but my only concern is how good should the AI be at dogfighting?

Posted: Fri Aug 20, 2010 10:11 pm
by raumvogel
I've been whining for an autocomm for years. This will keep players, as the long time it takes to get two even comms causes players to leave the game.

Posted: Fri Aug 20, 2010 10:13 pm
by fuzzylunkin1
I was worried you wouldn't start a discussion topic about it :lol: .

Posted: Fri Aug 20, 2010 10:56 pm
by BackTrak
Great idea! I would think that an AI commander mode game that would have AI commanders on both sides would be a game creation option at the lobby level. Then you don't have to worry about the GC issues. You just set it all up from the lobby and let fly. I would think an AI command game type would be really beneficial, much more so than AI pilots.

Posted: Fri Aug 20, 2010 11:52 pm
by Makida
I dunno. It's hard to imagine this being... easy to implement... Also, Allegiance is a game founded on human interaction, both amongst players and between players and commanders. And human players (and miner drones!) still ignore human commanders half the time, how much attention would they pay to a robot comm? How could you make the commbot smart enough to understand if its orders are really being followed or not? What will it do if they're not (ALL_CAPS subroutine engaged)?

AI pilots are easier to imagine, but also seem to remove some of the charm from the game. Playing with and against human beings, no matter how voobish (e.g. me) is still more entertaining than playing with a bunch of drones. I'd rather be frustrated by a poorly-performing human team that I can actually talk to, than play with a bunch of bots, no matter how reliable...

Now, having an all-AI team vs. an all-human team, that might be fun, and having a commbot that can order bot pilots around, basically like an old-fashioned RTS AI directing its units, seems a bit more practical, too...

... Of course, they should always go Technoflux. :P

Posted: Fri Aug 20, 2010 11:53 pm
by Weylin
Just curious - How would players giving commands to the cons and miners be handled? How should the AI react? Should the AI only invest, and leave placement up to the players? Or should the AI initially set a course for a con, but allow it to be overridden?

Posted: Fri Aug 20, 2010 11:54 pm
by Makida
Weylin wrote:QUOTE (Weylin @ Aug 20 2010, 07:53 PM) Just curious - How would players giving commands to the cons and miners be handled? How should the AI react? Should the AI only invest, and leave placement up to the players? Or should the AI initially set a course for a con, but allow it to be overridden?
It should send a powerful electric shock through the offending player's keyboard.

Posted: Sat Aug 21, 2010 2:22 am
by BlackViper
Who said players would fly for the AI commanders? I think you need to take it a step further. Make the AI commanders AND pilots. Allow the lobby to view the game in progress. This way they can still NOAT camp and bitch about the game in progress. :innocent: