Elite 2 - Gold Star Earning Question

This is a discussion on Elite 2 - Gold Star Earning Question within the Game Programming forums, part of the General Programming Boards category; Could anyone please tell me how ON EARTH David Braben was able to program 100 billion star systems into a ...

  1. #1
    Registered User
    Join Date
    Nov 2001
    Posts
    53

    Elite 2 - Gold Star Earning Question

    Could anyone please tell me how ON EARTH David Braben was able to program 100 billion star systems into a program which fitted on one 720K floppy disk???!?

    'Cause i'm dyin' to know.
    "Technology has merely provided us with a more efficient means for going backwards" - Aldous Huxley

  2. #2
    Registered User
    Join Date
    Oct 2001
    Posts
    375
    Yes, well, I have an educated guess. He probably used a seeded random number generator. That is, a random number generator that will return the same sequential values. Then, he simply had an algorithm that translated these values as star system specs. A quick list of known star systems and distances allowed him to construct a small part of space and let the rest be generated. Elite II: Frontier was sooo good. It was way ahead of its time (as was Elite I). I have an old version, but alas, my OS no longer supports it... where's my Amiga!?

    -Justin
    Allegro precompiled Installer for Dev-C++, MSVC, and Borland: http://galileo.spaceports.com/~springs/

  3. #3
    Registered User
    Join Date
    Nov 2001
    Posts
    53
    Hmm... quite likely yes.... must be some algorithm! I mean, he apparantly made it as "realistic" as he possibly could, the engine incorporating proper physics systems (though i only know it rocks and is way too playable for anyone who likes to leave the house) so the generated star-systems and worlds inhabiting them - that's some piece of work!

    Creating a game world that even you would never have enough time to explore the extents of fully - now THAT is game programming. Why don't more people use seeded random number generation to create worlds?

    [Almost_here feels his next project coming up here... an RPG with an almost unlimited world to explore...]

    Oh dear. I'm going to wet myself with excitement soon

    AH
    "Technology has merely provided us with a more efficient means for going backwards" - Aldous Huxley

  4. #4
    Skunkmeister Stoned_Coder's Avatar
    Join Date
    Aug 2001
    Posts
    2,572
    do you understand 6502 assembly language?

    The original elite was written for the bbc micro computer which had a powerful assembler built into the basic. The original source code for the bbc micro is freely available on Ian Bells website. It needs quite some formatting to become readable but you will see how a lot of things were done including using fractals to generate the planet terrains.
    Free the weed!! Class B to class C is not good enough!!
    And the FAQ is here :- http://faq.cprogramming.com/cgi-bin/smartfaq.cgi

  5. #5
    Registered User
    Join Date
    Nov 2001
    Posts
    53
    In a word, no. Damn, would have loved to take a look at that! I've done some programming in BBC BASIC but it ain't quite the same.

    Maybe some specs... does anyone know of sources for the design principles behind it? I mean, it must be pretty well documented..

    I'm gonna have to look into this

    And fractals!! Stroke of genius....
    [rant]
    That's what's lacking these days in games programming - ingenuity. People become obsessed with making things move faster, look clearer and eating up [wasting] as much processor time and memory on the way as possible. It's an old point but can you imagine a game built with the tender care of the oldies like Elite and Ultimas 1-6 but with the graphical capacity of the new ones?? It won't happen... developers are working with the fastest computers, the best hardware and looking to use it to its full extent - they should be sticking with what they've got and writing some real games which capture our imaginations in ways that NONE have even come close to in recent years.

    Anyone with some mediocrum of skill can write a game which makes the adrenaline flow - it takes imagination to write something which people will play and *not* discard when the more enhanced sequel comes out. It takes true genius to make a game which people LIVE as they play it and truly affects their lives. The games which are coming out these days belong in a f***ing arcade.

    Hm.

    I think i've said enough.

    Almosthere
    "Technology has merely provided us with a more efficient means for going backwards" - Aldous Huxley

  6. #6
    Skunkmeister Stoned_Coder's Avatar
    Join Date
    Aug 2001
    Posts
    2,572
    almost...

    check this out.
    Free the weed!! Class B to class C is not good enough!!
    And the FAQ is here :- http://faq.cprogramming.com/cgi-bin/smartfaq.cgi

  7. #7
    Registered User
    Join Date
    Oct 2001
    Posts
    375
    almost_there. I completely agree. It isn't even all that hard really. It just takes being a tad extra creative. I made a text adventure with an infinite world just to test out some of these ideas once. Maybe a thousand lines, and it was pretty indepth, with a cash system, "room" memory (remember if you've been there), and a few puzzles that were implemented in several ways. I then could go in and hand edit any given room. I'd post it, but I lost the source several months ago as I upgraded my computer.. but I think that would be a good place for you to start. Something simple to implement your ideas, simple graphics or even text. Look forward to playing your RPG.

    Stoned_Coder, nice link. Here's another: http://www.eliteclub.co.uk/

    -Justin

    EDIT: The hard part is to keep it from starting to all look alike. In a game like Frontier, that is fairly easy, because it is really generating objects, not story. An RPG will be a bit more challenging, but definitely a cool possibility. Same with RTS's and about any other type of game..

    Also, instead of infinite, I should mention that my text adventure had 17,179,869,184 rooms.
    Last edited by Justin W; 12-03-2001 at 11:21 AM.
    Allegro precompiled Installer for Dev-C++, MSVC, and Borland: http://galileo.spaceports.com/~springs/

  8. #8
    Registered User
    Join Date
    Nov 2001
    Posts
    53
    Damn cool Justin! Text adventures.... i've been there a while ago. it's actually surprising just how much thought you need to put into creating an engine like that (with no pretty graphics to numb the senses of those playing into believing it's good).

    You're right about the rpg being more challenging, although more from the point of view of inhabitation I feel (not talking about the complexity of the coding, of course). Probably need to write a pretty sophisticated AI engine (all based on the same seeded generation) which could put together personalities. Hmmm... Turin test anyone? It is plausible though - especially if the inhabitants were predominantly animal.

    Landscape generation would probably require the use of some pretty hefty fractal geometry but that isn't impossible.... in fact it would be damn good fun...

    Storyline.... storyline. The difference between a game and a REAL game. Making it non-linear would help (and probably be welcomed by people anyway) but you would need background, a main-plot and sub-plots i guess (certainly background). Whether events could also be incorporated into the generation.... they could be you know! Need to create an algorithm capable of dealing with change dependant upon elapsed time and possibly write a history of events and their placement within it. The whole thing could be reactionary - the landscape reacting to the story, reacting to the player etc. but all drawn from the seeded generation of random numbers!

    Oooooh this could be so cool.
    It could also suck up my life for a long long long time...

    Ah.
    "Technology has merely provided us with a more efficient means for going backwards" - Aldous Huxley

  9. #9
    Registered User
    Join Date
    Oct 2001
    Posts
    375
    Making it reactive would be easy. Make the algorithms that translate the generated data dynamic (ie, they translate ever so slightly differently given the current events). Many ways to do this.. scripting might be easiest.

    A really good story is exactly what Frontier had. And it was completely made by the player. Create a really interesting world, with varied problems large and small, challenges and gathering of things (wealth, magic, maybe land, vehicles, people connections), and believe me, it will be a fun game. You could have an overall big plot that could be thrown in, but I think the real heart and longevity of the game would be that it is an interesting world to explore and grow in.

    Yes, one could devote one's life to such things. But then, it is nice to have the opportunity to code a program (game) that you are really enthusiastic about.

    -Justin

    P.S. I once played a rip off of Frontier... it was pretty funny. It was all text - no fancy 3D graphics at all (or even 2D). Stupid thing was still really fun.
    Allegro precompiled Installer for Dev-C++, MSVC, and Borland: http://galileo.spaceports.com/~springs/

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. I need help to compile this code...
    By wise_ron in forum C Programming
    Replies: 17
    Last Post: 05-07-2006, 12:22 PM
  2. another exercise question
    By luigi40 in forum C# Programming
    Replies: 3
    Last Post: 11-28-2005, 02:52 PM
  3. what does this warningmean???
    By kreyes in forum C Programming
    Replies: 5
    Last Post: 03-04-2002, 06:53 AM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21