Tales of Maj'Eyal

Tales of Maj'Eyal

Player AI
Showing 1-9 of 9 entries
Update: 1 Mar, 2022 @ 1:30am

Credit to Doctus[github.com] and jnday[github.com] for contributing to and indirectly causing this release.

v.1.7.0 PATCH NOTES:

  • Added Rank Stop! Credit to jnday.
    • The AI can be configured to exit if it detects an enemy of certain rank or higher, e.g. bosses.
  • Fixed a typo preventing Hunt mode from working at all. Credit to Doctus.

Update: 12 Sep, 2020 @ 3:49am

v.1.6.2 PATCH NOTES:

  • Added configuration to disable the Hunt state, since it often is less smart than not having it. Default disabled.

Update: 28 Mar, 2019 @ 12:48am

v1.6.1 PATCH NOTES:

  • Added configuration for the AI runtime timeout. You can now adjust to match your patience with the AI getting stuck in loops.

Update: 8 Mar, 2019 @ 1:39pm

v1.6 PATCH NOTES:

  • Added framework support for configurations!
    • There is a new tab in the Game Options menu for "Player AI" settings.
    • Configurable percentage health thresholds for disabling the AI or fleeing in "hunt" state.
    • Configurable timeout on "hunt" state.
    • Just three settings for now, will definitely be more later.
  • Added a primitive "hunting" mode.
    • If out-of-combat and attacked by an enemy it cannot see (including when it is blinded; the AI is dumb), it will check if the enemy position is known and rush them.
    • If the attacker's position is unknown, the AI will randomwalk instead of standing still.
    • Configurable health threshold to instead avoid the engagement and lose its pursuers so it can rest safely.

Update: 16 Oct, 2015 @ 11:41am

v1.5.1 PATCH NOTES:

  • Replaced the cast tracking system with a fail catching system
    • Grayswandir pointed out that there is a function which tells me if a talent failed, so I now mark talents as failed if they fail, as opposed to the complicated stuff I'd been doing.
    • This mostly just makes my code look cleaner without effecting gameplay, although it removes some weird edge cases.

Update: 15 Oct, 2015 @ 1:33pm

v1.3 PATCH NOTES:
- The AI now responds to suffocation
- If air is less than 75, it seeks tiles with air
- If it can't see air and air is less than 75, it exits with a suffocation warning

v1.4 PATCH NOTES:
- AI will no longer attempt to cast 0% of a turn talents or talents that fail twice in a turn
- This fixes some infinite loops with talents like Cauterize Spirit with 0 cast time and 0 cooldown.
- Talents don't universally "fail" properly in the code, so Rush can still cause infinite loops in bad terrain
- Credit to steam user Elana for suggesting the change

v1.5 PATCH NOTES:
- Updated the cast tracking system to check the cooldowns and energy (time) cost of talents
- - If a talent with a cooldown fails to go on cooldown, it is assumed the talent cannot be used
- - If a talent with an energy cost fails to expend energy, it is assumed the talent cannot be used
- - If a talent has no cooldown and no energy cost, it is limited to a maximum number of uses per turn, currently 5
- Fixed a bug with "waiting" where the AI called the wrong function to wait and ended up hanging.

Update: 12 Oct, 2015 @ 11:59am

v1.2 PATCH NOTES:
- Complete backend rewrite of the action and decision code
- Addition of AI states so it stops trying to rest and autoexplore in combat
- Implemented Talents

CURRENT FEATURES:
- Rests!
- Autoexplores!
- Uses talents! (No exceptions yet for talents like Meditation or Phase Door to use them intelligently)
- Attacks enemies!

CURRENT BUGS:
- The AI assumes it is safe when attacked from unseen enemies, including when it is blinded in combat
- The AI sometimes suffocates itself
- The AI sometimes falls through to its "wait a turn" case when it doesn't seem necessary

Update: 25 Sep, 2015 @ 6:07pm

v1.1Patch:
- Improved message logging to always provide the reason the AI stopped. Except in the case where it somehow stops without going through the aiStop() function, which should be impossible but happens anyways.
- Most "hang" situations removed. This is where the AI stops acting, but resumes control next turn. There is also a situation where the AI can stop unexpectedly, for as-of-yet unknown reasons. These events seem to occur either when enemies appear in previously unseen tiles (like after opening a door) or when trying to path through a wall. Maybe.
- Added a 1000 turn execution limit in case the AI gets stuck.
- Prevented the AI from executing on the world map. Trust me, it's better this way.

Update: 23 Sep, 2015 @ 6:48pm