Thursday, March 25, 2010

Creating a galaxy

I am working on a new map generator, and would like to hear any ideas that you might have. (Just post them in the comments.)


The goals:

  • Where you start should influence your strategy.
  • Map features should cause interesting strategic situations.
  • The map should be visually interesting.


The tools:

  • Objects in space (e.g. stars, derelicts)
  • ‘Terrain’ types (e.g. nebulae)


Current ideas:

  • Younger stars near the centre, older stars on the rim.
  • At least three types of nebulae: dark, reflective and luminescent.
  • Stars inside or beyond dark or reflective nebulae are invisible over long range.
  • The galaxy has a number of arms depending on its size.
  • The gaps between the arms are large enough to be hard to cross.
  • Nebulae cover the core and the gaps between the arms.
  • There are cracks in the arms, creating choke points.
  • Wormholes occur, as shortcuts and choke points.
  • There are different kinds of ancient alien remains:
    • Ancient Wreck – Free tech
    • Ancient Ship – Free ship which can be scrapped for tech
    • Ancient Ruin – (Guarded?) A planet with a significant research bonus
    • Ghost Colony – (Guarded) Free colony with infrastructure and artefacts
    • Ancient Factory – (Guarded) Free factory space station
    • Ancient Refuge – (Guarded!) A planet inhabited by an ancient race
  • If I add ‘exotics’ as a resource type, the sources will be black holes, cosmic strings, etc.


Depending on how the ‘huge galaxy’ idea goes, I might even add the option to have multiple smaller galaxies instead.


Eventually, there will also be technologies to allow civilizations to modify the galaxy in various ways.

Friday, March 12, 2010

Space Font


I finished the new font that I want to use in the game. Although, I do think I see some tweaking to do before it's perfect. I used InkScape to create the font, and I rather enjoyed it.

Wednesday, March 10, 2010

Countless millions of stars

I have been thinking of the problems with the 'huge galaxy' idea. To make this work, I decided it would be necessary for the game to support thousands or even a million stars. Of course most computers these days will not handle the amount of AI in such a galaxy well, but it could still be useful for an MMO version, or at least to future-proof the game.

My star name generator could previously only generate about 6000 names before reporting errors, if I recall correctly. This is a problem when there are a million stars.

The new generator can generate three kinds of names.

For the first ten attempts, it chooses randomly between a name sounding like a Bayer designation (e.g. Alpha Centauri) or a traditional name (e.g. Rigel). The Bayer-like name is created by choosing from a list of prefixes and of suffixes and combining the two (13200 possible combinations), while the traditional names are just chosen randomly from a list of 352.

If it does not find an unused name in these first ten attempts, it generates a random name that sounds like a traditional name.

Examples of Bayer-like names:
Octa Aurigae
Zeta Crucis
Aleph Polli
Wau Lacertae
San Cancri
Rubix Vidi
Nona Jordani
Octa Velorum
Omicron Boötis
Rosa Lupi
Chi Sagittarii
Heta Sceptra
Orochi Cygni
Trio Hippopotami
Kappa Gruis
Blu Indi
Ichi Sculptoris
Aleph Roburem

Examples of traditional names:
Kuma
Pherkad
Acrux
Algol
Aldebaran
Regulus
Nash
Deneb

Examples of random names:
Arkad
Polava
Menchirdun
Kajam
Lucidus
Kochamali
Alfim
Rukhr
Sadfar
Birhanab
Mekbuda
Rukhl
Praecipua
Situla
Gieba
Braqu
Alnash
Birdun
Arneb

Monday, March 8, 2010

Hello, world!


The new text renderer is working. I think I need a better font, though. I also need to refine the renderer a bit, to make it easier to use.

Friday, March 5, 2010

The Fortekri

For the initial version of Galactic Throne, I need at least two species. I have chosen the Humans and the Fortekri. Eventually I will add more species, and I might even split some species into multiple cultures.

The Fortekri is an ancient species of intelligent social insects, divided into specialized castes. Their nature is such that they all care deeply for one another, and the things that they like doing most are also what makes them most useful. The workers like to work, the soldiers like to guard and to fight, the drones like to organize and invent, and the queens judge the drones according to their merits, choosing their breeding partners carefully.

