The fastest and simplest way to start a new Slick 2D based game.
You don't need to clone this repository to get started. The project archetype as well as the JARs are published in the official Maven repositories, so you can just follow the steps below from scratch. Clone this project only if you want to contribute to Slick2D or to the game archetype.
Pre-requisites:
- Git, Java and Maven working
- Slick 2D depends on
javaws.jar
which ships with the Oracle JDK (It's not available in the public Maven repositories). Thepom.xml
file references a local filesystem path tojavaws.jar
for that reason. - It won't work with OpenJDK for the reason above (Can be solved by providing
javaws.jar
separately). On some Linux distributions you can install Netx and change the system path to point tonetx.jar
. For example on Ubuntu the package to install isicedtea-netx-common
and the jar is in/usr/share/icedtea-web/netx.jar
.
The command below is using archetypeVersion=1.0.0
. Make sure you use the latest available version from Maven central
cd /home/<user>/projects/ -or- cd C:\Users\<user>\Projects\
# You can omit the last 4 parameters for interactive mode
mvn archetype:generate -DarchetypeGroupId=org.slick2d -DarchetypeArtifactId=slick2d-basic-game-archetype -DarchetypeVersion=1.0.0 -DgroupId=com.me.game -DartifactId=game -Dversion=0.0.1-SNAPSHOT -Dpackage=com.me.game
cd game
mvn clean package
You'll end up with a packaged game in target/game-0.0.1-SNAPSHOT-release.zip
. Just unzip and run game.sh
(Linux) or game.bat
(Windows). Alternatively, files are also available unzipped in target/game-0.0.1-SNAPSHOT-release/
.
Configuration-free with the awesome Maven Natives plugin ! Just hit the "Run" button !
Manual steps:
- You must have the Maven Eclipse integration plugin installed (m2e)
- Import the Maven project
- Right-click on
Game
, Debug as, Java application - This will fail with
java.lang.UnsatifsiedLinkError
- Run
mvn package
once, the native libraries will get copied intarget/natives
- Edit your debug configuration (menu Run, Debug configurations...), on the "Arguments" tab, "VM Arguments" field, enter
-Djava.library.path=target/natives
- Click on "Debug" and you're all set !
I believe making Slick 2D available through Maven will make life easier for users:
- Clear versionning scheme
- Very easy quickstart using Maven archetypes (see above)
- Simplified dependency management, especially for the native libraries
- Simplified game packaging
It seems that the upstream Slick2D Mercurial repository is not updated any more, despite numerous bug reports and pull requests. Because of that, I'm now accepting patches that I'll integrate and release through Maven. I guess you could consider this project a fork of the official sources.