<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Getting_started</title><link>https://sourceforge.net/p/openpatrician/wikimig/Getting_started/</link><description>Recent changes to Getting_started</description><atom:link href="https://sourceforge.net/p/openpatrician/wikimig/Getting_started/feed" rel="self"/><language>en</language><lastBuildDate>Sat, 24 Mar 2018 12:28:46 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/openpatrician/wikimig/Getting_started/feed" rel="self" type="application/rss+xml"/><item><title>Getting_started modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/Getting_started/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v10
+++ v11
@@ -102,10 +102,11 @@

     mvn install -P build-installer

-Run the game: 
+Run the game from the OpenPatricianStandalone module: 

 ~~~
-java -cp $HOME/.OpenPatrician/plugins/maps;$HOME/.OpenPatrician/plugins/ai --add-modules java.xml.bind,java.xml.ws.annotation,java.se.ee -jar target/OpenPatrician-jfx-0.0.1-SNAPSHOT.jar
+java -cp $HOME/.OpenPatrician/plugins/maps;$HOME/.OpenPatrician/plugins/ai --add-modules java.xml.ws -jar OpenPatricianStandalone-&amp;lt;version&amp;gt;.jar
+
 ~~~

 The version number (in the above example 0.0.1-SNAPSHOT) may be adjusted, based on the version built (see output of the `mvn package` command). 
@@ -114,7 +115,7 @@

 IntelliJ IDEA community edition is the IDE that we are currently using. To import the project, just check the code project (OpenPatrician folder) from the SVN repository by using File-&amp;gt;New-&amp;gt;Project from Version Control. To avoid problems with lombok annotations, you need to install the Lombok Plugin, which can be found in Settings-&amp;gt;Plugins.

-To run the application from within IntelliJ, open the Project Structure -&amp;gt;Modules-&amp;gt;OpenPatricianDisplay-&amp;gt;Dependencies and add the two Directoreis $HOME/.OpenPatrician/plugins/maps and $HOME/.OpenPatrician/plugins/ai. To run the application create a starter for class OpenPatrician with the VM options: --add-modules java.xml.bind,java.xml.ws.annotation,java.se.ee
+To run the application from within IntelliJ, open the Project Structure -&amp;gt;Modules-&amp;gt;OpenPatricianDisplay-&amp;gt;Dependencies and add the two Directoreis $HOME/.OpenPatrician/plugins/maps and $HOME/.OpenPatrician/plugins/ai. To run the application create a starter for class OpenPatricianApplication with the VM options: --add-modules java.xml.ws

 ## Compiling
 The compilation usualy is done in the IDE. However to build the whole project use the Maven command:
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Sat, 24 Mar 2018 12:28:46 -0000</pubDate><guid>https://sourceforge.nete9da24f7c905cb16c52aa22ab50e3f5551c42f11</guid></item><item><title>Getting_started modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/Getting_started/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v9
+++ v10
@@ -23,9 +23,9 @@
 OpenPatrician is stored in the SVN repository's trunk. Branches are used for experimental purposes and tags are created with each new release. In the trunk we can find the following four projects:

 - OpenPatrician: contains the source code, as well as some documentation.
-- OpenPatricianWeb: a web project containing the game's website files.
+- -OpenPatricianWeb: a web project containing the game's website files.- (obsolete)
 - OpenPatricianGameArt: contains the art production resources of the game.
