Exploring the AI: Lots of questions.

Discussion in 'Work-In-Progress Mods' started by bsergent, January 7, 2015.

  1. bsergent

    bsergent Active Member

    Messages:
    236
    Likes Received:
    73
    So I've recently gotten into the most basic level of modding accessible to my mind, and while playing with a subcommander consistently on top of being a long time FAF/Supcom/RTS player I've long seen hilarious AI behavior.

    For example: Massive air buildup on an empty planet, and two AIs sharing a tiny navy puddle.
    http://steamcommunity.com/app/233250/discussions/0/627456487107649289/

    I figured I'd look into modding an AI myself, so I asked a genius, and he pointed me to the wiki and pointed out an existing mod I could look at to see how things are done.

    http://pawiki.net/wiki/AI_(Modding)

    The base pa/AI folder has 27 files in it.

    I would like to take an entirely different approach but first I need to eliminate variables.

    I want to play to an AI's strengths, not emulate a human player.

    So my first question is, how basic can I make the AI file structure without making it catatonic?

    I would like to make the AI behavior far more stochastic, more singular of goal and phase, less reliant on specific technologies and techniques.

    I have no idea how to implement this via modding or even if it's possible which is why I'm making this thread.

    I have tiers of questions. Like at the modding level, can I edit just the AI of my ally subcommanders?

    The AI should in my opinion only have two functions, building and using. Very heavily dependent on somewhat blind trial and error.

    The building phase needs to based only on what options are available, how many units of each type are in play, and whether or not a resource is depleted.

    The using phase needs to be composed of player style command equivalents aimed either at whole planets or the enemy commander, no tactical middle ground. AI factories for example should be placed on infinite loops set to patrol/attack the entire surface of the planet.

    I imagine it would go a bit like this: (with caveats of course based on land obstacles and the like.)

    AI commander lands >
    Creates shopping list of all possible build options randomly ordered > (this will be used in a moment)

    Step one is an economy check >
    If low on metal build a mex, if low on power build a plant >

    Having full energy/mass, it does a factory check. If that count is zero. It attempts to build a factory. Which factory it builds would be chosen randomly and placed randomly within the build radius until it succeeds in building one. >

    When economy check says energy and metal are full and factory check says at least 1, choose a random item from the shopping list >

    Do an existing unit count on that chosen something >
    If limit is reached, choose again placing item on the bottom of the list >
    If limit is not reached attempt to place within build range >

    If it can't build for whatever reason it should move one build range in a random direction and goto the economy check step and start over. > |

    In this way it would cycle through its options randomly and end up with at least one of everything it can build before it could be deadlocked.

    Basically the AI needs to act randomly based on what it can do and how things are at the moment and almost nothing else. It doesn't need a brain is needs mutations and swarm logic.

    It will waste resources but eventually it will have at least one of everything it can build and it will pretty much never be deadlocked.

    Instead of building hundreds of air units on an empty planet it would be building stuff it doesn't already have.

    AI should should be like grey goo, not a simulated human :)

    Would it be possible to reduce the AI to a single file? Is any of this doable?

Share This Page