diff --git a/.classpath b/.classpath
deleted file mode 100644
index f59b875..0000000
--- a/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/.gitignore b/.gitignore
index 32858aa..a6f89c2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,12 +1 @@
-*.class
-
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.jar
-*.war
-*.ear
-
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
+/target/
\ No newline at end of file
diff --git a/.project b/.project
deleted file mode 100644
index 80bcd16..0000000
--- a/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- Warlight2_public
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
-
-
diff --git a/README.md b/README.md
index d992179..e4f12eb 100644
--- a/README.md
+++ b/README.md
@@ -1,31 +1,57 @@
warlight2-engine
-============
+================
This is the game engine for Warlight AI Challenge 2 at theaigames.com
This version of our Warlight AI Challenge 2 engine has been set up for local use, for your own convenience. Note that this does *not* include the map generator and the visualizer.
-To compile (Windows, untested):
+Usage
+-----
- cd [project folder]
- dir /b /s *.java>sources.txt
- md classes
- javac -d classes @sources.txt -cp lib/java-json.jar
- del sources.txt
+### Download
-To compile (Linux):
+You can download the latest version of the Warlight2 Engine here: [warlight2-engine-1.0.0.jar](https://github.com/theaigames/warlight2-engine/releases/download/v1.0.0/warlight2-engine-1.0.0.jar). Find the all downloads (including older versions) on the [release page](https://github.com/theaigames/warlight2-engine/releases).
- cd [project folder]
- mkdir bin/
- javac -sourcepath src/ -d bin/ -cp lib/java-json.jar `find src/ -name '*.java' -regex '^[./A-Za-z0-9]*$'`
-
-To run:
+#### Running the jar
- cd [project folder]
- java -cp lib/java-json.jar:bin com.theaigames.game.warlight2.Warlight2 [map file] [your bot1] [your bot2] 2>err.txt 1>out.txt
+The downloaded `.jar` file is easily run on any OS with the Java Virtual Machine (JVM) installed with the following:
-[map file] is a file that contains a string representation of the map that the game will use. An example is included in this repository called "example-map.txt". For other maps, go to any Warlight AI Challenge 2 game on theaigames.com and add "/map" to the end of the URL and copy that text to a file.
+```
+java -jar warlight2-engine-1.0.0.jar [map file] [your bot1] [your bot2] 2>err.txt 1>out.txt
+```
-[your bot1] and [your bot2] could be any command for running a bot process. For instance "java -cp /home/dev/starterbot/bin/ main.BotStarter" or "node /home/user/bot/Bot.js"
+- `[map file]` is a file that contains a string representation of the map that the game will use. An example is included in this repository called `example-map.txt`. For other maps, go to any Warlight AI Challenge 2 game on theaigames.com and add `/map` to the end of the URL and copy that text to a file.
+- `[your bot1]` and `[your bot2]` could be any command for running a bot process. For instance `java -cp /home/dev/starterbot/bin/ main.BotStarter` or `node /home/user/bot/Bot.js`
-Errors will be logged to err.txt, output dump will be logged to out.txt.
+Errors will be logged to `err.txt`, output dump will be logged to `out.txt`.
+
+### Build from source
+
+#### Getting the source
+
+If you have `git` installed the easiest way to get the source is to clone the repository:
+
+```
+git clone https://github.com/theaigames/warlight2-engine
+```
+
+Alternatively, you can download the repository as a [zip](https://github.com/theaigames/warlight2-engine/archive/master.zip) or [tar.gz](https://github.com/theaigames/warlight2-engine/archive/master.tar.gz) and extract using the appropriate tools for your OS.
+
+#### Compiling the source
+
+Compilation is made simple regardless of platform through [maven](https://maven.apache.org). As long as you have [maven installed](https://maven.apache.org/download.cgi), you should be able to build it with the following:
+
+```
+cd warlight2-engine
+mvn build
+```
+
+#### Running compiled jar
+
+After building from source, the output file will be in the `target` folder. To run you need to do the following command:
+
+```
+java -jar target/warlight2-engine-1.0.0-jar-with-dependencies.jar [map file] [your bot1] [your bot2] 2>err.txt 1>out.txt
+```
+
+For information on the run arguments, see [Run Section](#running-the-jar)
diff --git a/lib/java-json.jar b/lib/java-json.jar
deleted file mode 100644
index 2f211e3..0000000
Binary files a/lib/java-json.jar and /dev/null differ
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..59f5d7a
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,57 @@
+
+
+ 4.0.0
+ com.theaigames
+ warlight2-engine
+ 1.0.0
+ jar
+
+ UTF-8
+ 1.7
+ 1.7
+
+
+
+ org.json
+ json
+ 20141113
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+
+ com.theaigames.game.warlight2.Warlight2
+
+
+
+
+
+ maven-assembly-plugin
+
+
+
+ com.theaigames.game.warlight2.Warlight2
+
+
+
+ jar-with-dependencies
+
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+
+
diff --git a/src/com/theaigames/engine/Engine.java b/src/main/java/com/theaigames/engine/Engine.java
similarity index 100%
rename from src/com/theaigames/engine/Engine.java
rename to src/main/java/com/theaigames/engine/Engine.java
diff --git a/src/com/theaigames/engine/Logic.java b/src/main/java/com/theaigames/engine/Logic.java
similarity index 100%
rename from src/com/theaigames/engine/Logic.java
rename to src/main/java/com/theaigames/engine/Logic.java
diff --git a/src/com/theaigames/engine/io/BotCommunication.java b/src/main/java/com/theaigames/engine/io/BotCommunication.java
similarity index 100%
rename from src/com/theaigames/engine/io/BotCommunication.java
rename to src/main/java/com/theaigames/engine/io/BotCommunication.java
diff --git a/src/com/theaigames/engine/io/IOPlayer.java b/src/main/java/com/theaigames/engine/io/IOPlayer.java
similarity index 100%
rename from src/com/theaigames/engine/io/IOPlayer.java
rename to src/main/java/com/theaigames/engine/io/IOPlayer.java
diff --git a/src/com/theaigames/engine/io/InputStreamGobbler.java b/src/main/java/com/theaigames/engine/io/InputStreamGobbler.java
similarity index 100%
rename from src/com/theaigames/engine/io/InputStreamGobbler.java
rename to src/main/java/com/theaigames/engine/io/InputStreamGobbler.java
diff --git a/src/com/theaigames/game/warlight2/IncorrectPlayerCountException.java b/src/main/java/com/theaigames/game/warlight2/IncorrectPlayerCountException.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/IncorrectPlayerCountException.java
rename to src/main/java/com/theaigames/game/warlight2/IncorrectPlayerCountException.java
diff --git a/src/com/theaigames/game/warlight2/MapCreator.java b/src/main/java/com/theaigames/game/warlight2/MapCreator.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/MapCreator.java
rename to src/main/java/com/theaigames/game/warlight2/MapCreator.java
diff --git a/src/com/theaigames/game/warlight2/Parser.java b/src/main/java/com/theaigames/game/warlight2/Parser.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/Parser.java
rename to src/main/java/com/theaigames/game/warlight2/Parser.java
diff --git a/src/com/theaigames/game/warlight2/Player.java b/src/main/java/com/theaigames/game/warlight2/Player.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/Player.java
rename to src/main/java/com/theaigames/game/warlight2/Player.java
diff --git a/src/com/theaigames/game/warlight2/Processor.java b/src/main/java/com/theaigames/game/warlight2/Processor.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/Processor.java
rename to src/main/java/com/theaigames/game/warlight2/Processor.java
diff --git a/src/com/theaigames/game/warlight2/Warlight2.java b/src/main/java/com/theaigames/game/warlight2/Warlight2.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/Warlight2.java
rename to src/main/java/com/theaigames/game/warlight2/Warlight2.java
diff --git a/src/com/theaigames/game/warlight2/map/Map.java b/src/main/java/com/theaigames/game/warlight2/map/Map.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/map/Map.java
rename to src/main/java/com/theaigames/game/warlight2/map/Map.java
diff --git a/src/com/theaigames/game/warlight2/map/Region.java b/src/main/java/com/theaigames/game/warlight2/map/Region.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/map/Region.java
rename to src/main/java/com/theaigames/game/warlight2/map/Region.java
diff --git a/src/com/theaigames/game/warlight2/map/SuperRegion.java b/src/main/java/com/theaigames/game/warlight2/map/SuperRegion.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/map/SuperRegion.java
rename to src/main/java/com/theaigames/game/warlight2/map/SuperRegion.java
diff --git a/src/com/theaigames/game/warlight2/move/AttackTransferMove.java b/src/main/java/com/theaigames/game/warlight2/move/AttackTransferMove.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/move/AttackTransferMove.java
rename to src/main/java/com/theaigames/game/warlight2/move/AttackTransferMove.java
diff --git a/src/com/theaigames/game/warlight2/move/Move.java b/src/main/java/com/theaigames/game/warlight2/move/Move.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/move/Move.java
rename to src/main/java/com/theaigames/game/warlight2/move/Move.java
diff --git a/src/com/theaigames/game/warlight2/move/MoveQueue.java b/src/main/java/com/theaigames/game/warlight2/move/MoveQueue.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/move/MoveQueue.java
rename to src/main/java/com/theaigames/game/warlight2/move/MoveQueue.java
diff --git a/src/com/theaigames/game/warlight2/move/MoveResult.java b/src/main/java/com/theaigames/game/warlight2/move/MoveResult.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/move/MoveResult.java
rename to src/main/java/com/theaigames/game/warlight2/move/MoveResult.java
diff --git a/src/com/theaigames/game/warlight2/move/PlaceArmiesMove.java b/src/main/java/com/theaigames/game/warlight2/move/PlaceArmiesMove.java
similarity index 100%
rename from src/com/theaigames/game/warlight2/move/PlaceArmiesMove.java
rename to src/main/java/com/theaigames/game/warlight2/move/PlaceArmiesMove.java