Ask the Developers a question or two

I thought I'd create a thread where you can all ask your questions to the developers (artists, programmers, designers, writers, tech, audio etc.) who work here at Frontier. We've got a really talented bunch of people all doing some really interesting things that are worth sharing.

So pose any question you might have and I'll try my best to get them answered - this can be anything from tips and techniques in a specific field to plain curiosity. Games development is still quite a mysterious sector, so lets see what you can drill out of them :)

If you've got something which doesn't fit within this thread, then feel free to post your own! Any and all are welcome :)
 

Sir.Tj

The Moderator who shall not be Blamed....
Volunteer Moderator
Right then.....Lets get this out of the way shall we? ;)

*Deep breath* What information can you give on the status/development of Elite 4?

Hopefully this might save a bit of time, and posts.
 
Guess you had to ask "the question" TJ, but I suspect you will get the usual answer, hope I am wrong though! ;)

Anyways, my question for the devs.

The thing that always fascinated me about Elite 2 and 3 was the use of a procedurally generated galaxy in game.

Assuming the use of a procedurally generated galaxy in Elite IV, like in the earlier Elite games, how difficult would it be to give the planetary bodies, asteroids ect, a graphical update, were there wouldn't be an excessive amount of replication across various star systems, eg a 10,000 identical Earths.

Basically what I am asking is, how possible is it to give planets an individual quality without having to resort to tailoring each and every one of them, which if using a procedurally generated galaxy, would be unworkable.
 
Should have known this would feature Elite/space based questions :D Go on, take the plunge and also ask questions about anything regarding development / games, including developer things outside of Elite ;)
 
Last edited:

Sir.Tj

The Moderator who shall not be Blamed....
Volunteer Moderator
Should have known this would feature Elite/space based questions :D Go on, take the plunge and also ask questions about anything regarding development / games, including developer things outside of Elite ;)

*THUD*....you should see the forhead sized dent in my desk now.....

Is there really nothing you can say?
 
Should have known this would feature Elite/space based questions :D Go on, take the plunge and also ask questions about anything regarding development / games, including developer things outside of Elite ;)

Well Liquilla, this is the Frontier forum, so you have to expect at least some questions aimed at the space sim genre. However I think you want questions about general game development and that's fine too.

However, I thought I asked a perfectly valid question as there are other games out there (Infinity, still in current development, for one) touting a procedurally generated galaxy. I am looking at it's disadvantages (replication) and how they might be overcome.

I am not asking about Elite IV progress report, although I admit as an Elite fan I love to know (who on this forum wouldn't:D), but I do understand that's not going to happen. If answering my question would trespasses into this area then I am sorry:(
 
Last edited:
Questions aimed at space-based development is fine, and even Elite-based questions - it's just the answers may be limited (I'll see what I can find out about your question Geraldine) or tailored towards a "..I'd do it this way..." sort of answer :)
 
Hi Liquilla
Thank you for your reply. I will reword my question if that would help. Hypothetically then, how could the problem of excessive replication be overcome in bringing a graphical update to a procedurally generated galaxy as used in the earlier Elite games?
 
The answer is that we don't avoid it, but we try to mitigate it.

Procedural technology is driven by algorithms and seed-values (which are used to initialise the algorithm with). Virtually always (and it is certainly what you want) you have no randomness in a procedural system, so if you run your algorithm several times using the same seed you would come up with the same result. One seed = one result.

Your first problem is therefore to ensure that you have a sufficient nr of seed-values available and here scale can become something of a problem. You asked about the galaxy so let us use that as an example. The real galaxy has something like 200 - 400 billion stars in it. It is unclear how many planets there are, but games - because they are games and therefore have the purpose of being fun - would normally want to ensure that planets were reasonably common. Given that, let us say that a representation of our galaxy would contain 1 trillion planets (**). So somewhere you would have to store that number of seeds (or be able to calculate the seed when you needed it). And you must ensure that it is unique for each planet.

Your next problem is that while one seed = one result it doesn't mean that four different seeds = four different results and it is here that the algorithm comes into play. As a simple example, remember the sine-function? sine(0) = 0, sine(90) = 1, sine(180) = 0, sine(270) = -1. (this is assuming degrees and not radians btw). But the sine wraps around, so sine(360) = 0, sine(450) = 1, sine(540) = 0 and sine(630) = -1 etc etc. So if you started your seed at 0 and just counted upwards you would find that regardless of your number of seeds you would get a small limited set of output from your algorithm. In the example I have used eight different seeds (0, 90, 180, 270, 360, 450, 540, 630) but I have only got three different outputs (1, 0, -1), and to make it even more annoying the output of 0 occured at twice the rate of the others.

The algorithm is the hardest part in any procedural system and while you must ensure that you have a sufficient number of seed-values the only thing you can do with your algorithm is to sit down and analyze it (using pen and paper essentially) to convince yourself that you aren't designing an algorithm that has a limited output.

The algorithm also comes into play in terms of "sufficiently different".

For example, if we wanted to procedurally generate a horizon then we could from left to right generate a sequence of numbers that represents the height of the terrain. For example:

0 0 0 0 0 2 5 19 7 4 0

could be taken to mean a "level horizon" that happens to have a high mountain visible to the right. The problem is that the same algorithm, but using a different seed (for a different horizon then) might produce the following output

