• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 10:44
CEST 16:44
KST 23:44
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 1 (2026) - RO4 & Finals Preview1[ASL21] Ro4 Preview: On Course12Code S Season 1 - RO8 Preview7[ASL21] Ro8 Preview Pt2: Progenitors8Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun13
Community News
Code S Season 1 (2026) - RO8 Results2Weekly Cups (May 4-10): Clem, MaxPax, herO win1Maestros of The Game 2 announcement and schedule !11Weekly Cups (April 27-May 4): Clem takes triple0RSL Revival: Season 5 - Qualifiers and Main Event12
StarCraft 2
General
Code S Season 1 (2026) - RO4 & Finals Preview Code S Season 1 (2026) - RO8 Results Code S Season 1 (2026) - RO12 Results Team Liquid Map Contest #22 - The Finalists MaNa leaves Team Liquid
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament KSL Week 89 2026 GSL Season 2 Qualifiers Maestros of The Game 2 announcement and schedule ! $5,000 WardiTV Spring Championship 2026
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players
External Content
Mutation # 525 Wheel of Misfortune The PondCast: SC2 News & Results Mutation # 524 Death and Taxes Mutation # 523 Firewall
Brood War
General
vespene.gg — BW replays in browser Pros React to: TvT Masterclass in FlaSh vs Light BGH Auto Balance -> http://bghmmr.eu/ BW General Discussion ASL21 General Discussion
Tourneys
[ASL21] Semifinals B Escore Tournament StarCraft Season 2 [Megathread] Daily Proleagues [ASL21] Semifinals A
Strategy
Muta micro map competition Fighting Spirit mining rates [G] Hydra ZvZ: An Introduction Simple Questions, Simple Answers
Other Games
General Games
Path of Exile Stormgate/Frost Giant Megathread Nintendo Switch Thread Warcraft III: The Frozen Throne Starcraft Tabletop Miniature Game
Dota 2
The Story of Wings Gaming
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread UK Politics Mega-thread YouTube Thread European Politico-economics QA Mega-thread
Fan Clubs
The herO Fan Club!
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Formula 1 Discussion
World Cup 2022
Tech Support
streaming software Strange computer issues (software) [G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
How EEG Data Can Predict Gam…
TrAiDoS
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1883 users

Using BWAPI to take spectating to the next level!

Forum Index > BW General
Post a Reply
1 2 3 4 5 14 15 16 Next All
AssuredVacancy
Profile Blog Joined September 2008
United States1167 Posts
Last Edited: 2010-02-09 15:41:32
February 06 2010 04:42 GMT
#1
Feedback/suggestions strongly encouraged(esp. a good formula for a macro rating)

There was a bug with buildorder generation, please download the new version as the bug is fairly serious.

New Features(Latest update: customizable layout/more worker stats/display):
+ Show Spoiler +

A new worker stat is added: Total number of idle worker seconds as well as the total amount of minerals that could've been harvested by the idle workers.



The idle worker seconds work like this: if there are 4 idling workers idling for 1 second each, that's 4 worker seconds, it's the same if there's one worker idling for 4 seconds.
The number of minerals "missed" from idling is calculated by this:
if the worker is idling for that frame(1/24th of a second), the number of minerals missed is equaled to the instantaneous mining rate per frame of that player's workers divided by the number of workers.
E.g. If the player is on one base with 50 workers mining 8 patches, an idling worker will not increase the "amount of minerals missed" as much if the player is on one base with 4 workers mining 8 patches, simply because one added worker in the oversaturated mineral field is not going to be that big of a deal where as one added worker in an undersaturated mineral field makes a bigger impact.
This is a fairly accurate measurement of the amount of minerals missed from idling workers. This will help you refine your builds as you can see how much more minerals you could've gotten if you had better mechanics.

[image loading]


This was fairly late into the game, but you can see that the amount of minerals missed by both players is a pretty big amount. You can also see that the ratio of minerals:minutes is not the same. This is because the mining rates of each player is different when their workers are idling.

Units making in production facilities, research/upgrades, unfinished buildings are all labeled as you can't tell what they are unless you click on them. This just saves a bit of time:

[image loading]


The option to turn them off is in the settings file under the field "showHiddenNames".

The bug of not reading options correctly is also fixed.

The layout is now customizeable. As well as 5 new commands:

/hide <1 or 2>

Hide the info from player 1 or 2.

[image loading]




/unhide <1 or 2>

unhide the player info.


/load <layout scheme filename>

Loads a file containing a set of layout options. I included 2 basic files (basicinfo.ini, buildorder.ini)



/load basicinfo

[image loading]




/load buildorder

[image loading]




In the beginning of the replay the plugin will automatically load replaypp.ini. So just edit that file to your liking. The default file scheme is:
+ Show Spoiler +


showrally: 1
showworkerstats: 1
showmacrostats: 1
showorder: 1
showbuildorder: 1
showhp: 1
supplycount: 50
***************macrosettings:
Xcoordinate: 10
Ycoordinate: 10
productionFacCount: 1
queuedCount: 1
averageQueuedCount: 1
currentlyBuildingCount: 1
idleBuildingOrLarvaCount: 1
macroRating: 1
********************Workersettings:
xcoordinate: 300
ycoordinate: 10
workerCount: 1
miningMineralCount: 1
miningGasCount: 1
idleWorkerCount: 1
******************buildOrderSettings:
xcoordinate: 305
ycoordinate: 130
notify: 1



You can decide which info is displayed from changing to 1 or 0.
Notify is the option to turn off the notification everytime the buildorder list increases.




/default

loads replaypp.ini(the default file)




/notify

Toggles the notification of build orders.



Old:
The timing of RESEARCH/UPGRADES is now tracked throughout the whole game.

Throughout the game(even after the supply count limit), the timing of important tech structures, and the first instance of units is tracked.
E.g. If you want to practise a build that focuses on a midgame push with guardians, the timing/supply count of the FIRST guardian will be recorded regardless of what your supply is.

Throughout the whole game, the timing of EXPANSIONS will be recorded as well. This is not equivalent to a cc/hatch/nexus, as ONLY cc/hatch/nexus that serve as a mining base is recorded. E.g. you build a second hatch next to your first hatch, it's not counted as an expansion.


[image loading]

Poll: Should the info display in a window outside of BW?
(Vote): Definitely yes.
(Vote): Definitely no.
(Vote): Depends.. (state your condition)
(Vote): Fix your bugs before you do this!


Bug fixes:
Fixed the bug where you can't follow lurkers. You can follow lurkers all you want.
Fixed the bug where the game crashes if you type /highlight or /find or /follow with no parameters.
Fixed the bug where it can't recognize when lair/hive tech is.

Does this make you squeal in joy? If it does, you may donate to help the hungry college kid writing code here!




To update you just need to change the replaypp.dll, and replaypp.ini with the new one. No need to replace everything.

Instead of using bwapi to make an AI that does things for you, I made something that makes watching a replay/obsing a game on iccup, or even practising. This is replay++: it makes watching a replay as exciting as watching the TSL.


Features

Detailed Macro stats:

In addition to knowing only the resources/supply of each player, you now know many more useful stats that can help you analyse your own replays to become a better player.
[image loading]


This is taken from the infernal vs mondragon replay found in the replays section.

From the top to bottom:
First row: shows minerals, increase in minerals per minute, gas, increase in gas per minute, and supply.
Second row: # of production facilities built(in white), and currently building(in grey). If you're a zerg this shows the number of hatcheries.
Third row: # of units queued and how much minerals/gas is wasted in queueing. Zergs don't have this because they laugh at nubs queueing.
Fourth row: Average number of units queueing at any given time, and the corresponding resources. (Infernal's being a champ and has a super low queueing average)
Fifth row: Number of units building. Self explanatory. Zergs have the number of units morphing.
Sixth row: Number of production facilities not building stuff. This includes everything so it's normal to have 3-4 from robo bays, scouting raxes, etc. Zerg's equivalent to this is the number of idle larva at the time, as well as average.
Seventh row: Overall macro rating is something random formula that incorporates everything that I made up. It is by no means perfectly accurate or even useful. I just did it for kicks. But it's working here as you can see how mondi's rating's quite low as he is supply blocked, with 10 idle larvae.


Detailed worker stats:

[image loading]


This is pretty self explanatory. The number of patches currently being mined means the number of patches that are physically being mined, aka if a worker is returning cargo, the number of patches being mined is 0.


Real time build order generation:

[image loading]


This list is generated as the game is played. You can change up to how many supply the build order is being tracked. The default is 50, you can change it in the .ini file. A timestamp is provided here so you can compare your own times for each build order execution as you practise.
It also outputs the build order to a text file with the players names in the bwapi-data folder. Do not open the text file while the game is going or it will crash. It's safer for you to rename the text file to a unique name because the name is based on the 2 players. It's possible that it will be overridden by another game with the same players.

Chat commands

/count <unit name>

Entering this will make the AI count all the units with the specified name. The entered name has to be contained in the actual name of the unit.

[image loading]


/follow <unit name>

This will make your screen constantly follow the biggest group of the unit entered. You lose control of the screen until you type /unfollow. This is pretty entertaining for watching muta harass.
E.g
Entering /follow muta when there's a group of 7 mutas will make your screen constantly follow that group until a bigger group of mutas appear somewhere else or /unfollow

/unfollow

explained above.



/find <unit name>

Moves your screen to the the biggest group of the specified unit in the game currently.
[image loading]





/highlight <unit name>

Covers all the units with the specified name with a bright retina burning cyan. The command /hon must be typed before this can be used.

[image loading]





/unhighlight

Turns off highlighting.




/hon

Turns on highlighting




/hoff

Turns off highlighting, but the next time /hon is called, the previously highlighted unit will still be highlighted, where as /unhighlight doesn't remember the previously highlighted unit




/clear

Turns off everything.



/all

Turns on everything.



/macro or /ma

Toggles macro info.



/rally

Shows the rally point of all the buildings. Buildings without a rally point set yet is shown to have a rallypoint to the top left corner(usually. Unless they want to hide carriers there.)
[image loading]





/workers

Toggles worker info.



/order

Shows the exact orders of each unit and the exact coordinate the game interpretes that command. This means it's not necessarily what the player clicked, but rather what the game interpreted that click as.
[image loading]


Different colors mean different orders:
Black = Hold position. The command that Bisu forgets to do in important games.
Grey = Patrol. The micro button.
White = Nothing. It's doing it on its on free will
Green = Move.
Red = 1a2a3a.



/bo

Toggles build order info.



/hp

Toggles HP bars.

/hide <1 or 2>

Hide the info from player 1 or 2.

[image loading]




/unhide <1 or 2>

unhide the player info.


/load <layout scheme filename>

Loads a file containing a set of layout options. I included 2 basic files (basicinfo.ini, buildorder.ini)



/load basicinfo

[image loading]




/load buildorder

[image loading]




In the beginning of the replay the plugin will automatically load replaypp.ini. So just edit that file to your liking. The default file scheme is:
+ Show Spoiler +


showrally: 1
showworkerstats: 1
showmacrostats: 1
showorder: 1
showbuildorder: 1
showhp: 1
supplycount: 50
***************macrosettings:
Xcoordinate: 10
Ycoordinate: 10
productionFacCount: 1
queuedCount: 1
averageQueuedCount: 1
currentlyBuildingCount: 1
idleBuildingOrLarvaCount: 1
macroRating: 1
********************Workersettings:
xcoordinate: 300
ycoordinate: 10
workerCount: 1
miningMineralCount: 1
miningGasCount: 1
idleWorkerCount: 1
******************buildOrderSettings:
xcoordinate: 305
ycoordinate: 130
notify: 1



You can decide which info is displayed from changing to 1 or 0.
Notify is the option to turn off the notification everytime the buildorder list increases.




/default

loads replaypp.ini(the default file)




/notify

Toggles the notification of build orders.


Misc Features:


Mouse Guided Unit Counting:

This makes counting how many mutas are in a stack. All you have to do is draw a selection box, and all the units in the selection box is counted and displayed.

[image loading]


Showing hp bars

Size appropriate HP bars are shown above units.
[image loading]


Changing game speed:

You can only change the game speed with the +/- on the numpad.


How the fuck can I use this sexy shit?
Download this file:
http://replaypp.googlecode.com/svn/trunk/replayPP.zip

Upon extraction, you will see 3 folders. Copy the folder inside Starcraft into your starcraft folder. Copy the files inside WINDOWS into your WINDOWS folder. Copy the files inside Chaoslauncher into your Chaoslauncher folder.

Inside the bwapi-data folder(Starcraft/bwapi-data) there is a file called replaypp.ini. Open it. Edit it to your liking. 0 is no, 1 is yes.

Start chaoslauncher tick BWAPI injector, and you might want to untick apm alert because the text overlaps with the text generated by my plugin.

Happy replay watching!

If you're crashing:
On February 06 2010 14:27 R1CH wrote:
Show nested quote +
On February 06 2010 13:59 Garnet wrote:
I followed your instruction precisely and this happened:
[image loading]

Install Visual C++ runtimes, in the order linked.

http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en
http://www.microsoft.com/downloads/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en
http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en
http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en


Thanks R1CH!

EDIT: A video of it working is up. BUT TRY IT YOURSELF.
We spend our youth attaining wealth, and our wealth attaining youth.
jalstar
Profile Blog Joined September 2009
United States8198 Posts
February 06 2010 04:45 GMT
#2
HOLY FUCKING FUCK MY DICK IS ROCK SOLID
JohnColtrane
Profile Blog Joined July 2008
Australia4813 Posts
February 06 2010 04:48 GMT
#3
wow this looks awesome, ill give it a dl
HEY MEYT
dhe95
Profile Blog Joined December 2008
United States1213 Posts
February 06 2010 04:48 GMT
#4
this is going to be amazing
zulu_nation8
Profile Blog Joined May 2005
China26351 Posts
February 06 2010 04:48 GMT
#5
Very nice
ShaLLoW[baY]
Profile Blog Joined January 2007
Canada12499 Posts
February 06 2010 04:48 GMT
#6
DHASOIFHSOIFSHDOIFHSO HOH WHAT THE FUCK THIS IS FUCKING EPIC
ALEXISONFIRE ARE FUCKING BACK (sAviOr for life)
bLueSkY)
Profile Joined November 2006
New Zealand88 Posts
February 06 2010 04:48 GMT
#7
dude you are a genius!
that BO thing is so awesome and saves time (i usually have to go write down the BO and miss little things sometimes)
cheers!
Tazan_0
Profile Joined May 2009
United States63 Posts
February 06 2010 04:50 GMT
#8
I think I just ejaculated.
pwnd?
Garnet
Profile Blog Joined February 2006
Vietnam9045 Posts
February 06 2010 04:50 GMT
#9
O_O brb testing.
JWD
Profile Blog Joined October 2007
United States12607 Posts
February 06 2010 04:51 GMT
#10
SICKKKK
✌
etch
Profile Blog Joined July 2009
Canada176 Posts
February 06 2010 04:51 GMT
#11
jesus fucking christ this is incredible.
Signet
Profile Joined March 2007
United States1718 Posts
February 06 2010 04:53 GMT
#12
Holy crap that's an awesome plugin.
sob3k
Profile Blog Joined August 2009
United States7572 Posts
February 06 2010 04:53 GMT
#13
Can we get a video of this in action?
In Hungry Hungry Hippos there are no such constraints—one can constantly attempt to collect marbles with one’s hippo, limited only by one’s hippo-levering capabilities.
Kuri
Profile Blog Joined October 2009
Canada88 Posts
February 06 2010 04:55 GMT
#14
Well done! Now start practicing for csl!
Megalisk
Profile Blog Joined October 2008
United States6095 Posts
February 06 2010 04:57 GMT
#15
[image loading]
Tear stained american saints and dirty guitar dreams across a universe of desert and blue sky , gas station coffee love letters and two dollar pistol kisses from thirty five dollar hotel room stationary .
Spazer
Profile Blog Joined March 2009
Canada8033 Posts
February 06 2010 04:57 GMT
#16
Holy shit. I've always thought BWAPI was amazing stuff, but I never thought it could be used for something like this. It does make a lot of sense in hindsight though.

Amazing work!
Liquipedia
kitaman27 *
Profile Blog Joined April 2009
United States9245 Posts
February 06 2010 04:57 GMT
#17
whoa looks awesome
I'm better than dirt. Well, most kinds of dirt. I mean not that fancy store bought dirt. That stuffs loaded with nutrients. I... I can't compete with that stuff.
Garnet
Profile Blog Joined February 2006
Vietnam9045 Posts
February 06 2010 04:59 GMT
#18
I followed your instruction precisely and this happened:
[image loading]
JWD
Profile Blog Joined October 2007
United States12607 Posts
February 06 2010 05:00 GMT
#19
this tool was made for casting replays.
✌
Marine50
Profile Joined September 2007
Australia1764 Posts
February 06 2010 05:03 GMT
#20
wow. Amazing tools
IRIS FIGHTING!!!
1 2 3 4 5 14 15 16 Next All
Please log in or register to reply.
Live Events Refresh
WardiTV Qualifier
13:00
Spring Champs Qualifier
WardiTV674
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Serral 1425
ProTech161
SKillous 61
StarCraft: Brood War
Britney 42629
Mini 1086
BeSt 390
ggaemo 299
Soulkey 246
Mind 214
firebathero 186
hero 170
Zeus 109
Last 101
[ Show more ]
Pusan 66
Sea.KH 60
Shine 32
Aegong 30
ToSsGirL 28
Sacsri 26
Hm[arnc] 22
soO 17
Rock 15
yabsab 15
Nal_rA 15
Terrorterran 12
Icarus 6
Dota 2
Gorgc7236
qojqva1336
League of Legends
Reynor80
Heroes of the Storm
Trikslyr49
Other Games
Grubby17044
singsing2354
Beastyqt724
B2W.Neo610
Lowko292
crisheroes248
Sick235
KnowMe97
ArmadaUGS80
monkeys_forever62
Liquid`RaSZi23
Organizations
Counter-Strike
PGL55470
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 14 non-featured ]
StarCraft 2
• Adnapsc2 31
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• WagamamaTV279
League of Legends
• Nemesis2446
• Jankos1681
Upcoming Events
IPSL
1h 16m
Dewalt vs nOmaD
Ret vs Cross
BSL
1h 16m
Artosis vs Sterling
eOnzErG vs TBD
BSL
4h 16m
Bonyth vs Doodle
Dewalt vs TerrOr
Patches Events
8h 1m
GSL
17h 16m
Cure vs herO
SHIN vs Maru
IPSL
1d 1h
Bonyth vs Napoleon
G5 vs JDConan
BSL
1d 4h
OyAji vs JDConan
DragOn vs TBD
Replay Cast
1d 18h
Monday Night Weeklies
2 days
Replay Cast
2 days
[ Show More ]
The PondCast
2 days
Kung Fu Cup
2 days
GSL
3 days
Replay Cast
4 days
GSL
4 days
WardiTV Spring Champion…
4 days
Replay Cast
5 days
Sparkling Tuna Cup
5 days
WardiTV Spring Champion…
5 days
Replay Cast
6 days
RSL Revival
6 days
Classic vs SHIN
Rogue vs Bunny
Liquipedia Results

Completed

Escore Tournament S2: W7
WardiTV TLMC #16
Nations Cup 2026

Ongoing

BSL Season 22
ASL Season 21
IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
KK 2v2 League Season 1
BSL 22 Non-Korean Championship
SCTL 2026 Spring
RSL Revival: Season 5
2026 GSL S1
Heroes Pulsing #1
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2

Upcoming

YSL S3
Escore Tournament S2: W8
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
Maestros of the Game 2
WardiTV Spring 2026
2026 GSL S2
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.