Skip to content

Commit

Permalink
updated readme, fixed md lint
Browse files Browse the repository at this point in the history
  • Loading branch information
Jabbo16 committed May 18, 2018
1 parent 6004477 commit 429d88a
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 5 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Expand Up @@ -12,4 +12,5 @@ src/ecgberht/uncrustify.cfg
bwapi-data/
.gradle/
build/
out/
out/
.markdownlint.json
47 changes: 43 additions & 4 deletions README.md
@@ -1,5 +1,5 @@
<p align="center">
<img src="egbert.png" width="157" height="198" />
<img src="egbert.png" width="177" height="218" />
</p>

# Ecgberht
Expand All @@ -8,8 +8,47 @@

## Description

Ecgberht is a Java Starcraft: Brood War bot based on BWAPI4J BWAPI 4.2.0.
Ecgberht is a `Starcraft: Brood War` AI written in Java.
<p><img src="https://i.imgur.com/xUfYQ9H.png" width="48" height="48"/></p>

Behaviour based on decision trees and uses influence matrix to know where is the better place to attack or defend.
Frameworks used:

Capable of playing more than one strategy and picking the best using the UCB1 algorithm.
* [BWAPI4j](https://github.com/OpenBW/BWAPI4J)
* [BWAPI 4.2.0](https://github.com/bwapi/bwapi)

Main features:

* Only knows how to play Terran properly.
* Capable of executing different strategies. Prefers to play Bio oriented strategies (centered around Marines and Medics) but can also add a few mechanical units to the mix.
* Implements UCB-1 algorithm for learning best strategy to execute depending of opponent and game history.
* Can play different sounds.
* Configurable using `config.json` file. You can change some debug options, enable or disable sounds, etc.

## How to build

Requisites:

* [32-bits JDK8 (Java Development Kit)](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
* [Apache Ant (optional)](https://ant.apache.org/bindownload.cgi)

### Apache Ant

Just run the following command, recommended having Ant binaries at Path:

`ant clean jar`

Ecgberht jar file will be generated at `build/jar` folder.

### Gradle

With Gradle there is no need of extra dependencies as I included a Gradle wrapper, just run execute the following command at Ecgberht root folder:

`./gradlew clean fatjar`

Ecgberht jar file will be generated at `build/libs` folder.

## How to run

`java.exe -jar Ecgberht.jar`

Its required to run the jar using the 32-bits java.exe executable.

0 comments on commit 429d88a

Please sign in to comment.