SkillAgentSearch skills...

CoachAI

BWAPI AI that helps you play/analyze StarCraft v1.16 game/replay with more eyes/ears/brains, get ready for a 3rd eye/ear and a 2nd brain operation !

Install / Use

/learn @captain-majid/CoachAI
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

GitHub top language or see the red line on the side bar, Hits

This BWAPI-AI/UDAI (User-defined AI) works as an in-game helper and also as an online replay analyzer. It can help the players at-all-levels to improve, also to test and sense and remember things that weren't easy/possible before.

<details><summary>Note:</summary>
  • CoachAI works only with StarCraft v1.16.1 using ChaosLauncher.
  • When playing in ICCUP, the game is logged and you'll get the win/lose points, this won't happen if one of the players is Computer.
  • In multiplayer matches (ICCUP/Lan), CoachAI will auto send message every 10s (for the 1st 2m) to each human enemy until they all acknowledge/accept that CoachAI-player has multiple advantages (cheats), so nobody can use it as a hack/deceiving/cheat tool. Also the non-CoachAI-player can send a messsage “noCoachAI” during the 1st 2m, to force the CoachAI-player to leave. (in team matches, messages sent automatically to allies, press Shift+Enter to send to all, or the CoachAI-player won't get it), I also made this topic in Blizzard official forums to end this horrible fake accusation forever, which btw was only said by trolls or very short-sighted people.
  • The CoachAI can run on Windows XP starting from BWAPI v4.4.
</details>

Features in-game & in-replay: :video_game: :movie_camera:

  • A RealTime measure for Macro = spent minerals + spent gas (Terran repairs not accounted), many players still measure it just by the used supplies at specific time or by inaccurate replay analysis tools, in-replay you can know @any second who is the best Macro player (same as the score screen you see at the end of game/replay).
  • Want to know how many unit/building has been lost in-game/in-replay ?, just select one of the same type.
  • The # of units/buildings and also the ones in-progress, and the remaining build time for each one in progress, also the remaining time for each Tech/Upgrade in progress.
  • Buildings that has Rally Point will draw a line to the RP.
  • Displaying the number of the assigned mineral workers on each Nexus/CC/Hatchery.
  • WorkersCut measure, counts the time that Nexus/CC has been idle, if you have 2 bases the counter will be doubled, 3 -> tripled, etc.., it works for P & T, not Z.
  • Idle Workers measure displays the number of idle workers, and the total lost time (as with Workers Cut, this increase when there is more Idle Workers).
  • MineralsAbove measure for the time being above certain amount of minerals, see mineralsAboveLog for customization in-game.
  • Detecting the game speed, by just looking at the FPS value: 24=Fastest, 21=Faster, 18=Fast, 15=Normal, etc..
  • Showing if a map is 2p/3p/4p on game/replay (just counting the start locations on it).

Features in-game: :video_game:

  • The # of Minerals/Gas workers from all bases.
  • The # of idle production buildings (for Zerg, only the number of Larvae displayed), also the buildings IdleTime + Shield Battery remaining energy for Protoss.
  • The # of idle of idle fighting units (only non-worker units that canAttackMove: HT, Siege-Mode Tank, Lurker cannot, Medics can !).
  • The # of all killed enemies during the game.
  • The # of all current enemies, their supplies, Minerals/Gas, upgrades, in-progress things and you can even see the enemies while they move in the dark/fog.
  • MacroLog: Logs all build/train/upgrade actions and its time during the game (Tech/Upgrade logged only when its finished, unlike the reply Bo recorder).
  • Hotkeys tracker/counter: Tracks how much you press a specific hotkey.
  • The total time of WorkersCut and the number of lost workers due to that.
  • WorkersCut log (only 2+ seconds cut is calculated): to see when exactly in the game you've stopped making workers and for how long (I personally record my screen to see what I was doing, because replay is not always an option).
  • MineralsAbove log: logs the time when you're above certain amount of minerals, and for how long that was, to see when exactly you forgot to Macro.
  • Customizable notification sound and period when WorkersCut happens (5s), idle worker exist (5s) or you've missed multitasking (30s/20s).
  • Screen-Multitasking: A counter for each screen you step into, with total jumps during the game, the average stay @1 screen, the total stay on each screen for above 5s (customizable live, by editing totalTimeOnScreenOrSelectionAbove) and finally, a customizable notification sound when you stay @1 screen for above 30s (customizable live, by editing sameScreenWarningEvery).
  • Selection-Multitasking: A counter for each selection you select, with total switches during the game, the average focus @1 selection, the total focus on each selection for above 5s (customizable live, by editing totalTimeOnScreenOrSelectionAbove) and finally, a customizable notification sound when you focus @1 selection for above 20s (customizable live, by editing sameSelectionWarningEvery).
  • The TimedBo: all of us forget 1 or more things that was planned before the game, so a written Bo and tips on the game screen that dynamically highlights "What now/next?" while alerting with sound and pronouncing the current step in English JIT and allowing for more step-details to be shown/pronounced out of the succinct Bo form, will accelerate the familiarity with a specific build remarkably.

Features in-replay: :movie_camera:

  • Showing the # of units/buildings & the types of tech/upgrade for each player (just select any player's unit to display the infos).
  • Showing the replay duration beforehand, and also the replay name, date/time in UTC (+/- your own Time Zone), game title, game type and the map used.
  • Showing each unit order and drawing a line to the order target if there is a target.
  • Recording each player Bo. Only the 6th worker is logged for each player to see his split skill, for more info see replayLogUnitsFor/replayLogSupplyFor in the json file.
  • Easily distinguishing which players against which on team replays, (even SC:R doesn't has this !, maybe time to write some code lazy Blizzard ?)
  • During team replays showing JIT if playerX allied with playerY, and if playerY also did the same.
  • Automatic highlighting of idle workers.
  • Recording the max number of idle workers of each player, and when that happened.
  • The screen will automatically move to where a Nuclear launch is positioned (Comsat scan or Storm autoMove is disabled by default).
  • An intuitive/easier way to toggle vision of the selected player (and his allies) by pressing F7 (SC:R requires that you blind ALL other players individually to get the vision of 1 player which is not smart, here we just need to select a player/or 1 of his allies to see the required vision).
  • Displaying live score of produced/killed/lost units/buildings, to get the current state of players, this is about unit/building control (more close to micro, same as the score screen you see at the end of game/replay).

AnyRace_CoachAI.json: :wrench:

This config file allows the player to modify/disable/enable many values:

  • autoTrainWorkers (default=false): trains 1 worker @time from each base until "maxWorkers" number reached (for Zerg only 1 Hatchery is used for producing).

  • maxWorkers (default=50): only works if autoTrainWorkers = true

  • autoMine (default=false): makes workers gather Minerals/Gas automatically like in SC2, so there is no idle worker.

  • autoBuildSuppliesBeforeBlocked (default=-200): if you set it to 6, the AI will try to build supply units when its 24/30 (for Zerg only 1 Hatchery is used for building)

  • maxProductionBuildingQueue (default=2): prevent the player from queuing more workers/units from the same production building.

  • workerCutWarningEvery (default=5): in seconds

  • idleWorkerWarningEvery (default=5): ^

  • idleProductionBuildingWarningEvery (default=10): ^

  • idleFightingUnitWarningEvery (default=20): ^

  • totalTimeOnScreenOrSelectionAbove (default=5): see Multitasking above

  • sameScreenWarningEvery (default=30): see Multitasking above

  • sameSelectionWarningEvery (default=20): see Multitasking above

  • logSupplyProduction (default=false): include Pylons, Overloads, etc.. in the MacroLog.

  • logUnitsProduction (default=true): include Dragoons/Zealots, etc.. in the MacroLog.

  • showMultitaskStats (default=false): show Screen-Multitasking/Selection-Multitasking measures.

  • workersCutCalculationPeriod (default=540): affects both game/replay, calculates WorkersCut for the specified 1st minutes in the game/replay.

  • replayLogUnitsFor (default=420): in-replay Bo recorder, for how long to log units production. (until 7:00)

  • replayLogSupplyFor (default=40): in-replay Bo recorder, for how long to log the supply units & the supply indicator. (like 12,Nexus --> until 40/?)

  • dontDrift (default=-1): initiates a custom CountDownTimer, just like seen in some missions, but you can use it in any map to practice/polish specific task/timing, when the timer ends the game will too, you can set it in seconds, it works whether its a game start or a saved game, when it reaches 00:15, visual/sound warning will start (this helped me remembering to save the game-state @lets say 6:00), in order to master the game-phases/tasks partially 1st, then as a whole.

  • workerCutLimit (default=3600): you can set this to 120 (as a goal/target), this will end the game immediately if you intermittently/cumulatively cut workers f

Related Skills

View on GitHub
GitHub Stars27
CategoryDevelopment
Updated3mo ago
Forks6

Languages

C++

Security Score

77/100

Audited on Dec 19, 2025

No findings