OpenRA / OpenRA/OpenRA

Feature Request: Investigate hierarchical AI architecture to improve RTS AI scalability and decision making

Open
#22,545 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

AI Idea/Wishlist
Dominant language
C#
Stars
17.4k
Forks
3k
Avg merge
1d 12h
Merged PRs (30d)
14

Description

Hello,

I would like to propose investigating a hierarchical AI architecture for OpenRA's AI system.

The motivation comes from several common challenges in RTS AI architectures:

  • As the number of units increases, updating and evaluating every agent independently can become increasingly expensive.
  • Local unit-level decisions may not always maintain awareness of larger strategic goals.
  • As AI behavior becomes more complex, adding more behaviors and rules can make the system harder to maintain and extend.
  • Agents acting independently may repeat similar calculations instead of sharing higher-level context.

A possible approach to address these challenges is a hierarchical decision architecture.

I am developing an experimental architecture called HDDE (Hierarchical Deterministic Decision Engine):

https://github.com/Amlaach/HDDE-A-Zero-Allocation-Hierarchical-Utility-Architecture

The core idea is to separate AI responsibilities into layers:

  • Commander layer:
    Responsible for strategic goals, planning, coordination and global decisions.

  • Soldier layer:
    Responsible for local execution and immediate behaviors.

Additional concepts include:

  • Time-sliced decision processing.
  • Deterministic execution.
  • Zero-allocation runtime design for predictable performance.

The goal is not to replace OpenRA's existing AI system, but to explore whether a hierarchical architecture could complement the current design and help with scalability, maintainability and strategic decision making.

Possible integration paths could include:

  • A prototype AI module.
  • An optional alternative AI architecture.
  • Gradual integration of specific components where useful.

I would appreciate feedback from OpenRA developers and contributors:

  • Does this approach address real challenges in the current AI architecture?
  • Would such an architecture be compatible with OpenRA's existing design?
  • Are there areas where this approach could be useful?

If the idea is considered relevant, I would be interested in contributing a proof-of-concept implementation or working on a PR with guidance from the community.

Thank you.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no OpenRA files, tests, or entry points. Start by reviewing OpenRA's existing AI system alongside the linked HDDE architecture, then determine whether the project needs a prototype, an optional alternative, or selected components. Done would require developer feedback and an agreed proof-of-concept scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
ai, game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.