-- OpenPatrician-assembly: used for assembling OpenPatrician's modules in one executable.
+- -OpenPatrician-assembly: used for assembling OpenPatrician's modules in one executable.- (obsolete)

 Game art can be found on [OpenGameArt](http://opengameart.org/) and sounds and music on [OpenGameArt](http://opengameart.org/).

@@ -56,13 +56,27 @@
 - OpenPatricianData: contains data (text, icons...) that is shared by several modules.
 - OpenPatricianModel: one of the most central modules which basically holds all the logical data structures (game, player, city, ...) and some utility logic to instantiate these models.
 - OpenPatricianEngine: drives the models and the game and it is where the AI is implemented.
-- OpenPatricianMetadata: Containing meta data required for building and running an executable jar.
 - OpenPatricianImage and OpenPatricianSound: takes care of loading image and sound resources.
 - OpenPatricianUtilities: provides several tools such as the management of game properties, text, locales, etc...
+- OpenPatricianSound: Sound infrastructure
+
+
+&lt;b&gt;Plugins:&lt;/b&gt;
+
+- MinimalMap-Plugin: Plugin for a minimal map
+
+&lt;b&gt;Build infrastructure&lt;/b&gt;
+
+- OpenPatricianBundle: infrastructure to bundle the application
+
+&lt;b&gt;Test modules:&lt;/b&gt;
+
+- OpenPatricianTestUtilities: Common utilities used for testing
+- OpenPatricianTest: additional game wide tests and test applications

 ## Development enviroments

-It is recommended to use the command line or an IDE to edit the game code. There are many options, but we suggest you to use one of the following because we tested the project on them.
+It is recommended to use an IDE to edit the game code. There are many options, but we suggest you to use IntelliJ.

 ### Command Line

@@ -90,7 +104,9 @@

 Run the game: 

-    java -jar target/OpenPatrician-jfx-0.0.1-SNAPSHOT.jar
+~~~
+java -cp $HOME/.OpenPatrician/plugins/maps;$HOME/.OpenPatrician/plugins/ai --add-modules java.xml.bind,java.xml.ws.annotation,java.se.ee -jar target/OpenPatrician-jfx-0.0.1-SNAPSHOT.jar
+~~~

 The version number (in the above example 0.0.1-SNAPSHOT) may be adjusted, based on the version built (see output of the `mvn package` command). 

@@ -98,22 +114,11 @@

 IntelliJ IDEA community edition is the IDE that we are currently using. To import the project, just check the code project (OpenPatrician folder) from the SVN repository by using File-&amp;gt;New-&amp;gt;Project from Version Control. To avoid problems with lombok annotations, you need to install the Lombok Plugin, which can be found in Settings-&amp;gt;Plugins.

-### Eclipse
-
-Check out the code project (OpenPatrician folder) into your Eclipse workspace by using the import from SVN option or by  importing it as a Maven project after checking it out from the command line. You will need to install the M2Eclipse plug-in if Maven support isn't already included in your IDE.
-
-### NetBeans
-
-To check out the code project (OpenPatrician folder) under NetBeans go to Team-&amp;gt;Subversion-&amp;gt;. Since it has been used under other IDEs you may not find the needed properties to set the projects up. 
-
-To get the projects from the checked out code you need to have the Maven plugin installed. Then you can File-&amp;gt;Open Project and select the folder where your code lies. This will create a root folder with the parent project. All children are in the 'folder' modules. Double clicking on a module will extract it as a project that can be used. 
+To run the application from within IntelliJ, open the Project Structure -&amp;gt;Modules-&amp;gt;OpenPatricianDisplay-&amp;gt;Dependencies and add the two Directoreis $HOME/.OpenPatrician/plugins/maps and $HOME/.OpenPatrician/plugins/ai. To run the application create a starter for class OpenPatrician with the VM options: --add-modules java.xml.bind,java.xml.ws.annotation,java.se.ee

 ## Compiling
 The compilation usualy is done in the IDE. However to build the whole project use the Maven command:
 `mvn clean install`
-
-### Classpath
-The dependencies are gennerally defined and managed by Maven. However there is one dependency that you need to add to the classpath of your JDK. It is the `tools.jar` which is located in the JDK's lib directory. This jar file holds utilities that are needed for documenting purposes, so it does not go into any productive release but is required to build the classes locally.

 ## Joining the team

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Fri, 23 Mar 2018 17:38:07 -0000</pubDate><guid>https://sourceforge.net51949fd29e85428b8ffb93945ce41c627fd12517</guid></item><item><title>Getting_started modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/Getting_started/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v8
+++ v9
@@ -70,14 +70,13 @@

 Checkout: 

-We will just checkout the needed projects (assembly and code):
+We will just checkout the needed projects (anonyoumous and with username):

-    svn co svn+ssh://svn.code.sf.net/p/openpatrician/code/trunk/OpenPatrician-assembly 
-    svn co svn+ssh://svn.code.sf.net/p/openpatrician/code/trunk/OpenPatrician OpenPatrician
+        svn co svn+ssh://svn.code.sf.net/p/openpatrician/code/trunk/OpenPatrician OpenPatrician
+         svn co --username=&amp;lt;username&amp;gt; https://svn.code.sf.net/p/openpatrician/code/trunk/OpenPatrician OpenPatrician

 or update an existing project: 

-    svn up OpenPatrician-assembly
     svn up OpenPatrician

 Build all the components (inclusive running all tests): 
@@ -87,12 +86,11 @@

 Build an executable jar file: 

-    cd ../OpenPatrician-assembly
-    mvn package
+    mvn install -P build-installer

 Run the game: 

-    java -jar target/OpenPatrician-0.0.1-SNAPSHOT-jar-with-dependencies.jar
+    java -jar target/OpenPatrician-jfx-0.0.1-SNAPSHOT.jar

 The version number (in the above example 0.0.1-SNAPSHOT) may be adjusted, based on the version built (see output of the `mvn package` command). 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Sun, 25 Jun 2017 13:46:41 -0000</pubDate><guid>https://sourceforge.net85cfcfe424afd0d8e2801bc6b3871e797d6394a0</guid></item><item><title>Getting_started modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/Getting_started/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v7
+++ v8
@@ -110,6 +110,12 @@

 To get the projects from the checked out code you need to have the Maven plugin installed. Then you can File-&amp;gt;Open Project and select the folder where your code lies. This will create a root folder with the parent project. All children are in the 'folder' modules. Double clicking on a module will extract it as a project that can be used. 

+## Compiling
+The compilation usualy is done in the IDE. However to build the whole project use the Maven command:
+`mvn clean install`
+
+### Classpath
+The dependencies are gennerally defined and managed by Maven. However there is one dependency that you need to add to the classpath of your JDK. It is the `tools.jar` which is located in the JDK's lib directory. This jar file holds utilities that are needed for documenting purposes, so it does not go into any productive release but is required to build the classes locally.

 ## Joining the team

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Mon, 17 Oct 2016 10:36:55 -0000</pubDate><guid>https://sourceforge.net7cec6fca32090ca2311f0914a6380ff82c027548</guid></item><item><title>Getting_started modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/Getting_started/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v6
+++ v7
@@ -131,6 +131,10 @@

 [Contact me](https://sourceforge.net/u/hotzst/profile/) so you can be added as a developer to the project and gain write access to the repository. 

+## Where to start
+On [this page](TodoList) various issues aree listed that need to be addressed in some way. The list is generated at the end of each release, therefore it might not be that up to date, but it is a good starting point. It allows you to take a look at some of the smaller issues and in doing so browsing through the code.
+Another approach is to take a look at the issue tracker for issues labeled [starting task](https://sourceforge.net/p/openpatrician/tickets/search/?q=labels%3Astarting%2A+AND+%21status%3Aclosed). Those are issues that were created and thinking that they are not that complex and do not need that much knowledge of the inner working or other parts of the code. Of course this initial asumptioon might be wrong.

+
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Sat, 09 Jul 2016 06:03:07 -0000</pubDate><guid>https://sourceforge.net6d137b3e55d4c644f649cc2c5b1fad28ce31de7a</guid></item><item><title>Getting_started modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/Getting_started/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v5
+++ v6
@@ -123,6 +123,12 @@

 If you have never used Maven I suggest [Sonatypes Getting started](http://www.sonatype.com/maven-by-example-book.html) guide and the more [complete version](http://www.sonatype.com/maven-the-complete-reference-book.html). 

+## Commiting
+Basically we commit everything, here are some guidelines:
+ - documentation goes into the doc folder
+ - tests, demo and other main application that do not belong to the game go into the test subfolder of the respective module
+ - IDE specific configuration is commited as well, the first time. This allows others to leverage these settings. However as each local environment is different from another, we do not commit subsequent changes.
+
 [Contact me](https://sourceforge.net/u/hotzst/profile/) so you can be added as a developer to the project and gain write access to the repository. 

&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Sat, 15 Aug 2015 07:38:32 -0000</pubDate><guid>https://sourceforge.net5ee3366250e4f2997c50d1bdf1908d2bd8996246</guid></item><item><title>Getting_started modified by Cesar</title><link>https://sourceforge.net/p/openpatrician/wikimig/Getting_started/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cesar</dc:creator><pubDate>Sun, 26 Apr 2015 08:55:18 -0000</pubDate><guid>https://sourceforge.net176b4f8441554ea7a490bc518d25d0ff0fd74300</guid></item><item><title>Getting_started modified by Cesar</title><link>https://sourceforge.net/p/openpatrician/wikimig/Getting_started/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -27,14 +27,14 @@
 - OpenPatricianGameArt: contains the art production resources of the game.
 - OpenPatrician-assembly: used for assembling OpenPatrician's modules in one executable.

-Game art can be found on [OpenGameArt](http://opengameart.org/). Sounds and music can be found on [OpenGameArt](http://opengameart.org/).
+Game art can be found on [OpenGameArt](http://opengameart.org/) and sounds and music on [OpenGameArt](http://opengameart.org/).

-The source code of the project is structured by using Maven. Therefore, there is a master project (OpenPatrician) which contains several Maven children modules. These modules have dependencies between them, which are resolved by using dependency injection. This is done using the SpringContext. The current game modules are the following:
+The source code of the project is structured by using Maven. Therefore, there is a master project (OpenPatrician) which contains several Maven children modules. These modules have dependencies between them, which are resolved by using Spring framework's dependency injection. The current game modules are the following:

 &lt;b&gt;Events modules:&lt;/b&gt;

-- GameEvent: provides data models for events that aren't specific to OpenPatrician.     They can be passed around using Guavas EventBus.
+- GameEvent: provides data models for events that aren't specific to OpenPatrician and that can be passed around using Guavas EventBus.
 - OpenPatricianGameEvent: contains game-specific event classes.

@@ -42,7 +42,7 @@

 - OpenPatricianJavaFX provides UI components used by OpenPatricianDisplay.
 - OpenPatricianDisplay: manages the UI of the game by using the control elements provided by OpenPatricianJavaFX. This module also includes the main class OpenPatrician.
-- MarvinFXEssentials: is a module with largely imported code. It is a utility that allows testing the JavaFX user interface.
+- MarvinFXEssentials: module with largely imported code. It is a utility that allows testing the JavaFX user interface.

 &lt;b&gt;Server/client architecture modules:&lt;/b&gt;
@@ -58,8 +58,7 @@
 - OpenPatricianEngine: drives the models and the game and it is where the AI is implemented.
 - OpenPatricianMetadata: Containing meta data required for building and running an executable jar.
 - OpenPatricianImage and OpenPatricianSound: takes care of loading image and sound resources.
-- OpenPatricianUtilities: provides tools such as game properties and text management, locales selection, etc...
-
+- OpenPatricianUtilities: provides several tools such as the management of game properties, text, locales, etc...

 ## Development enviroments

@@ -67,11 +66,11 @@

 ### Command Line

-Producing a runnable jar is fairly easy, all that you have to do is to issue the following on the command line (if maven 3 and svn are installed and in the executable search path): 
+Producing a runnable jar is fairly easy. If maven 3 and svn are installed and in the executable search path, all you have to do is to issue the following on the command line.

 Checkout: 

-We will just checkout the needed projects (assembly and the code):
+We will just checkout the needed projects (assembly and code):

     svn co svn+ssh://svn.code.sf.net/p/openpatrician/code/trunk/OpenPatrician-assembly 
     svn co svn+ssh://svn.code.sf.net/p/openpatrician/code/trunk/OpenPatrician OpenPatrician
@@ -99,7 +98,7 @@

 ### IntelliJ IDEA

-IntelliJ IDEA community edition is the IDE that we are currently using. To import the project, just check the code project (OpenPatrician folder) from the SVN repository by using File-&amp;gt;New-&amp;gt;Project from Version Control. To avoid problems with lombok annotations, you need to install the Lombok Plugin, which can be found in Settings-Plugins.
+IntelliJ IDEA community edition is the IDE that we are currently using. To import the project, just check the code project (OpenPatrician folder) from the SVN repository by using File-&amp;gt;New-&amp;gt;Project from Version Control. To avoid problems with lombok annotations, you need to install the Lombok Plugin, which can be found in Settings-&amp;gt;Plugins.

 ### Eclipse

@@ -107,14 +106,14 @@

 ### NetBeans

-To check out the code project (OpenPatrician folder) under NetBeans go to Team-&amp;gt;Subversion-&amp;gt;. Since it has been used under project you will not find the needed properties to set the projects up. 
+To check out the code project (OpenPatrician folder) under NetBeans go to Team-&amp;gt;Subversion-&amp;gt;. Since it has been used under other IDEs you may not find the needed properties to set the projects up. 

 To get the projects from the checked out code you need to have the Maven plugin installed. Then you can File-&amp;gt;Open Project and select the folder where your code lies. This will create a root folder with the parent project. All children are in the 'folder' modules. Double clicking on a module will extract it as a project that can be used. 

 ## Joining the team

-There are several tasks that you may want to help us with: programming, game art, documentation, etc... For coding it is recommended (not actually needed) to have some experience with the following tools:
+There are several tasks that you may want to help us with: programming, game art, sounds and music, documentation, etc... For coding it is recommended (not actually needed) to have some experience with the following tools:

 - Java language
 - SVN (Subversion)
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cesar</dc:creator><pubDate>Sun, 26 Apr 2015 08:54:48 -0000</pubDate><guid>https://sourceforge.net9daa1dfe73eab60daf1df95a185516ef9c2d391c</guid></item><item><title>Getting_started modified by Sahits GmbH</title><link>https://sourceforge.net/p/openpatrician/wikimig/Getting_started/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -27,7 +27,7 @@
 - OpenPatricianGameArt: contains the art production resources of the game.
 - OpenPatrician-assembly: used for assembling OpenPatrician's modules in one executable.

-Game art can be found on [OpenGameArt](http://opengameart.org/). Sounds and music can be found on [OpenGameArt](http://opengameart.org/). We intend to publish these resources there. 
+Game art can be found on [OpenGameArt](http://opengameart.org/). Sounds and music can be found on [OpenGameArt](http://opengameart.org/).

 The source code of the project is structured by using Maven. Therefore, there is a master project (OpenPatrician) which contains several Maven children modules. These modules have dependencies between them, which are resolved by using dependency injection. This is done using the SpringContext. The current game modules are the following:

@@ -103,11 +103,11 @@

 ### Eclipse

-Check out the code project (OpenPatrician folder) into your Eclipse workspace by using the import from CVS option or by  importing it as a Maven project after checking it out from the command line. You will need to install the M2Eclipse plug-in if Maven support isn't already included in your IDE.
+Check out the code project (OpenPatrician folder) into your Eclipse workspace by using the import from SVN option or by  importing it as a Maven project after checking it out from the command line. You will need to install the M2Eclipse plug-in if Maven support isn't already included in your IDE.

 ### NetBeans

-To check out the code project (OpenPatrician folder) under NetBeans go to Team-&amp;gt;Subversion-&amp;gt;. Since it has been used under project you will not find the needed properties to set the projects up. 
+To check out the code project (OpenPatrician folder) under NetBeans go to Team-&amp;gt;Subversion-&amp;gt;. Since it has been used under project you will not find the needed properties to set the projects up. 

 To get the projects from the checked out code you need to have the Maven plugin installed. Then you can File-&amp;gt;Open Project and select the folder where your code lies. This will create a root folder with the parent project. All children are in the 'folder' modules. Double clicking on a module will extract it as a project that can be used. 

@@ -117,7 +117,7 @@
 There are several tasks that you may want to help us with: programming, game art, documentation, etc... For coding it is recommended (not actually needed) to have some experience with the following tools:

 - Java language
-- CVS (Subversion)
+- SVN (Subversion)
 - Spring framework
 - JavaFX
 - Maven
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sahits GmbH</dc:creator><pubDate>Thu, 23 Apr 2015 06:28:57 -0000</pubDate><guid>https://sourceforge.net35e2b0d8d22d63b7ec9853c32179786d75007950</guid></item><item><title>Getting_started modified by Cesar</title><link>https://sourceforge.net/p/openpatrician/wikimig/Getting_started/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,86 +1,131 @@
 # Getting started

-The base of the game is The Patrician and its successor Patrician 2 with its Add-on. The Add-on was sold on the international market as Patrician 3. To avoid confusion we will use international terminology and call the Add-on Patrician 3. Last year (fall 2010) [Kalypso Media](http://www.kalypsomedia.com/) started selling Patrician 4. This game is currently not the focus of this development. 
+This text intends to be the main reference for everyone feeling interested in taking part in the development of OpenPatrician. In this quick review we will guide you through the most basic features of the project development.

-The development of the game is planned to follow these three stages of continuously improved games. 
+## General concepts

-Here is a [review](http://www.abandonia.com/en/games/526/Patrician,+The.html) of The Patrician with some screen shots. The game can be [downloaded](http://www.myabandonware.com/game/the-patrician-1o8). [Review of the Patrician](http://www.gamespot.com/pc/strategy/patrician2/review.html) 2 at Gamespot as well as [Patrician 3](http://www.gamespot.com/pc/strategy/patrician3/review.html). 
+OpenPatrician is based on the game The Patrician and its successor Patrician II plus its Add-on. The Add-on was sold on the international market as Patrician III. To avoid confusion we will use international terminology and call the Add-on Patrician III. Patrician IV, the game that [Kalypso Media](http://www.kalypsomedia.com/) started selling in 2010, is currently not the focus of this development.

-Valuable hints on how the internals on Patrician 3 work can be found in this [German tip collection](http://www.rjosephs.de/tippsamm/Tippsammlung_2010.pdf). 
+The development of the game is planned to follow these three stages of continuously improved games. We are currently working on the first stage, which will consists in the implementation of a basic game engine that will be used as a base for the next stages. This engine will contain the features included in The Patrician.

-## Java Developer
+If you haven't played the game, you should read the following reviews:

-I develop the project with Eclipse, however it should be possible to use other IDEs as well. 
+- [The Patrician](http://www.abandonia.com/en/games/526/Patrician,+The.html). This game can be [downloaded](http://www.myabandonware.com/game/the-patrician-1o8) for free.
+- [Patrician II](http://www.gamespot.com/pc/strategy/patrician2/review.html)
+- [Patrician III](http://www.gamespot.com/pc/strategy/patrician3/review.html) 

-### with Eclipse
-
-Check out the project into your Eclipse workspace (import svn) using this subversion URL: `svn+ssh://svn.code.sf.net/p/openpatrician/code/trunk` This will get you four projects: 
-
-  * OpenPatrician 
-  * OpenPatricianWeb 
-  * OpenPatricianGameArt 
-  * OpenPatrician-assembly 
-
-The second project contains the projects web data. The first is the actual source of the game. The project is set up as a Maven module project. Therefore you will need to install the M2Eclipse plug-in. I have maven also installed on my system so I can execute commands from the shell. The OpenPatrician projects contains multiple folders, that are the modules. Now you import these projects (File / Import / General / Existing project). Alternativly you can checkout the project as Maven Project. This will automatically scan for modules and set up the appropriate projects. 
-
-### with NetBeans
-
-To check out the projects under NetBeans go to Team-&amp;gt;Subversion-&amp;gt;Checkout with the following URL: `svn+ssh://svn.code.sf.net/p/openpatrician/code/trunk` This will get you four projects: 
-
-  * OpenPatrician 
-  * OpenPatricianWeb 
-  * OpenPatricianGameArt 
-  * OpenPatrician-assembly 
-
-Since these are Eclipse project you will not find the needed properties to set the projects up. For development you only need to check out the OpenPatrician folder which contains the code. The other folders hold data for the web, game image production and the assembly project is used to create one runnable jar file. To get the projects from the checked out code you need to have the Maven plugin installed. Then you can File-&amp;gt;Open Project and select the folder where your code lies. This will create a root folder with the parent project. All children are in the 'folder' modules. Double clicking on a module will extract it as a project that can be used. 
-
-### General
-
-Contact me so you can be added as a developer to the project to gain write access to the repository. 
-
-If you have never used Maven I suggest [Sonatypes Getting started](http://www.sonatype.com/maven-by-example-book.html) guide and the more [complete version](http://www.sonatype.com/maven-the-complete-reference-book.html). 
+Valuable hints on how the internals on Patrician III work can be found in this [German tip collection](http://www.rjosephs.de/tippsamm/Tippsammlung_2010.pdf). For a more general and interactive description of the game, there is also a [Patrician III wiki](http://patrician3.wikia.com/wiki/) in English.

 An important address may be the [German Patrician Forum](http://www.patrizierforum.net/). 

-### Compiling
+## Project structure

-Producing a runnable jar is fairly easy, all that you have to do is issue the following on the command line (if maven 3 and svn are installed and in the executable search path): 
+OpenPatrician is stored in the SVN repository's trunk. Branches are used for experimental purposes and tags are created with each new release. In the trunk we can find the following four projects:
+
+- OpenPatrician: contains the source code, as well as some documentation.
+- OpenPatricianWeb: a web project containing the game's website files.
+- OpenPatricianGameArt: contains the art production resources of the game.
+- OpenPatrician-assembly: used for assembling OpenPatrician's modules in one executable.
+
+Game art can be found on [OpenGameArt](http://opengameart.org/). Sounds and music can be found on [OpenGameArt](http://opengameart.org/). We intend to publish these resources there. 
+
+The source code of the project is structured by using Maven. Therefore, there is a master project (OpenPatrician) which contains several Maven children modules. These modules have dependencies between them, which are resolved by using dependency injection. This is done using the SpringContext. The current game modules are the following:
+
+
+&lt;b&gt;Events modules:&lt;/b&gt;
+
+- GameEvent: provides data models for events that aren't specific to OpenPatrician.     They can be passed around using Guavas EventBus.
+- OpenPatricianGameEvent: contains game-specific event classes.
+
+
+&lt;b&gt;JavaFX modules:&lt;/b&gt;
+
+- OpenPatricianJavaFX provides UI components used by OpenPatricianDisplay.
+- OpenPatricianDisplay: manages the UI of the game by using the control elements provided by OpenPatricianJavaFX. This module also includes the main class OpenPatrician.
+- MarvinFXEssentials: is a module with largely imported code. It is a utility that allows testing the JavaFX user interface.
+
+
+&lt;b&gt;Server/client architecture modules:&lt;/b&gt;
+
+- OpenPatricianClientServerInterface: interfaces used by the client and the server. Provides the basis to divide the whole application into a server and a client part, which will be used for multiplayer.
+- OpenPatricianServer: the server part of the game.
+
+
+&lt;b&gt;Game data and resources modules:&lt;/b&gt;
+
+- OpenPatricianData: contains data (text, icons...) that is shared by several modules.
+- OpenPatricianModel: one of the most central modules which basically holds all the logical data structures (game, player, city, ...) and some utility logic to instantiate these models.
+- OpenPatricianEngine: drives the models and the game and it is where the AI is implemented.
+- OpenPatricianMetadata: Containing meta data required for building and running an executable jar.
+- OpenPatricianImage and OpenPatricianSound: takes care of loading image and sound resources.
+- OpenPatricianUtilities: provides tools such as game properties and text management, locales selection, etc...
+
+
+## Development enviroments
+
+It is recommended to use the command line or an IDE to edit the game code. There are many options, but we suggest you to use one of the following because we tested the project on them.
+
+### Command Line
+
+Producing a runnable jar is fairly easy, all that you have to do is to issue the following on the command line (if maven 3 and svn are installed and in the executable search path): 

 Checkout: 
-    
-    svn co svn+ssh://svn.code.sf.net/p/openpatrician/code/trunk/OpenPatrician-assembly OpenPatrician-assembly
+
+We will just checkout the needed projects (assembly and the code):
+
+    svn co svn+ssh://svn.code.sf.net/p/openpatrician/code/trunk/OpenPatrician-assembly 
     svn co svn+ssh://svn.code.sf.net/p/openpatrician/code/trunk/OpenPatrician OpenPatrician
-    

 or update an existing project: 

     svn up OpenPatrician-assembly
     svn up OpenPatrician

-
 Build all the components (inclusive running all tests): 

     cd OpenPatrician
     mvn install

-
 Build an executable jar file: 

-    cd ../OpenPatrician-assemby
+    cd ../OpenPatrician-assembly
     mvn package
-    

 Run the game: 

     java -jar target/OpenPatrician-0.0.1-SNAPSHOT-jar-with-dependencies.jar

-
 The version number (in the above example 0.0.1-SNAPSHOT) may be adjusted, based on the version built (see output of the `mvn package` command). 

-## Graphic Designer
+### IntelliJ IDEA

-Game art can be found on [OpenGameArt](http://opengameart.org/). I intend to publish the game art there. 
+IntelliJ IDEA community edition is the IDE that we are currently using. To import the project, just check the code project (OpenPatrician folder) from the SVN repository by using File-&amp;gt;New-&amp;gt;Project from Version Control. To avoid problems with lombok annotations, you need to install the Lombok Plugin, which can be found in Settings-Plugins.

-## Sound Engineer
+### Eclipse

-Sounds and music can be found on [OpenGameArt](http://opengameart.org/). I intend to publish the sounds there. 
+Check out the code project (OpenPatrician folder) into your Eclipse workspace by using the import from CVS option or by  importing it as a Maven project after checking it out from the command line. You will need to install the M2Eclipse plug-in if Maven support isn't already included in your IDE.
+
+### NetBeans
+
+To check out the code project (OpenPatrician folder) under NetBeans go to Team-&amp;gt;Subversion-&amp;gt;. Since it has been used under project you will not find the needed properties to set the projects up. 
+
+To get the projects from the checked out code you need to have the Maven plugin installed. Then you can File-&amp;gt;Open Project and select the folder where your code lies. This will create a root folder with the parent project. All children are in the 'folder' modules. Double clicking on a module will extract it as a project that can be used. 
+
+
+## Joining the team
+
+There are several tasks that you may want to help us with: programming, game art, documentation, etc... For coding it is recommended (not actually needed) to have some experience with the following tools:
+
+- Java language
+- CVS (Subversion)
+- Spring framework
+- JavaFX
+- Maven
+
+If you have never used Maven I suggest [Sonatypes Getting started](http://www.sonatype.com/maven-by-example-book.html) guide and the more [complete version](http://www.sonatype.com/maven-the-complete-reference-book.html). 
+
+[Contact me](https://sourceforge.net/u/hotzst/profile/) so you can be added as a developer to the project and gain write access to the repository. 
+
+
+
+
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Cesar</dc:creator><pubDate>Wed, 22 Apr 2015 22:45:21 -0000</pubDate><guid>https://sourceforge.net582c8e947755339e96aa425c03864bbe5e6dca76</guid></item></channel></rss>