The high queen is the mother of the queens, and the queens are the mothers of the princesses. Only the high queen may bring forth more queens. And only she and the queens may bring forth more drones. The princesses only bring forth workers and soldiers. The drones are always competing for the higher ranking queens, so that the best drones' genes may benefit the empire the most.

Drones without breeding rights are called taskmasters, and work directly with the workers or soldiers. A drone who is chosen by a princess is called a prince and organizes a group of taskmasters, or a group of princes. A drone who is chosen by a queen is called a king and organizes an entire industry, or an entire planet. The high king organizes the empire, and is of course chosen by the high queen.

Economically, they are very socialist. Everyone of all castes serve the empire, and the empire serves everyone. If there is enough food for everyone, everyone will have enough food. If not, then everyone suffers equally. This decreases the loss of population under harsh circumstances, allowing greater flexibility in which planets to colonize. Fortekri art is somewhat utilitarian, focusing on architecture and engraved signage.

Militarily they are also 'one for all and all for one'. The scent of their haemolymph agitates them, and, in large quantities, can drive them into a frenzy. This means that, when their soldiers' morale gets too low, they go berserk rather than routing, and they will always fight to the last man. This is not always the optimum strategy, so a part of a military drone's responsibilities is to make sure this does not happen unless needed. Their feelings toward each other (and thus, the empire) also make them very resolute fighters, entirely willing to sacrifice their lives for the greater good. If fighting occurs inside a Fortekri colony, the scent might also agitate the workers into forming a militia (armed with high-powered tools and military surplus equipment), but drones can order them to evacuate instead.

The main drawback of the Fortekri is that science and philosophy are only studied by the drones and only to improve the situation directly. Therefore their technology improves only in small steps, and not as quickly as most other species. Their civilization is well in excess of a hundred thousand years old, but only due to recent population pressure did they invent space flight and subsequent technologies.

Tuesday, March 2, 2010

Qoppa Polli

I wanted to test the text renderer, which is definitely an essential part of the game, so I created a star name generator. The names are supposed to be generic, but when you colonize a planet you will be prompted to rename, and it will make a suggestion based on your species.

There are currently 6142 names that it can generate. Here are some examples:

Noir Coronae
Theta Diplodoci
Ni Terrae
Aqua Vici
Ni Ophidiae
Dio Orientis
Aghan Serpentis
Pansa Veni
Gimel Polli
Omega Gemini
Mu Planae
Kappa Loligo
Disigma Incubi
Kappa Animae
Phagun Angelae
Omega Planae
Aleph Succubae
Omega Genii
Aqua Avis
Psi Cloolu

Most of these will not fool an amateur astronomer, but they are a bit more creative than they would be otherwise. And there are some surprises for the observant and knowledgeable.

The text renderer, however, was not working well. Even after debugging one could hardly read the text. It was using a method by which the computer draws the symbols with polygons. When drawing such thin lines as was required by the smaller font sizes, the rasterizer missed the polygons entirely, leaving out the lines. I will create a bitmap based text renderer for my next attempt, which should work very nicely.

Monday, March 1, 2010

Galactic Throne

Last year some time I started work on a turn-based space strategy game with tactical battles, a là Master of Orion. There are several reasons why I should work on Galactic Throne, rather than on Nation Builder (working title):
  • Less graphics programming means more game programming.
  • It can already scroll, zoom and detect what I click on.
  • It is much less ambitious.
  • I am more certain on what I want to achieve with it.
Talking about what I am trying to achieve, here are my goals so far:
  • It should feel real. The planets and the galaxy should feel alive. I believe that this can be achieved by giving the people in the game a will of their own, and giving them a world to interact with.
  • It should feel big. In a real galaxy there are billions of stars with billions of planets and it is billions of years old. While my game will not be that big, it should feel like it. To achieve this, I will either make the map really big, or create events and/or game play that relate the map to the rest of the galaxy. To make it feel ancient, there will be remains of ancient (but not necessarily dead) civilizations and the after-effects of long gone cataclysms.
  • It should add a bit to standard 4X game play, maybe even add another X. Usually in this type of game you are either a powerful all-conquering emperor, or a member of an alliance fighting against such empires. However you unite the galaxy, you win. I will add a third way to play; spies everywhere manipulating politics and economies, even the planets that you rule will not know that you do. An important upgrade to the game play, which will make this possible, is the separation of government and people. This also ties in with giving people a mind of their own.