Game knowledge
How StarCraft: Brood War works, and how to make maps for it. The two parts are kept together because mapmakers and bot authors rely on the same game data.
Game mechanics
How the game works under the hood. For ways to run the game faster see the BWAPI tutorials.
- Chance to Hit
- Unit Existence/Creation
- Unit Behaviour
- Frame Rate
- Abilities and Bullets
- How does regeneration work?
- How much damage an attack will do to a unit?
- Tricks, Glitches and Exploits
External references
- Exactly how do the custom AI scripts work? (FAQ)
- How does default pathfinding work? (blog post)
- Attack Animation Frame Data and the IceCC tool's decompilation of the iscript.bin file 'data\scripts\iscript.bin' from the MPQs: iscript_all2.txt.zip (explanation (spreadsheet))
- Attack Order Timings (spreadsheet)
- nturley's Unusual Unit Morphs and jaj22's Unusual BW unit transitions (Google Doc)
- StarCraft UnitType Data (spreadsheet)
- StarCraft WeaponType Data (spreadsheet)
- StarCraft TechType Data (spreadsheet)
- Latency and latency compensation (blog post)
- BW order timings data (Google Doc)
Map making
Guides and tools for making and editing StarCraft: Brood War maps.
Guides
- Basics of UMS Mapping
- Guide Map Making
- StarEdit FAQ and the StarCraft Mapmaker's Guide
- Frequently Asked Questions
File formats and archives
- CHK Format
- An overview of working with MPQ archives. Use MPQDraft to patch MPQ files. For reading and editing the contents, use MPQ Editor.
Scmdraft and Extended Unit Death (EUD) triggers
- Scmdraft map editor. Under downloads, you will obtain version 0.8.0, but this is not the latest version. Instead, look at the news page and get ScmDraft 2 (0.8.1), located in the
tempfolder. The author did not update the version number in the build, so it incorrectly says 0.8.0. You need this version to create EUD triggers (theMemorycondition is enabled when creating a trigger). - The memory offsets used by EUDs change with every version of StarCraft. Many of the good EUDs have been patched.
- To find the hex values in the first place, use ArtMoney to monitor the process. Then see this exported wiki article. This post clears up exactly what is being read (4 bytes at a time). Many of the tutorials simply assume that all other bytes are 0, which is often incorrect.
- How to make 4 players share minerals + gas. A modest resource, but hard to find anything else on this.
Reference
- How damage works, such as for burning buildings. See also how much damage an attack does to a unit.
- StarCraft unit sizes. You can use DatEdit (
StarEdittab) to get the Placement box in pixels. The pixels for a Terran Dropship, for example, are height 37 and width 49. Sincescmdraftis zero indexed, enter your locations forbottomandrightas one less than the actual value. In this example,bottomwould be 36 andrightwould be 48.
