473,288 Members | 1,726 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,288 software developers and data experts.

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 (TeamFightTactics) 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!

https://www.youtube.com/watch?v=1gSMtfPpJC0

Oct 4 '22 #1
2 19930
BloomS
8 Nibble
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.
Jan 3 '23 #2
vipulguptaseo
22 16bit
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 Interpretability:
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!
Aug 29 '23 #3

Sign in to post your reply or Sign up for a free account.

Similar topics

7
by: Carl Waldbieser | last post by:
I tried to adapt the instructions for building the M2Crypto module (http://sandbox.rulemaker.net/ngps/m2/INSTALL.html) to build a version compatible with Python2.3, but I've had some mixed results....
1
by: Catherine Lynn Smith | last post by:
OK, I am looking for advice or tips and suggestions. I have overcome a lot of the obstructions I had to building the page design my customer was asking for. I am looking now at ways to deliver...
0
by: Vani | last post by:
Has anyone come across this issue? There seems to be a behavioral difference (and possible bug) in visual strudio 2003 when building a vc.net solution through IDE and building the same solution...
17
by: Nick | last post by:
I am doing some research into building web applications using Object Oriented techniques. I have found the excellent patterns section on the MSDN site, but other than that I cannot find any good,...
7
by: Hal Vaughan | last post by:
I have a problem with port forwarding and I have been working on it for over 2 weeks with no luck. I have found C programs that almost work and Java programs that almost work, but nothing that...
3
by: wsox66 | last post by:
I am new to Access and need some help building a report. I have looked through previous posts on reports but none of them seem to answer my question completely. I am using Access 2003 and I have...
3
by: John Murtari | last post by:
Folks, Trying to build php 4.4.6 and apache 1.3.37 on RHEL 4. Each of them builds and installs okay, but when we start apache we get: Syntax error on line 238 of...
13
by: treble54 | last post by:
I need to build PHP from source with the pdo_ibm extension and I am having an issue with it. Firstly, I am using Visual Studio .NET 2003 and I am building PHP from source through the Visual Studio...
12
by: Ludwig | last post by:
Hi all, we are building our own class library framework, with stuff in it that can be used in various projects at various clients. Initially we had 4 assemblies with everything in it. Of...
4
by: =?Utf-8?B?c2lwcHl1Y29ubg==?= | last post by:
Hi I am familiar with unit testing but have to implement in a large solution of 100 projects - my concern is Adding Unit test will bloat the solution - taking more time to get all code from...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 7 Feb 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:30 (7.30PM). In this month's session, the creator of the excellent VBE...
0
by: DolphinDB | last post by:
The formulas of 101 quantitative trading alphas used by WorldQuant were presented in the paper 101 Formulaic Alphas. However, some formulas are complex, leading to challenges in calculation. Take...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: Aftab Ahmad | last post by:
Hello Experts! I have written a code in MS Access for a cmd called "WhatsApp Message" to open WhatsApp using that very code but the problem is that it gives a popup message everytime I clicked on...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.