A Remake of "The Settlers III" for Windows, Linux, Mac and Android
Java
Clone or download
PayDay1 and andreas-eberle Font scaling according to screen dpi (#744)
* In-game fonts are scaled according to the screen dpi.
* Refactor font scaling factor calculation
Latest commit d04a86d Jul 15, 2018
Permalink
Failed to load latest commit information.
buildSrc Some refactorings to clean up code Apr 16, 2018
docs Merge branch 'master' into ship-fixes Apr 3, 2018
go.graphics.android Merge branch 'master' into shadow Jun 25, 2018
go.graphics.swing Font scaling according to screen dpi (#744) Jul 15, 2018
go.graphics Asyncbackend now support two "draw modes", GLFWbackend translates its… Mar 28, 2018
gradle/wrapper Merge branch 'master' into ship-fixes Apr 3, 2018
jsettlers.buildingcreator replace nextDrawableX with x++ Jul 15, 2018
jsettlers.common replace nextDrawableX with x++ Jul 15, 2018
jsettlers.graphics Added missing menu titles (#739) Jul 15, 2018
jsettlers.logic Fix bug making it impossible to set trading routes for ships Jul 15, 2018
jsettlers.main.android Stop notification sounds Jun 17, 2018
jsettlers.main.swing Make sure settings folder is created on first game start Jul 9, 2018
jsettlers.mapcreator replace nextDrawableX with x++ Jul 15, 2018
jsettlers.network use long instead of int in Thread.sleep() Apr 4, 2018
jsettlers.tests Merge branch 'master' into ship-fixes Apr 3, 2018
jsettlers.testutils Fix bug making it impossible to set trading routes for ships Jul 15, 2018
jsettlers.tools replace nextDrawableX with x++ Jul 15, 2018
maps Update our maps to have the new preview image colors May 31, 2018
settings Changed deploy script and encrypted deploy key to deploy to jsettlers… Aug 14, 2016
.gitattributes Merge remote-tracking branch 'origin/master' into android-gradle Apr 9, 2016
.gitignore Update our maps to have the new preview image colors May 31, 2018
.travis.yml Merge branch 'master' Jun 6, 2018
LICENSE.txt Added LICENSE.txt file to project root as requested in #156. Sep 18, 2015
README.md Mention build instructions explicitly in README.md Jun 13, 2018
build.gradle Merge branch 'master' Jun 6, 2018
deploy.sh Added gradle task deployToGithub and use it for travis deployment. Aug 17, 2016
gradle.properties Add gradle.properties to disable confgureondemand since Android doesn… Jun 17, 2018
gradlew Added gradle build files to all android related projects. Apr 6, 2016
gradlew.bat Added gradle build files to all android related projects. Apr 6, 2016
settings.gradle Merge branch 'master' into ship-fixes Apr 3, 2018
showDiff.py Wrote a small tool that displays the diff to the master. Apr 10, 2016

README.md

JSettlers Build Status

This project intends to create a remake of the famous strategy game "The Settlers 3" published by Blue Byte in 1998. The project is developed in Java and runs on PC (Windows/Linux), Mac and Android. More information can be found on the project's website at www.settlers-android-clone.com

Warning: Alpha Status

The game is currently in an alpha status! Therefore bugs, frequent changes making saved games invalid and server abortions need to be expected. Nevertheless we will try to minimize trouble.

Found a Bug? Report it!

If you experience troubles / find a bug, help us fix it. The JSettlers game creates log files of your games that are essential for debugging. Therefore always include the following information in a bug report:

  1. What OS and JRE are you using? If it is Android, please state your Android version.
  2. Revision of your build:
  3. In the PC/Mac version this can be found in the head of the window as "JSettlers - commit: XXXXXXX".
  4. In the Android version, the info is displayed on the start screen in the lower right corner as "build: XXXXXXX".
  5. In the game's folder, there is a subfolder resources/logs/ containing a folder of log files for every game you played. Please package the folder belonging to your game where you experienced the bug (identifiable by date and map name). This folder contains the following files:
  6. *_out.log: This is the console / debugging output of the game.
  7. *_replay.log: This file contains all game relevant actions you and other players did in the game (e.g. place a building, send soldiers somewhere). With this game, we can recalculate your game and debug it to find the exact source of your trouble.
  8. Specify the game time when you first experienced the bug (the game time can be found in the upper right corner while playing).
  9. If you were playing a custom map, please attach the map. Without it, replaying the game won't be possible.
  10. Describe what problem you experienced so that we can easily understand it.

Many thanks in advance for helping to improve this game!

Playing JSettlers

In order to play the game, you need to have the "GFX" and "SND" folders of the original version of "The Settlers 3" as obtained by installing the original "The Settlers 3" game (DEMO version also works).

Furthermore, you need an up to date installation of Java 1.7 or 1.8. The Java Runtime Environment (JRE) is needed to run JSettlers, as it is written in the programming language Java.

After that, follow the detailed installation instructions for you platform.

Windows, Linux, Mac OS

  1. Install "The Settlers III" or a demo version (Settlers III Amazons Demo) of it. Don't worry, if it is not running on your OS, we only need the graphics and sound files. In order to get them, you can also unzip the Amazons Demo exe file (yes: unzip the .exe) and copy the folders Gfx and Snd into an empty folder on your computer.
  2. Download the newest stable release of JSettlers*.zip / JSettlers*.tar.bz2 (this also includes the MapEditor).
  3. Unpack the downloaded archive to wherever you want JSettlers' installation to be.
  4. Run the "JSettlers.jar" file.
  5. On the first start, the game will ask you for the folder where you've installed / unziped (see step 1) the original Settlers III. Please select the respective folder and continue.
  6. Have fun and enjoy the game!
  7. Please have a look at the manual. The current state of the game lacks some controls known from the original, but also contains new ways to do things, which you shouldn't miss.

Arch Linux

  1. Install jsettlers-git from the AUR.
  2. Optionally: Install settlers3-demo-data if you don't own an original The Settlers III and select the following folder when the game asks you: /usr/share/jsettlers/s3
  3. You can start the game from the system-menu or with the commands "jsettlers" and "jsettlers-mapcreator".
  4. See instructions above

Configuration Flags

As described before, the game's UI is still lacking a lot of features. That's why we have to offer some configurations via an options file. You can find a default options.prp file aside the JSettlers.jar file after you unpacked the archive.

When opening the file, you will see several options that can be enabled by uncommenting them (remove the # at the beginning of the respective line). This is also described in the file.

Possible configurations include:

  • all-ai: Let all players be played by the AI. You will be able to watch all AI players and to "assist" them during the game.
  • fixed-ai-type=YYYYY: Option to specify an AI type that shall be used for all AI players. The default behavior is to use a the weakest AI type for the first player and increase the difficulty for every player. Possible values: ROMAN_VERY_EASY, ROMAN_EASY, ROMAN_HARD, ROMAN_VERY_HARD
  • disable-ai: If this flag is enabled, no AI players will be present in single player games.
  • locale: If you want to test a different localization than your systems default, it can be specify with this option. The value should look like: en_en.

Command line flags All the options above can also be specified as command line options. For this, you need to prepend every one of them with a double dash. Therefore the option fixed-ai-type=YYYYY should be specified as --fixed-ai-type=YYYYY.

Android

  1. Enable installation of Apps from "Unknown Sources".
  2. Copy the "GFX" and the "SND" folders of your original "The Settlers 3" installation into a folder called "JSettlers" on your device. The "JSettlers" folder must be located in the root directory of your internal storage (alongside folders like "Download" or "DCIM") or your external storage (e.g. memory card).
  3. Download the newest stable JSettlers-Android_v*.apk onto your Android device.
  4. Install JSettlers by running the downloaded file.

Build instructions and developer's guide

The build instructions and the developer's guide can be found in our wiki.

Getting in Touch

Besides the possibility to report bugs on Github you can also join our JSettlers Discord. Here you can discuss on development questions and find other players to meet with.