Hi all,
I'm thinking about writing a program for use with playing ASL alone, to control enemy behavior, but one that can be used with any scenario available - so not a SASL replacement. I'm primarily designing this as a learning aid to myself so that I can hash out new rules sections alone and quickly, with possible unexpected behavior by the "AI". That's the key part. I can play against myself, but to have an "AI" take semi-control might be a nice feature.
Here's the basic idea that I have at this point:
The AI has an Agression Level (AL) at start, a number between 0-50. This number will start at 50 before the scenario is begun, but will be adjusted immediately depending on the scenario's parameters; will the AI be attacking or defending, is it a meeting engagement, is the AI expected to exit forces, etc. The AL will continue to adjust each turn depending on results from the previous turn. The lower the AL, the more passive the AI will be. For example (in extreme cases) an AL of zero (0) would result in the AI moving not at all or very little, seeking to gain concealment and not prep firing and only DF if fired upon first. A level of 100 would call for the AI to move in erratic ways in any attempt to reach a VL or to exit the board (as applicable). Even if it means FFMO/FFNAM in the LOS of you (it's enemy). It will also seek to HW (if applicable) and to advance into your location. These are the extreme values, everything in between would be included. Results would also randomly apply to the AI squads- you first input how many squads that he has and by unit ID a unit is determined to perform an action should a set of cases apply.
Some examples that I'm thinking would lower or raise the AL might be:
Lower AL:
- loss of squad, broken squad, loss of leader, pins, SW malfunction/destruction, ratio of KEU to AI units.
Raise AL:
- enemy KIA, MC, Pin results inflicted
- capture of VL (or proximity to a VL)
- advantage in KEU to AI units (per squad basis)
So, at the beginning of a turn, the adjusted AL will determine how to play the AI's units, on a per squad basis matched against a set of circumstances yet to be determined.
Now, perhaps I'm reinventing the wheel, if so, I'm sure someone will point me to something similar that already exists. SASL sounds great, but since I'm just getting back into ASL, I'm taking it a step at a time, so SASL is on hold for the moment.
Maybe this will work, maybe not, but any input, suggestions, criticism, etc welcomed!
I'm thinking about writing a program for use with playing ASL alone, to control enemy behavior, but one that can be used with any scenario available - so not a SASL replacement. I'm primarily designing this as a learning aid to myself so that I can hash out new rules sections alone and quickly, with possible unexpected behavior by the "AI". That's the key part. I can play against myself, but to have an "AI" take semi-control might be a nice feature.
Here's the basic idea that I have at this point:
The AI has an Agression Level (AL) at start, a number between 0-50. This number will start at 50 before the scenario is begun, but will be adjusted immediately depending on the scenario's parameters; will the AI be attacking or defending, is it a meeting engagement, is the AI expected to exit forces, etc. The AL will continue to adjust each turn depending on results from the previous turn. The lower the AL, the more passive the AI will be. For example (in extreme cases) an AL of zero (0) would result in the AI moving not at all or very little, seeking to gain concealment and not prep firing and only DF if fired upon first. A level of 100 would call for the AI to move in erratic ways in any attempt to reach a VL or to exit the board (as applicable). Even if it means FFMO/FFNAM in the LOS of you (it's enemy). It will also seek to HW (if applicable) and to advance into your location. These are the extreme values, everything in between would be included. Results would also randomly apply to the AI squads- you first input how many squads that he has and by unit ID a unit is determined to perform an action should a set of cases apply.
Some examples that I'm thinking would lower or raise the AL might be:
Lower AL:
- loss of squad, broken squad, loss of leader, pins, SW malfunction/destruction, ratio of KEU to AI units.
Raise AL:
- enemy KIA, MC, Pin results inflicted
- capture of VL (or proximity to a VL)
- advantage in KEU to AI units (per squad basis)
So, at the beginning of a turn, the adjusted AL will determine how to play the AI's units, on a per squad basis matched against a set of circumstances yet to be determined.
Now, perhaps I'm reinventing the wheel, if so, I'm sure someone will point me to something similar that already exists. SASL sounds great, but since I'm just getting back into ASL, I'm taking it a step at a time, so SASL is on hold for the moment.
Maybe this will work, maybe not, but any input, suggestions, criticism, etc welcomed!