Suggestions on building an AI?

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • YTAIGamer
    New Member
    • Sep 2022
    • 1

    Suggestions on building an AI?

    I'm an experienced programmer, but new to AI. I'm trying to learn ML techniques by building a bot to play a video game. I'm documenting my process as I go.

    The game I'm focusing on 1st is TFT (TeamFightTacti cs) which is in the AutoBattler genre - Essentially, you try to build the strongest army, but there are millions of choices & pros/cons to each.
    My current plan is to use a NeuralNetwork (TensorFlow.Net ) to learn the complexities of which armies are strong/weak against each other. I'm planning to hard-code the obvious rules/strategies to the game to make it easier on the NN.
    One of my big fears is the difficulty in gathering a large dataset of training data, so any advice on workarounds for that would be great. I'm thinking maybe split the game up into different types of decisions & use a different ML technique specifically targeted for each one. Hopefully that creates smaller NNs that can learn patterns easier with less data.

    Any advice on topics I should research?

    Thanks!


  • BloomS
    New Member
    • Jan 2023
    • 8

    #2
    Some topics to research include reinforcement learning, evolutionary algorithms, game theory, and decision theory. Additionally, research on different types of neural networks and how they can be applied to AI-powered video games would be beneficial. You should also research the different types of datasets and methods of collecting data that can be used for training neural networks.
    Finally, look into ways to optimize and optimize the performance of your neural network.

    Comment

    • vipulguptaseo
      New Member
      • Feb 2023
      • 22

      #3
      It's great to hear that you're diving into machine learning and AI to build a bot for playing TFT! It sounds like you're on the right track with your approach. Here are some suggestions and topics you might want to consider as you progress:

      Data Gathering and Augmentation:
      You're right that gathering a large dataset can be challenging, especially for games like TFT. One approach is to create your own dataset through simulations or by playing the game yourself. Data augmentation techniques can help you artificially increase the size of your dataset by introducing variations to existing data, which can improve the generalization of your model.

      Feature Engineering:
      Preprocessing and feature engineering are crucial steps. In your case, you might need to define and extract relevant features from the game state, such as unit compositions, levels, items, health, and position. These features will be inputs to your neural network.

      Multi-Agent Reinforcement Learning:
      Auto-battlers like TFT involve multiple agents (players) interacting with each other. You might want to explore reinforcement learning approaches where your bot learns to make decisions by interacting with an environment (the game) to maximize certain rewards. Techniques like Q-learning, Deep Q-Networks (DQN), and Proximal Policy Optimization (PPO) could be relevant.

      Transfer Learning:
      Since you mentioned different types of decisions, consider using transfer learning. Train different smaller models for specific decision types and then fine-tune them on the broader context. This can potentially save training time and improve performance.

      Imitation Learning:
      Another strategy is to train your models using imitation learning, where you provide examples of expert gameplay to guide your model's decision-making. This can help kickstart the learning process, especially when gathering a large dataset is difficult.

      Explainability and Interpretabilit y:
      As your models become more complex, it's important to understand how they make decisions. Techniques like LIME (Local Interpretable Model-Agnostic Explanations) or SHAP (SHapley Additive exPlanations) can help you understand the importance of different features for your model's decisions.

      Model Evaluation and Fine-tuning:
      Regularly evaluate your models using appropriate metrics. Depending on your bot's goal, this could be winning rate, average placement, or some other metric. Fine-tune your model based on the evaluation results.

      Hyperparameter Optimization:
      Experiment with different neural network architectures and hyperparameters to find the best combination for your problem. Techniques like grid search or random search can help in this process.

      Community and Open Source:
      TFT has a community of players, and some may have explored AI bots before. Look into open-source projects or discussions that might offer insights or code snippets to accelerate your progress.

      Ethical Considerations:
      As your bot gets more capable, consider the ethical implications of using it, especially in a competitive multiplayer environment. Ensuring fairness, transparency, and good sportsmanship is essential.

      Remember, building a game-playing bot is a challenging but rewarding task. It's a journey of experimentation , iteration, and continuous learning. Best of luck, and enjoy the process of building your TFT bot!

      Comment

      Working...