GalaxyNG

Frans Slothouber's reasons for creating GalaxyNG are presented below.


Galaxy has been around for a while, it's a great, well balanced, and addictive game, but it can be improved since:

  1. The game can be slow, dragging on for more than 60 turns, without coming to a conclusion.
  2. The algorithm that generates the layout of the galaxy, that is the position of the planets, is rather arbitrary, leaving some players in disadvantageous positions.
  3. The code contains core-dump-producing bugs, and is hard to maintain.

Galaxy Next Generation tries to solve these problems.


1.1 Code Rewrite

About 70 percent of the orginal Galaxy code was rewritten. This solved a number of bugs that cause the code to core dump. The code is still a bit of a mess though. Someday someone with a lot of spare time should completely rewrite it in C++ :)

The bug fixes also cause GalaxyNG to behave slightly different from Galaxy. That is:


Changes to the Original Rules

These are the changes to the standard rules of Galaxy:

  1. Cargo:
    One can unload any type of cargo on planets of other nations.
  2. Bombing:
    When a player bombs an enemy planet that player become the owner of that planet. The industry and population are reduced to 25% of their current value.
  3. You will ask, who gets the planet when two friendly nations have ships above the same planet? Normally this is the nation that comes first in the list with nations (as shown in the turn report). This is unfair of course and allies will like to divide the planets they conquer amongst each other. This is possible with a new command. It is used to indicate that a player claims ownership of a planet when it is bombed. Of course, it only works when the player has armed ships left above the planet when it is bombed. In case two or more nations claim the same planet, nobody gets the planet. It has the following syntax:
V [planet_name]

New Map Layout

What was wrong with the original layout used in Galaxy? Sometimes the layout created left some nations in rather unfair positions, that is, some nations would have their home planet located far away from other planets, while others nations' home planets were located near a whole bunch of good planets. The new code tries to provide all players with an equal chance on success, while still keeping the game diverse and interesting. How is this accomplished?

  1. Empty Planets:
    Each nation is given the same number of empty development planets. That is within a circle of a given radius around the home planet of a nation, a fixed number of planets is randomly allocated. The size of these planets differ, but the total sum of the sizes is the same for all nations. The resources of the planets are still chosen at random, though experience shows that the total ship mass the planets can produce is about the same for all nations.
  2. Home Planet Spacing:
    The minimum distance between home world can be specified. Home worlds can therefore be widely spaced from each other, ensuring that a nation isn't kicked out in the first few turns.
  3. Stuff Planets:
    To improve the tactical possibilities, a number of stuff planets can be scattered across the galaxy. These are small useless planets that provide players with different routes of attack.
  4. Additional Home Planets:
    In addition, it is possible to let nations start with more than one home planet. The additional home planets are located within a radius of 3 ly from the original home planet of the nations. Starting with multiple home planets speeds up the game considerably.

Orders Checker and Forecaster

The orders checker has been integrated with the game code, so both will use the same algorithm and produce the same results. The orders checker has also been extended with a forecaster, which generates a forecast of the sitation of the planets and groups as it will be the next turn.