0 2 5 19 7 4 0 0 0 0 0

which is clearly different, yet if you saw it you would likely say "oh it is just that darn mountain again". On the other hand, if the second example were to also have a moon visible then suddenly you might feel "oh, not seen this before". So then suddenly it is the planetary system that is of interest as a whole and not just the individual planet.

The "final" problem is one of testing. If you have one trillion planets then no-one will be able to go through them all and determine that they look sufficiently different. Not even a machine could do it because if would be to costly (in terms of time) to generate them all and then compare them. For a game you would likely do the player's starting position plus the X nearest stars and a small random selection of the rest. Based on that you would say "good enough" (or reject it and try another algorithm). Part of this is that if the repetition occurs at a sufficient distance apart in the game, then you would likely not recognize it for repetition anyway.

So there are things you need to do, like ensuring that the number of seeds available is sufficient, but when it comes to the algorithm it is the black art (*) of trial and error, experience (****), some qa and a lot of gut feeling.

And then we haven't even got started on issues like trying to obey the laws of the universe as we understand them today (ie, a gas planet is not likely seen in some orbits around some stars etc) - but a lot of this just complicates the algorithm rather than being a specific problem by itself.

So the short reply to your question: Hard work and lots of numbers, but we can never be completely certain (***).

Stefan

(*) btw, we all belong to Slytherin here.....
(**) Anyone who reads this as "Elite IV will contain one trillion planets" will have a spanking coming right along. It is a hypothetical number used to illustrate the problem of scale. Nothing more. Nothing less.
(***) Now if the galaxy only contained four stars...
(****) It helps that there are research being done in this area, and oddly enough cryptography is also a useful research-area for this.
 

Sir.Tj

The Moderator who shall not be Blamed....
Volunteer Moderator
Next question? And yes, I am ignoring T.J. :)

*stomps out of the room and sulks in the corner*

Bet you can't wait until you can actually announce something though?
 
To smars

Yes I wont take anything you have said to have any basis to what actually occurs in an Elite IV release.

I already knew that the best "ordered" systems (pardon my lay woman's terms, I am not a mathematician, but a care worker would you believe! :rolleyes:) are those which appear to be completely random. So it's no surprise then, that cryptography could provide answers.

So what you are saying is that there will always be a trade off when it comes to the problem of replication. I have been starting to read (as far as my limited understanding will allow) about procedural systems. It's fascinating stuff!

I was always interested in it ever since I saw the Elite games and fiddling around with an old program on the Amiga called Vista Pro. This used similar procedural algorithms to generate landscapes, where you entered a seed value and off it would go like a demented wind up toy.:cool:

Thank you very much for answering my question smars :)

3 days later............
Update, I cant believe no-one else has asked another question here. Can I ask another one if nobody else does Liquilla?
 
Last edited:
3 days later............
Update, I cant believe no-one else has asked another question here. Can I ask another one if nobody else does Liquilla?

I would - but unfortunately all my questions would in one way or another pertain to either The Outsider or Elite 4...

I guess I could ask something...

What hardware do you guys use for your work? Are there a lot of tools like the Wacom tablets, Cintiq, Spacepilots? What kind of machines are in use, all Windows or a mixture depending on user preference? What do you use for your main grunt work like heavy rendering etc?
 
The day-to-day work-station is a PC running Windows. Hardware-spec differs depending on when we bought the machine - we tend to replace them on an as-needed basis rather than have the same specification for everyone.

I couldn't give you a complete list of applications that the artists use, but wacom-tablets are common and 3ds Max is the primary modelling tool. For the programmers the working environment tends to be primarily Visual Studio.

Devkits for the consoles obviously...
 
I couldn't give you a complete list of applications that the artists use, but wacom-tablets are common and 3ds Max is the primary modelling tool. For the programmers the working environment tends to be primarily Visual Studio.

And the writers and designers love a bit of Microsoft Word! :D

Some machines are more powerful than others, I've been quite fortunate in getting a nice beast of a PC to capture video and run editing software. Outlook, Photoshop, Word and Firefox is what keeps me going =)
 
Thanks smars!

Another question, what approach would Frontier Developments favour in combating game piracy in general?
I am not sure that we have a favoured approach as a company - though I am sure David has an opinion and I shall try (he is a busy man right now, so no promises) to find that out for you. For myself my preference is more towards encouraging users to buy legit (and new) copies of the game by adding value to their purchases in the form of after-sale support and DLC.

Having said that, combating game piracy is mostly controlled by the publishers. When a developer sign up one of their titles with a publisher it is they who determine what security to use, so a developer often has no choice - we go were the publisher tells us to go.
 
I am not sure that we have a favoured approach as a company - though I am sure David has an opinion and I shall try (he is a busy man right now, so no promises) to find that out for you. For myself my preference is more towards encouraging users to buy legit (and new) copies of the game by adding value to their purchases in the form of after-sale support and DLC.

I'm a big fan of decent DLC. Altho I'm also a bit of a stickler for paying for peoples hard work as long as they don't take the proverbial with their expectations on price. The process cuts both ways - decent product at a decent price and games houses will always get my loyalty.

Heh, I have a question for David - where did he come up with the idea of Thargoids?
 
Last edited:
Back
Top Bottom