Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the castle reinforcement logic for AI (implement the long-standing TODO comment) #9283

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

oleg-derevenetz
Copy link
Collaborator

@oleg-derevenetz oleg-derevenetz commented Nov 18, 2024

  • The logic of castle reinforcement has been streamlined in the sense that just one AI-only method has been made instead of several different methods scattered across different classes (the same or better result is achieved in fewer actions);
  • AI is now able to hire non-upgraded units if it does not have enough money for upgraded ones, just like a human player is able to do this in fheroes2 (but not in the original game!) - for instance, if AI does not have enough gold or sulfur for a Black Dragon, it can hire a Red one;
  • AI now tries to make room for new units by upgrading and combining stacks of existing units (this logic was present before, but was more chaotic and irregular);
  • AI is now able to merge same units from garrison to the guest hero's army if necessary to make room for new units.

@oleg-derevenetz oleg-derevenetz added improvement New feature, request or improvement AI Artificial intelligence behaviour labels Nov 18, 2024
@oleg-derevenetz oleg-derevenetz added this to the 1.1.5 milestone Nov 18, 2024
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Clang-Tidy found issue(s) with the introduced code (1/1)

src/fheroes2/ai/ai_planner_castle.cpp Show resolved Hide resolved
src/fheroes2/ai/ai_planner_castle.cpp Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AI Artificial intelligence behaviour improvement New feature, request or improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant