Build a Starcraft AI in Java!
This project provides a Java interface for the Brood War API (BWAPI), using Java Native Interface (JNI) to communicate over a shared memory bridge. This allows Java developers to write AI for Starcraft, one of the most popular Real-Time Strategy games, and participate in AI competitions (see links below).
Take a look at the wiki.
- 2015-02-11: JNIBWAPI has moved to GitHub
- 2014-05-13: JNIBWAPI 1.0 is released. Includes significant changes to the API to bring it closer to the C++ API and encourage type safety.
Interested in improving the project? There are several areas for improvement including:
- Improving the message passing protocol between the C++ and Java code
- Exposing additional BWAPI functions to Java agents
- Testing and documentation
If you have recommendations for improving the project or would like to help contribute, then feel free to use the issue tracker or submit a pull request.
- Starcraft
- Brood War API
- BWMirror (alternative to JNIBWAPI)
- AIIDE StarCraft AI Competition
- CIG StarCraft AI Competition (2013)
- Starcraft Micro AI Competition
- Student StarCraft AI Competition
- Starcraft Brood War Bots Ladder
- Competition news
- JBridge (deprecated)
- Java Proxy (deprecated)
Starcraft and Starcraft: Brood War are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries. ©1998 Blizzard Entertainment, Inc. All rights reserved.
BWAPI is a third party "hack" that violates the End User License Agreement (EULA). It is strongly recommended to purchase a legitimate copy of Starcraft: Broodwar from Blizzard Entertainment before using BWAPI.
This code is available under the LGPL