Build Status

Open Realm of Stars

Open Realm of Stars is an open source 4X strategy game. Developed using Java. The game requires at minimum Swing and Java 7 to run.

Explore the galaxy

Move your fleet in a randomly generated galaxy. Encouter other species, and find new planets to colonize.

Manage your own planets

Manage your planets gain access to better buildings and ships.Population management is key to acquiring more culture, research, metal and production.

Have diplomacy with other space faring races

Make friends and enemies while traveling to outer realms. Form trade alliances, and defensive pacts to establish technology trade with other races.

Deep space combat

Fight enemies with customizable ship designs. Ship components have their own hit points and energy requirements to use them. Components will be rendered useless if hitpoints are depleted or energy requirements are not met. This makes space battles dynamic. A lucky shot by allied ship to an enemies fusion reactor will make them immobile on the battlefield. Strategize on what parts to target, it may be better to target shields and scanners before destroying their weaponsystems. Fleets with advanced technologies have significant advantages, however luck or number of ships can sway the battle in your favour.

Conquering the planets

Conquer enemy planets. Drop bombs to clear out enemy troops, then deploy your own ground troops to seize control.

Leaders

Each realm can have unique characters called leaders. These leaders can act as governors, fleet commanders and rulers. Each of the leader will gain perks which give bonus(negative or positive) on task they are performing. Leaders have limited life span and they will die for old age, but new ones can be replace the old one. Some rulers can have heirs which will eventually replace parents.

The history

After a game players are given a quick overeview of major galactic events and how other realms did during t After a game you get quick review most important events in the galaxy and see how other realms did during the entire game.

See more screenshots

Warning about saved games working on newer version

Since Open Realms of Stars is still under development I cannot guarantee that old saves will work for new versions. Backwards compatibility will be broken when adding new features.

Compiling the Project

Open Realm of Stars can be compiled with Maven. Install maven and then run command: mvn install

In the target directory a zip file contains all dependecies to run the Game. Unzip, navigate to the newly extracted path and run Open-Realm-of-Stars-?.?.?.jar with following command java -jar Open-Realm-of-Stars-?.?.?.jar. Note that the question marks need to correspond to the correct build version.

Git project also contains an Eclipse project which should automatically compile it. All java files under src folder needs to be compiled. Even when compiling Eclipse run first maven command (mvn install) to fetch all the dependencies.

Troubleshooting on compile

If you encounter following error while running command mvn install: Error: Could not find or load main class org.apache.maven.surefire.booter.ForkedBooter it is due bug in certain OpenJDK or Oracle Java version. See more information on Launchpad: https://bugs.launchpad.net/ubuntu/+source/openjdk-8/+bug/1800792

Workaround is to use following command instead: (mvn install -DforkCount=0)

Warning about using non stable version

Compiling non-stable releases is not recommended. Non-stable versions of Open Realms of Stars may contain game breaking bugs that make the game unplayable. The game is constantly being developed for and new features may introduce bugs.

If you encounter any critical bugs create a new issue for it. Use the stable release version, or wait for a new fix. If you're interested in contributing to the project you are welcome to fix it. Contribution guidelines are outlined below.

Running the game

Open Realms of Stars can be run from the Jar file or running compiled class.

How to contribute

Before contributing to the project you should play the game first. Understand the underlying game mechanics. The simplest way to contribute to the project is to test out the game and if you encounter any bug raise an issue on the Git page. Please check to see if your issue has been posted before making new issue.

If you want to contribute code, fork the project and make the change. Be sure to add any unit tests where needed. Run the code through JUnits and checkstyle before making a pull request. This can be done using mvn verify.

Guide lines for making pull requests

I will try to take a look at pull requests as fast as I can. If you are adding any new assets take a look at the next section for instructions.

Contributing assets

Graphics should be licensed with CC-BY-SA and Sounds/Music with CC-BY. Also CC-BY-SA for music and sounds is okay, but the credits page will need to be updated. Fonts needs to be licensed with SIL Open Font License.