I've been thinking recently, it would be really neat if there were functionality in StarMade to define new AI factions like the Trading Guild and Pirates. I have devoted a good number of 'cycles' to this idea, so I apologize in advance for the text wall, and if anything here seems rushed or ill-explained. IF anything is unclear I can expound on the point more, I've just tried to jot this down here during lunch to see what people think.
I think extensible AI factions would be good for a number of reasons, but chiefly i think it would promote better immersion. With custom factions like this, players could build up their own universes, complete with competing factions. Maybe there are a few different competing trade organizations? Different groups of pirates fighting over territory? Maybe different races of aliens, or colonies that are competing for space and resources? The possibilities are endless. Obviously this is a lot of what the new faction point system is supposed to do for players and player factions, but I think the sort of flexibility this system brings should be extended to the AI factions too.
At first blush, this may seem like a primarily RP addition, but I don't think so. I think there's just as many possibilities to benefit normal play. For example. one day when quests/missions/tasks are added to the game as a way to earn FP, custom factions could play a large role in supplying missions and tasks, even playing off of other custom factions for tasks (one faction gives you the mission to capture and return a type of ship from another faction, destroy somebody's station, brine me some ores, etc etc). It may also help in building a bigger/wider economy for those who wish to have such a thing. There's a lot of flexibility here.
There would obviously need to be a few options available to customize how the factions interact with each other and the universe at large. For example:
Examples
The existing trading guild, using the above options, could be defined somewhat as follows:
For more control, you could also define things more specifically, for example:
Or, take this example (and let your imagination fill in the possibilities...):
Please feel free to comment on the idea, and let me know what you think. If anybody offers interesting suggestions that I think would fit well with the idea, I will try to edit them in here. I can also try to clarify if I've left anything out of this summary. Thanks for reading!
I think extensible AI factions would be good for a number of reasons, but chiefly i think it would promote better immersion. With custom factions like this, players could build up their own universes, complete with competing factions. Maybe there are a few different competing trade organizations? Different groups of pirates fighting over territory? Maybe different races of aliens, or colonies that are competing for space and resources? The possibilities are endless. Obviously this is a lot of what the new faction point system is supposed to do for players and player factions, but I think the sort of flexibility this system brings should be extended to the AI factions too.
At first blush, this may seem like a primarily RP addition, but I don't think so. I think there's just as many possibilities to benefit normal play. For example. one day when quests/missions/tasks are added to the game as a way to earn FP, custom factions could play a large role in supplying missions and tasks, even playing off of other custom factions for tasks (one faction gives you the mission to capture and return a type of ship from another faction, destroy somebody's station, brine me some ores, etc etc). It may also help in building a bigger/wider economy for those who wish to have such a thing. There's a lot of flexibility here.
There would obviously need to be a few options available to customize how the factions interact with each other and the universe at large. For example:
- Allow the AI factions to own territory, planets, etc... AI factions should be first class organizations, just like player factions. However, this should also be configurable, allowing the players/admins to decide if a particular faction can own planets, ships, stations, etc
- Allow configuring alliances, just as with player factions (including both relations with specific factions, and a default alignment)
- Allow configuring the faction's "random-ness" aka how frequently they appear in random planet/structure generation (0-100%). This would only affect assignment once the Starmade generator decided A) a ship, structure, etc needs to be spawned, and B) it needs to be spawned with an owner. Neutral stations and planets would definitely still be a huge thing, but maybe we could even have neutral (i.e. abandoned) ships floating out in space.
- Allow configuring a faction's "spread", or how likely it is to find elements of a particular faction near existing faction holdings (0-100%). Basically this would be something like "if I'm currently in a sector bordering a sector/system/etc controlled by this faction, how often would ships of this faction appear?". Note that this would not necessarily change how often ships appear, only how often that a 'random ship' would be of a particular faction.
- Allow configuring an aggression level for the faction AI (for example, a 0-100% rating). This rating would dictate how much it would take for a faction to become hostile against you (higher value means less to do, with 100% being basically you breathe the wrong way), and once hostile it could control such things as how long the ships chase you (higher=longer), how likely they are to run away (lower=more likely) etc.
Examples
The existing trading guild, using the above options, could be defined somewhat as follows:
- AI Faction (name: Trading Guild)
- Default alignment: Neutral (Aggression: 50%)
- Default Spread: (50%)
- Randomness: 50%
- Allowed to own: Ships, Stations
- Stations:
- <Default Shop>
- <contest stations>
- Ships:
- <Default Ships>
- Planets/Structures:
- None
- AI Faction (name: Pirates)
- Default alignment: Hostile (Aggression: 50%)
- Default Spread: (50%)
- Randomness: 50%
- Allowed to own: Ships, Stations
- Stations:
- <Default Shop>
- <contest stations>
- Ships:
- <Default Ships>
- Planets/Structures:
- None
For more control, you could also define things more specifically, for example:
- AI Faction (name: Competing Trading Guild)
- Default alignment: Neutral (Aggression: 40%)
- Default Spread: (70%) <they will usually show up further from their bases>
- Randomness: 30% <is less common than the default trading guild>
- Allowed to own: Ships, Stations
- Stations:
- <Default Shop>
- MyShopStation (spread: 0%) <spread here is meaningless because we can't own planets, but if we could, this would control how often one would encounter this station away from planets>
- Ships:
- <Default Ships>
- MyTradeGuildShuttle (spread: 0%) <aka, you will never find this too far away from a station>
- MyTradeGuildFighter (spread: 10%) <aka, you will very infrequently find this ship away from a station>
- MyTradeGuildEscort (spread: 50%) <you will frequently find this away from a station>
- MyTradeGuildFreighter (spread 80%) <you will often find this away from a station>
- Planets/Structures:
- None
Or, take this example (and let your imagination fill in the possibilities...):
- AI Faction (name: Giant Space-Wasps)
- Default alignment: Neutral (Aggression: 100%)
- Default Spread: (30%)
- Randomness: 5%
- Allowed to own: Ships, Stations, Planets
- Stations:
- WaspHiveStation (spread 25%)
- WaspHiveStation2 (spread 80%)
- Ships:
- GiantWaspQueen (spread 0%)
- GiantWaspDrone (spread 25%)
- GiantWaspSoldier (spread: 85%)
- GiantWaspQueen (spread 0%)
- Planets/Structures:
- HivePlanetBase? <not sure how this would work, but I guess there is some way to make it happen eventually...>
Please feel free to comment on the idea, and let me know what you think. If anybody offers interesting suggestions that I think would fit well with the idea, I will try to edit them in here. I can also try to clarify if I've left anything out of this summary. Thanks for reading!