2.º IAJ Project - Decision Making and MCTS 

The second project of the IAJ Course will consist on the work performed for Lecture 4, 5, 6, 7 plus a small number of extra requirements described in the guide. 

In order to implement the required versions of Monte Carlo Tree Search you will have to integrate the MCTS classes provided in the .zip file to your project.
Here are the instructions to do that, essentially it is quite similar to the GOAP decision making methods:  
  1. Add the MCTS folder to the DecisionMaking folder. 

  2. Add a variable to the Autonomous Character to check if the player wants the MCTS to be active

  3. Add a variable to store the instance of the MCTS (don't forget to add the
    "using Assets.Scripts.IAJ.Unity.DecisionMaking.MCTS" line ) 

  4. Initialize the variable created in 3) like the other Decision Making algorithms

  5. Once we are in the Update() method, every time the world changes or the time comes where it needs to be updated we also have to ask for a new decision. Thus we need to initialize the decision making search, like the GOB and the GOAP algorithms, you should do the same for MCTS.

  6. Just like the A* of the previous project the idea is to call the Run() method every frame. You need to create a method to be called each frame called: UpdateMCTS(). Take a look at the other UpdateGOB and UpdateGOAP methods and try to replicate them, this time, for MCTS. 

  7. Don't forget to add the method you created to the Autonomous Character update method, once again just like the GOB and GOAP methods. 

  8. That's it.