A Little Break

Well, as you may have noticed from the lack of articles I have had a bit of a break from Britonia in the last three months. I’ve had a few things to sort out in real life, I’ve just brought a house and should be moving in in a few months, and I’ve been sorting out a few things for work. There are a few little updates though ..

Galaxy Generation:

On a slightly more upbeat note for Britonia I have made a start a few more things, the first of which is the actual galaxy generation. This is going good and from the initial results I’m actually quite excited for getting it finished. There are a few kinks to work out which seem sound in theory but I’m having trouble getting them to work in the game. One such thing is the change / relationship between galaxy space and star system space.

For example because double precision isn’t enough to cover the distance of an entire Galaxy, I must always have a point of reference for the camera to use as the world space origin. It seems conceptually sound to say, have the main star in a solar system act as the point of reference for the world space, and then switch this PoF as the player warps aroung the galaxy, but actually generating the galaxy around the camera, without first knowing the exact location of a planet has got me a little stumpted. I’ve got a few ideas, like having a perminant planet(s) which are always ‘there’ regardless of the galaxy seed. Another idea is to use markers to remember the locations of special planets (this was my idea for saving and loading games), but again – for them to work the galaxy must have already been generated to get this information.

Which continues on to the next problem I’ve run into which is the initial generation of the galaxy, and more specifically saving the player position within it. I’m pretty confident I’ll get it working in time and once I fully concentrate on it again. I will definately do another full article on the galaxy generation as it is a very large part of the game play.

The galaxy generation uses octrees to managing the placement of star (systems) based on the depth of the octree around the camera. This is pretty much the same as Flavien Brebion outlined in his article here. I still have to define the function which will shape the galaxy.

Asteroid Rings
I wanted to add a little note on asteroid rings for planets as I have also got pretty nice results for this. Unfortunately again this isn’t finished yet and I still need to improve the performance, especially when rendering the individual asteroid geometry. The geometry for the rings are defined in ‘real’ size so they will offer pretty impressive visuals when encircling the planets.

The Story and Factions:

I also made a start a few weeks back on the story and factions within the game. I have gone with a classic Star Wars sytle galaxy plot, with two main factions battling on an ‘epic’ scale. As it seems to me to be too easy to make overcomplicated plots with space simulation games, I wanted to try and keep the number of factions and important characters to a minimum, plus I am not overly confident in my ability to create engaging story so I will be sticking with basics; good vs. bad. There will be 4 four main factions in the game, 2 major and 2 minor:

The Galaxic Imperium:
The Galaxic Imperium rule the galaxy with an iron fist. No single organisation or body can match the Imperium in terms of resources or military power, and their rule is absolute.

The Revolutionary Alliance:
The revolutionary alliance directly oppose the Imperium. Whilst they very rarely face the Imperium in open combat, the Revolutionary soldiers are oft involved in more covert operations of sabotage. The RA seek to restore a people’s voice to the galaxy and reinstate a Repulic.

The Union:
A collection of many powerful multinational companies with near limitless credits and heavy lobbying in the ruling Imperium. The Union has arguably the most gifted scientists who are constantly prototyping new mechanical, biological and chemical weaponary, albeit using dubious and questionable work ethics. The Union run the majority of star and trade ports throughout the galaxy.

Chruch of the New Aeon:
A religious group bent on converting all the entire population to the Chruch’s beliefs. The Church are openly hostile to all who repel their offerings of a new faith. Unfortunately due to some high profile figures in the Chruch’s hierarchy, the Chruch seldom face finacial hardship. The Chruch also have an advanced branch of technology not available to the Union or Imperium. The original source and development of this technology is unknown.

As you can see the naming of the factions are nothing unique, but like I said, I am trying to keep the story quite basic. I aim to let the player freely roam between helping any of the four main factions and letting them build repuatations. There will be a main plot for three of the four factions in which the player can help tip the balance for a win. More to come.

Things on the Side:

On a last note, I’ve created a new blog which I will be using for writing up a little about some of my other, somewhat smaller projects. I decided about a month ago that with Britonia taking so long, I’d like to try and make a few smaller games for release on Windows Phone 7 and the Xbox. The blog is here:


there’s not much on it yet, but hopefully that’ll change.

  1. #1 by Chris Harshman on July 9, 2010 - 5:34 am

    Glad to see work is still comming along.

    If you ever want help developing a more in-depth story, while keeping it simple you can drop me an email, any time. I would also be happy to help you with any other Game Design Related Tasks.

  2. #2 by Mark on July 18, 2010 - 5:40 am

    Int64 has plenty of precision to use for storing absolute coordinates for celestial bodies. The Milky Way Galaxy is 100,000 light years in diameter which equates to 946100000000000000 Km. Int64 can represent up to 18446744073709551616. This means Int64 has a resolution of 19.5 km. Plenty of room to store absolute coordinates. You can then store planetary geometry as a float relative to this absolute position if you like.

    Hope this was helpful.

  3. #3 by Philippe Da Silva on July 18, 2010 - 4:13 pm

    Hi Mark,

    Not sure what you mean with this: “You can then store planetary geometry as a float relative to this absolute position”

    Could you provide a small example? Thanks


  4. #4 by Lintfordpickle on July 18, 2010 - 4:31 pm

    Hi both of you,

    I think I understand what you mean, so you could use the Int64 space positions of each star system to generate the seed for the ‘actual’ double space star system where the player is (because effectively each star system is always locally generated around 0,0,0).

    Bah, reading the posts makes me want to jump straight back into Britonia. I’ll have to wait just a little while longer though …

    btw Philippe, I have sent you an email, let me know if I’ve sent it to the right address 🙂

  5. #5 by uncasid on July 26, 2010 - 3:57 pm

    Hey lint, he is talking about scaling.. planetary / solar / galaxy all have their units.. in galaxy you do 1 = 1ly, solar you do 1 = 1 km, planet you do 1 = 1m. You should read up on o’Niels algorythm.. he explains the matters of scale quite well,

  6. #6 by DarkOne on November 15, 2010 - 1:35 pm

    Hi Lintfordpickle

    You have a nice project going on here. A member of the SSC community came across your game and it is looking very interesting indeed. There is a post on your game here: http://www.spacesimcentral.com/indie-and-open-source-gaming-projects-f46/britonia-horizons-t1405.html so if you have anytime to stop by and talk about your game I’m sure you can get a lot of feedback and interest in your efforts.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: