Realistic Battle Bots Aim Trainer
[About this workshop]
You can practice your aim against bots that simulate realistic battle on a real map.
You can freely set the number of enemy bots from 1 to 5 and the number of ally bots from 0 to 4.There are two battle methods (bot spawning):
Around: Enemies spawn randomly around the player. (This is the basic mode. Select “Specific” if needed.)
Specific: Bots spawn at positions pre-set by the player. (Recommended when you want to practice combat in specific location scenarios.)After selecting a hero, all perks are automatically released so that players can easily check the performance of their perks.
An automatic hero change function is implemented, so you can practice multiple heroes by switching to any hero at each battle.
[Specific specs]
- When player Ana hits an enemy bot with a sleep dart, the enemy bot is killed. (Enabled/Disabled can be toggled.)
- To improve play feel, if a player sleeps or freezes, the status is now deactivated after 1 second.
- PLAYER SETTINGS can now change the cooldown time of abilities. (immediately or per enemy killed).
--
I will continue to update this workshop to make it one of the best practice tools available.
--
[Old Codes (Ver 2.1.10)]
- Escort : 5FW2K
- Hybrid : BAY4F
- Control : GVGN8
- Push & Flashpoint : 4VFFS
[Main Settings]
| Item | Parameter | Description |
|---|---|---|
| Damage Rule | None | No conditions apply to damage dealt to bots. |
| Headshot | To damage and defeat the bot, a headshot is required. (Due to a workshop bug, Ana's headshot perk does not apply.) | |
| Unkillable | You will no longer be able to defeat bots. (This is primarily intended for practicing Winston's Primal Rage.) | |
| Bot Reaction | None | Even when the bot is near death, it takes no action. |
| Survival | When a bot is near death, it may use an ability to survive. | |
| +Avoid | The bot moves left and right to avoid incoming fire when taking damage. (Includes actions to survive) | |
| +All Abilities | Uses all abilities, including shield abilities. (Includes survival actions and avoidance actions) | |
| Bot Movement | Not moving | Enemy bots will stand completely still and do nothing. Also, when you deal damage to them, they teleport to a nearby location, making them ideal for simple aiming practice. |
| Normal | The bot moves as usual. | |
| +XX% Speed | The enemy bots' movement speed will increase. | |
| Ally Bot Count | 0-4 | Number of ally bots. |
| Enemy Bot Count | 1-5 | Number of enemy bots. (You can change the spawn role, maximum HP, and other settings in the advanced settings.) |
| Bot Spawn | Around | Enemy bots spawn randomly around the player. (Advanced settings allow you to configure spawn directions and toggle player positioning.) |
| Specific | Enemy bots spawn at pre-set locations. (You can configure settings such as the spawn area size and player positions from the advanced settings.) |
[Advanced Settings (Bot Spawn (Around))]
| Item | Parameter | Description |
|---|---|---|
| Position Change Type | Rotation | When multiple player positions are set, positions are selected in the order they were set when switching between them. |
| Random | When multiple player positions are set, a random position is selected when switching positions. | |
| Position Change Interval | Disable, 1-100 | When the player's position is set, specify the number of kills required to switch positions. |
| Current position | Not Set, 1-10 | When a player position is set, switching the set number will teleport them to the preset location. |
| Set player position | Execute | Move around the map to set the player's position. |
| Distance Between Teams | 5-50 | Set the distance between teams. |
| Maximum Bot Distance | By Hero, 1-50 | Set the maximum distance between the bot and the opponent. |
| Minimum Bot Distance | By Hero, 1-50 | Set the minimum distance between the bot and the opponent. |
| Bot Movement | Free, Team | Set the bot's movement type to either free or team-based. |
| Spawn Direction | Forward | Enemy bots spawn in front of the player. |
| All | Enemy bots spawn in all directions around the player. |
[Advanced Settings (Bot Spawn (Specific))]
| Item | Parameter | Description |
|---|---|---|
| Reset Target | Player | If a player position is set, holding down the reload button during combat will return the player to that position. |
| All Team | During battle, holding down the reload button will return bots and players to their starting positions. | |
| Bot Movement | Keep Position | After the bot spawns, it will move around near its spawn location. |
| Free | After the bot spawns, it moves freely. | |
| Player Spawn Position | Not Set, 1-15 | Once the player's position is set within the spawn pattern, switching the configuration number will teleport the player to a predefined location. |
| Current Spawn Pattern | Not Set, 1-10 | Multiple spawn location patterns can be configured, and switching the configuration number allows you to switch between the pre-set patterns. |
| Spawn Range | 1-10 m | Set the bot spawn range. If the range is 2 meters or more, the bot will spawn at a random location within that range. |
| Set Spawn Position | Execute | You will be taken to the screen for setting the spawn position. |
[Advanced Settings (Enemy Bot Count)]
| Item | Parameter | Description |
|---|---|---|
| Target Update Interval | Immediately, 0.5 - 3 | The frequency at which the bot updates its facing direction |
| Deal Damage | 0-100% | You can adjust the damage ratio dealt by enemy bots. |
| Attack | Enable/Disable | You can change whether enemy bots attack. |
| Required enemy list | Empty, | List of registered enemy bots that spawn. |
| Add Required Enemy | You can set the hero for enemy bots that you definitely want to spawn. | |
| Tank Max HP | 1-100% | You can change the maximum HP ratio of enemy bots (tanks). |
| Dmg/Sup Max HP | 1-100% | You can change the maximum HP ratio of enemy bots (Damage/Support). |
| Enemy Bot Role | Tank/Dmg/Sup, Dmg/Sup | You can specify the role of spawned enemy bots. |
[Advanced Settings (Ally Bot Count)]
| Item | Parameter | Description |
|---|---|---|
| Deal Damage | 0-100% | You can adjust the damage ratio dealt by ally bots. |
| Attack | Enable/Disable | You can change whether ally bots attack. |
[Automatic Hero Change]
| Item | Parameter | Description |
|---|---|---|
| Hero Change Interval | Disable, 1-100 | Set the number of kills required to switch to a registered hero. |
| Hero Change List | Register a hero that will automatically switch when a certain number of enemy bots are defeated. | |
| Add by Sub Roles | Register heroes in bulk for each sub-roles. | |
| Add by Role | Tank, Damage, Support | Register heroes in bulk by role. |
| Add by Hero | Register heroes individually. |
[Player Settings]
| Item | Parameter | Description |
|---|---|---|
| Display Accuracy | ON/OFF | Toggle the display of hit rate. |
| Display Damage/Heal | ON/OFF | Toggle the display of damage dealt or healing provided. |
| Ultimate Charge | 0-100% | Set the Ultimate Charge activation rate. |
| Ability Cooldown | OFF | It does not reset ability cooldowns. |
| Every Earned Kill | Resets ability cooldowns each time an enemy bot is defeated. | |
| Immediately | Resets the ability's cooldown immediately after use. | |
| Infinite ammo | ON/OFF | Toggles whether main attack ammo is infinite. (Tracer and Soldier: 76 are excluded from infinite ammo as it would detract from their playstyle. Additionally, heroes that cannot be adjusted due to Workshop bugs will have infinite ammo by default.) |
| Immortality | ON/OFF | Toggles immortality. |
| Movement Speed | Normal | The player moves as usual. |
| +XX% Speed | The player movement speed will increase. |
Source code
Loading...
56 Comments
Hello daichin, thanks for the great code ! Its amazing honestly. Do you think it would be possible to add a setting called, "reaction time" to enemy bots , 3sec, 2sec, 1sec, 0,75 sec , 0,5 sec, 0,25 sec , immediate. Just to make it a little more real ? So anytime the player changes position like tracer blink, the bots are not insta locked on the player. Kindest regards <3
Thank you for your comments and great suggestions! Regarding the direction the bot faces, it requires implementation considerations, so I may not be able to implement it immediately, but I'd like to consider introducing it in a future update!
<3 thank you
hey daichin, absolutely love your code and use it all the time. hope you keep this updated and even if possible make the bots even more difficult movement wise
thank you so much for creating this!
Thanks for your comments! It really encourages me.
Along with this major Overwatch update, I'm currently working on improvements to make this workshop even better!
I'll do my best to meet your expectations, so please stay tuned!
im relatively new to OW coming from cs/valo, and tried a bunch of different aiming maps/codes and found yours on some random reddit post and already got 30 hours on it just testing out abilities and training my aim. its goated
hi daichin I sometimes use the old code (because I want to turn off immortality 😅). Am I allowed to give the code to my friend, or would you rather I don't?
Hello! Feel free to share the code with anyone!
I had removed the immortality setting because I didn't feel it was necessary for players to be killed.
I'll restore the option to toggle immortality in the next version!
Thank you! But please, do not add extra work on my behalf. Perhaps I am the only one using the feature? I find it useful for practicing such heroes as Venture, Lucio, Tracer and Mercy, but I don't know if anyone else does it.
Each player likely has specific practice goals, and one of this workshop's objectives is to accommodate them as much as possible.
While it's difficult to meet every request, it will at least restore any originally implemented features if needed!
Daichin I'm not sure if you're aware, but there seems to be a bug with this code that started a few days ago. It says "Error: Invalid hero" and you can't start the game.
My friends all had the same bug, so I think it was caused by the new patch 😭
Thank you for your message! I've fixed it so it launches properly now!
The cause was a setting change made to enable Vendetta selection during the Vendetta early access period.
Thank you! 🙏
Hello again, someone helped me (credits to Clewster25 from reddit) find the setting in the workshop editor to remove ults from the bots in case anyone else had my issue.
Go to [bot][common] ControlBotAction and change
Set Ultimate Charge(Event Player, Team Of(Event Player) == Team 2 ? 85 : (Global.BotLevel >= 3 || Count Of(Filtered Array(All Players(Team 2), Is Dummy Bot(Current Array Element) == False && Hero Of(Current Array Element) == Hero(Ana))) > 0 ? 100 : (Global.BotLevel >= 2 ? 90 : 80)));
to this
Set Ultimate Charge(Event Player, Team Of(Event Player) == Team 2 ? 85 : (Global.BotLevel >= 3 || Count Of(Filtered Array(All Players(Team 2), Is Dummy Bot(Current Array Element) == False && Hero Of(Current Array Element) == Hero(Ana))) > 0 ? 0 : (Global.BotLevel >= 2 ? 0 : 0)));
Sorry for the delay in the fix! Since the planned update is expected to take some time, only the changes to the Ultimate Charge values have been implemented for now.
Hello! Thank you so much for this. I've had the chance to try every code and the problem is fixed. I've been using it daily as practice and simply put nothing beats this trainer code. Looking forward to your future updates and thank you for your hard work!
Hello, I've been using an old version for a long time and got used to those bots. I think in the new version there is too much ulting from the enemy bots. I want an option where it greatly reduces the ults or removes them all together. Is there a way?
Thank you for your comment! We have confirmed that there are some adjustments needed to the conditions for using the bot's Ultimate (such as overuse when using Ana).
We have various updates planned for the future, so we will make corrections at that time.
Thank you for your tireless work on maintaining these free resources. It's invaluable to my goals of being an elite player. I'd also like to suggest a way to save settings via the workshop settings menu so that it isn't necessary to change settings the way you want every time you create a new game. Thank you!
Great idea, very cool. Unfortunately, I'm getting an issue where whenever the battle moves on to the second round (for all the maps, payload, control, etc), then the bots never spawn in. It says "loading bots" or something, but never finishes. Have to restart the game to play on the first round.
Thanks for using this workshop!
However, I am sorry that there seems to be a bug. Please tell us a little more about the situation when it occurs so we can determine the cause, as I do not experience such bugs in my test play.
Have you changed anything in the menu settings from the defaults? Who was the hero you were using?
I was using freja as the host, although they were public lobbies so other heroes came and went. Each time I started the match (with default settings), it would get stuck on the first round. The second round would start, we'd be teleported over, but the bots would never "initialize" or spawn. I tried other settings, such as DPS/support bots only, but it didn't change anything.
Thanks for all the info! The most likely cause from the information we received is that the custom game was set to “Public Lobby”.
The current version of the game does not fully take into account the increase/decrease of players, so it will take some time to fix the problem.
So until the problem is resolved, please try using it set to “Private Lobby”.
I want bot not to die with a sleeping gun
how can i chage
Thanks for the comment!
It is now possible to toggle between kills by sleep darts by holding down the melee button. (Ver 2.1.9)
Hey can you please add a code for the old version, it was better for my application. Specifically 1.3.6.
Sorry, cannot provide the code for the older version.
Recent updates have improved the behavior to default to that of the older version, so hopefully you will be able to use the latest version.
Hi, after some testing I really enjoyed your work. Seeing that you're quite good with all this ai stuff, I was wondering if U could create some code to get working ai in the Overwatch classic gamemode since for some reason blizzard disabled the built in ai. If this is possible it would be greatly appreciated, and if not, no worries as I get this is quite complex stuff.
Thanks for playing with this workshop!
As you are aware, there are a great many considerations that need to be taken into account in order to make the bot work in a satisfactory manner. For this reason, it is all I can do to create this workshop.
I wish I could fulfill everyone's wishes, but I don't have the time. Sorry I can't meet your expectations.
Thanks for replying, and also don't sweat it. I get this stuff is complex and requires alot of time and not everyone has that
As always, daichin genius developer. thank you so much for your hard work and for your passion! <3
So many quality-of-life changes: You can attack/defend or regular aim trainer. the allies can now do damage (and you can choose how much), which is very useful for the zen and mercy players and also makes the fight more realistic. You can press to get to high ground easily, which is really good aim practice.
Thank you for your comment! Very glad to hear it!
This upgrade was made from each hero's point of view and includes specifications that allow for adequate practice with any of the heroes! More improvements will be made in the future to make it as useful as possible for everyone!
Hello! I love this game. You seriously did a better work than most of the workshops here. One issue tho. Theres this bug which doesnt spawn bots after I killed them when in either spawn around or attack defend. Whenever I go to the menu and customize the options then press 'restart' they still wouldnt spawn. I cant send the pic here but it says initializing bots for the whole 60 secs. I have to literally restart the entire map to play the game again.
Plsssssssss fix it!
Hello! Thank you for loving this workshop!
And sorry to hear that there seems to be a bug. I've fixed the problem with the bots not spawning to some extent, but it still seems to happen...
If possible, I would like to know more details about the situation when the problem occurs.
For example, it happened after opening the menu during a battle and restarting the battle.
too bad that was 3 months ago and i dont know what else to say.
Really cool code!
Thank you! Hope this is useful to you!
:D
Hello, I just signed up to leave a comment for you! I was using your 1.3 version code, but I accidentally overwrote it. So I had to load the new updated version. But I'm already used to the old version, and I miss it...... If you don't mind, could you share the old version of the code?
Unfortunately, it is not possible for us to give you the code prior to version 2.0.
However, it is true that many people wanted the previous version to work, so in the newly updated version 2.1, we have added a more practical mode that is equivalent to the old version while still providing the same behavior. (Spawn Around).
Please try it if you like!
Interesting custom, has a great potential.
Would be great to see enemy bots difficulty and friendly bots attacking setting options. For now enemy bots are quite passive, using ulties but not shooting much. If they also learned how to dodge with their abilities - like Mei, Moira, Reaper, etc using their 'shift' to cleanse Illari's ult effect or dodging Echo's stickies - it would be incredible, but I understand that this is probably too hard to implement.
Thanks for your comments! I'm currently working on a major update and it may be difficult to make it exactly as you suggested, but I'm sure you'll like it!
I made an account just to make this comment. This code was given to me a long time ago by a friend, and I have used it every week since then. A month ago a Mercy friend asked how to improve since she doesn't need to do much aim training and I thought this code might be good for Mercy. It has worked incredible. She has gotten much better at surviving and reacting correctly. A long time ago she learned how to do the "super jump rez" by practicing in workshop codes, but it would never work in actual games. Thanks to this workshop, she can finally do it in a game, because this workshop is similar to a real game and a real fight.
I really recommend this code, especially if you want to practice heroes like Tracer, Ana, Mercy, Cassidy, Mei, Rein, Zarya, Genji and Hanzo.
Edit:
I have a question please. Is there a way to make the friendly bots do damage? My friend needs to improve her damage boost as Mercy. She needs to see who gives most value when you damage boost them. If the friendly bots could do damage, then she could see on their heads how much she is boosting, maybe?
I have tried looking through the workshop code to program it myself, but the code is very advanced for me. Can you tell me the correct place in the code, to make the friendly bots do damage?
Sorry for the delay in replying.
Thanks so much for your very long-winded comment!
It might be possible to change the code to have allied bots attack and display the amount of damage done by the bots, but considering the coding focused on Mercy's damage boosting training, it wasn't going to be easy to implement.
However, I think it is a very interesting idea, and I would like to record it as one of the elements to be updated in the future.
Thank you for your reply!
Please do not worry about implementing this element. You have already spoiled us so much with this amazing workshop! Since I read your code, I can see how much work and intelligence is behind it.
I only asked because I thought it was something easy that I could change myself, like if I put myself on the enemy team :)
hey there D4iChiN I really enjoy whatever you present, but if its not to much to ask could you create a realistic 1v1 with bots no pressure would really help me with my game mechanics, keep up the good work.
also recently i found Lucio bot get's stuck sometimes while in Battle mode.
Sorry for the delay in replying. I'm very honored that you enjoyed my work.
I would like to think about 1v1 work with bots.
And thank you for reporting the bug. I will look into it separately.
hey D4iChiN no apologies necessary take your time ,your codes really helps new players to amplify their skills really appreciate your reply ..
Hi there again, D4iChiN. In your workshope code I can't set the "spawn point" for bot/bots. Can u check pls, is it work or its my some issues? ("acceleration" - is "put bot point here"?)
Sorry for the delay in replying.
I'm not sure if this answers your question, but you can set it by selecting "SET SPAWN POINT", then aiming at the base point of the range where you want to generate bots, and pressing and holding the interact key.
After setting, you can select "PRESET" from "SPAWN POINT".
thank u ♥
Amazing work! :)
Thank you! I'm very honored.
Hello there D4iChiN. I found a problem with Sigma's shield (when you play Sigma, not bot Sigma), so, when u set up your shield, its ok, stay, no problem, BUT, when u want to remove shield, Sigma remove shield and immediately put it pack. Can u fix this pls?
Thanks for letting me know about the bug! The bug has been fixed. (ver 1.0.1)
Thank u ♥ it work! :)