Adaptive AI Engine for RTS Games

Discussing the theory and practice

Archive for the ‘Management Documents’ Category

Contains all posts related to project management and organization

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 »

Second Seminar Presentation

Posted by Ogail on March 25, 2010

Posted in Presentations | Leave a Comment »

Ideas for next seminar

Posted by Ogail on January 25, 2010

Hello all,

I’ve been thinking about what could talk in next seminar and I’ve got these ideas:

  • Fast introduction to our project.
  • What are techniques that we’ll use in the project:
    • Case-based planning.
    • Reinforcement Learning.
  • Why to use case-based planning?
  • Why to use reinforcement learning?
  • How we’ll test our project?
    • Based on Turing Test.

Posted in Meeting Agendas | 2 Comments »

Case Based Planner Platform For RTS Games

Posted by Ogail on December 6, 2009

Posted in CaS-RTS Platform, Presentations | Tagged: , , , , , , , | Leave a Comment »

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 »

Example of situation assessment for case retrieval

Posted by Ahmad Atta on December 3, 2009

Posted in Case-Based Planning, Presentations | Tagged: , , | Leave a Comment »

Presentation for Timeline Interactive

Posted by Ogail on November 27, 2009

In Thursday 26-11-2009 we’ve met with 2 of Timeline Interactive staff to introduce our project for them. We are planning to make them our project Sponsor. Below the presentation we presented there (this one differs from first seminar)

Posted in Presentations | 2 Comments »

Comments on First Seminar Presentation

Posted by Ogail on November 25, 2009

  • Don’t use over body language
  • Try to explain any topic in very brief way. Don’t explain a lot if the audience need more explanation they’ll ask you
  • Meet your audience needs
  • There should be a balance in the presentation topic time. That’s try to make every topic take a specific equal slice of time
  • In case of pictures existence in the presentation try to make it easy to understood
  • When Drs. Are asking you a question wait until they finish and then start talking
  • You are your team should agree on who will answer the questions.
    • A good way is to classify questions under their topic and each one of you is responsible for a topic
  • You should make a backup of the presentation: on mail, on flash memory, on 2 laptops and hardcopy
  • Always discriminate between challenges in problems in your project. Challenges are results of problems whereas the problems are the source of everything

Posted in Project Plan and Tasks | Leave a Comment »

Our First Seminar Presentation

Posted by Ogail on November 16, 2009

Posted in Presentations | Leave a Comment »