Adaptive AI Engine for RTS Games

Discussing the theory and practice

Archive for the ‘Meeting Minutes’ Category

11-10-2010 Meeting Minutes

Posted by Ogail on October 11, 2010

• What we’ve done?
• How we’ve do it?
• What you can do?
• What’s next?

What we’ve done

Developed an agent that’s capable of:
1. Learn from human demonstration.
2. Put a plan online and adapt it online.
3. Assets the current situation and react based on it.
4. Learning from its failure.
5. Encapsulate its learnt knowledge in a portable casebase.

How we’ve done it

1. Reading about general game AI:
a. AI Game Engine Programming.
b. Artificial intelligence for games.
c. Programming game AI by example.

2. Reading about latest research in RTS AI:
a. All papers reside in project repository in “Adaptation and Opponent Modeling” folder.

3. Reading about machine planning:
a. Machine planning papers resides in project repository under folder “CBR/CBP”.

4. Reading about machine learning:
a. Reinforcement Learning: An Introduction.

5. Understanding Stratagus code:
a. Open the code and enjoy.

Minimal requirement is:
1. Reading Santi’s papers.
2. Reading about machine learning.
3. Understanding Stratagus code.

What you can

1. Enhance current engine (60% Theory, 40% Code):
a. Human demonstration feature:
i. Adding parallel plan extraction.
ii. Adjusting attack learning method.
b. Planning feature:
i. Adding parallel plan execution.
c. Situation Assessment:
i. Converting it from static rules into generated decision trees.
d. Learning:
i. Needs intensive testing and tuning for parameters.
2. Modularize the engine (20% Theory, 80% Code):
a. Make the middle layer generic for any RTS games.
b. Let the configuration of middle layer scripted (or whatever but should be something external).
c. Modularize used algorithms. So we can use it any context suitable.
d. Develop the engine in API form.
3. Knowledge Visualize (N/A):
a. Develop tool to visualize agent’s knowledge, summarizes how it will react while playing in the game. This tool will let us investigate agent’s knowledge deeply.
4. Tactics Planning and Learning:
5. Propose other approaches for planning and learning.
6. Parallelized AI:
a. Some processing in the engine is done sequentially were it may be done in parallel. Using a distributed/parallel API (i.e. OpenCL) to parallelize the agent’s processing.

What’s next?
Tasks are divided as follows:
1. Muhamad Hesham will read about General Game AI.
2. Magdy Medhat will read about latest research in RTS Games AI.
3. Mohamed Abdelmonem will read about machine planning.
4. Islam Farid will read about machine learning (especially Reinforcement Learning).

Also we’ve agreed about the follows:
1. We’ll first enhance the engine (i.e. develop feature #1) while we are reading and building our knowledge.
2. Then, we’ll start developing the learning and planning in tactics level.

How we’ll enhance the engine developmed?
Every member of the team will be involved in the development of specific feature with either Abdelrahman or Omar. This will be done besides his readings. For now Magdy Medhat will in the first feature.

Final note, we’ll post tasks on the blog and you can track the results there.

Posted in Meeting Minutes | 1 Comment »

5-7-2010 Meeting Minutes

Posted by Ogail on July 6, 2010

  • Aim of meeting:
    • Starting to write a paper from the project.
  • Attendants:
    • Dr. Ibrahim Fathy.
    • Omar Enayet.
    • Abdelrahman Al-Ogail.
  • Below I’ll show the meeting processing.

Determination of first paper title

  • We’ve found 2 suitable names:
    • Intelligent agent model for online case-based planning.
    • Extending online case-based planning with reinforcement learning.


Structure of the Paper

  • Abstract.
  • Introduction (must contain a brief info about RTS games).
  • Related work:
    • Sant’s work.
    • Traditional planning work.
  • Architecture.
  • Agent Learning.
  • Case study.
  • Conclusion.

Abstract Content

  • RTS domain.
  • Online case-based planning problems
  • Effects of this problem.
  • Mentioning our contribution.

Alterations to Architecture

  • Separation is required between offline and online stages.
  • I-StrategizerToWargus module will be removed.
  • Expert interaction is added to the environment.
  • Game state will come from the world directly.
  • Wargus is referred as environment.
  • Replace are Cases phrase with Case phrase.
  • Replace Behavior phrase with Case Behavior phrase.
  • Reviser must have a separate accessing line to Casebase.
  • The arrows from expansion module to current plan should be: Goal, Expanded Plan.
  • The arrows from execution module to current plan should be: Plan Action, Action Feedback.
  • Plan object will is replaced with Current Plan.

Tips about writing the architecture section in the paper

  • Never copy from other papers; you must rephrase the words in your own way.
  • Emphasize on your work “Reviser” (why and what).
  • Add references as you can.
  • Try to rephrase paper’s diagrams.

Future Work

  • Constructing new plans online (i.e. it’s like learning from human demonstration but online).
  • Retaining failed plans to predict failure.
  • Revision maybe on:
    • Retrieved case only.
    • Current game history.
    • All previous games history.
  • Changing my goal according to the game situation.

Posted in Meeting Minutes | 2 Comments »

05-12-2009 Meeting Minutes

Posted by Ogail on December 6, 2009

  • Goal of meeting:
    • Discussing what we’ve done till now.
    • Introducing RL Platform.

  • Discussing what we’ve done till now:
    • Built a good knowledge about:
      • RTS Games architecture.
      • General game AI.
      • Latest advances in RTS Games AI.
      • Common used techniques in RTS Game AI.
      • Case-Based Reasoning.
      • Case-Based Planning.
      • Reinforcement Learning.
    • Also we’ve started to develop our own:
      • Case-Based Planner in RTS Games.
      • Heuristically accelerated Hierarchical RL in RTS Games

  • Find Heuristically accelerated Hierarchical RL in RTS Games Platform presentation in this link.
  • Drs said to us that we should concentrate on these issues next period:
    • We should determine time of finishing the platform design.
    • Draw architecture of Wargus and AI of it.
    • Find references for our work.

Posted in Meeting Minutes | Leave a Comment »

First Seminar Minutes

Posted by Ogail on November 16, 2009

The first presentation was so useful we’ve got many new points as:

  • Technical Issues:
    • How we’ll choose the criteria of determining that the AI-opponents now is able to adapt itself?
    • How we’ll handle processing issues (# of frames per second)?
  • Presentation Tips:
    • Presentation pictures should be easy to understood
    • Think about minimizing number of slides

Here are pictures we took with our supervisors

Picture # 1 


Picture # 3

Posted in Meeting Minutes | Leave a Comment »

7-11-2009 Meeting Minutes

Posted by Ogail on November 8, 2009


What we’ve learned:

  • Technical Info:

    • Which module has extracted the TRUE STATES from CURRENT SITUATION?
    • Now we know conflict resolution methods
    • When storing a plan in planbase we may annotate it by plan situation: repaired, modified, failed or succeeded
    • Importance of Cut Arrow in process diagram
    • Our first presentation should contain:
      • Problem Definition
      • Motivations
      • Requirements
      • Project Phases
      • Project General Architecture
  • Presentation Info:
    • Adjust colors of presentation according to background color

Posted in Meeting Minutes | 1 Comment »