09 Jul, 2009, Igabod wrote in the 21st comment:
Votes: 0
Kayle said:
Igabod said:
I'm pretty sure we're sticking with the one galaxy since that's going to be a hard enough job to populate as it is. Though you do bring up an interesting problem we might face later on once we get the storyline going and all that. What if we want to have a race from another galaxy (like the yuuzhan vong of starwars) come and attack our galaxy. We'd have problems adding in a new galaxy which the inhabitants of the Milky Way could counter-attack. This may or may not end up happening in the future, but it is worth thinking about just to be on the safe side.

Or Uh. The Reapers of Mass Effect. And what about something outside the bounds of the Galaxy? Like the Ark in Halo 3?


Never heard of The Reapers of Mass Effect.. Nor have I played Halo 3. Wow, I'm such a lame gamer…
09 Jul, 2009, KaVir wrote in the 22nd comment:
Votes: 0
Igabod said:
I think we're going to do all of that manually since it's not all that much work to just make a simple object in space.

It's more the scale of the thing that I'd be concerned about.

As an example, consider Elite II. It modelled around 100 billion star systems in one galaxy, which was supposed to represent our galaxy in the year 3200. It modelled our own Solar system down to the last moon, as well as a few of the nearer or brighter stars such as Alpha Centauri, Sirius, Polaris, etc - but the rest of the star systems were procedurally generated, and the entire game required only 1MB of RAM.

How much of the galaxy do you plan to model?
09 Jul, 2009, Kayle wrote in the 23rd comment:
Votes: 0
Igabod said:
Never heard of The Reapers of Mass Effect.. Nor have I played Halo 3. Wow, I'm such a lame gamer…

Not played Mass Effect or Halo 3? …Wtf. You're not allowed to talk again until you've played Mass Effect at least. Halo 3 is eh. But Mass Effect was awesome. =/
09 Jul, 2009, Igabod wrote in the 24th comment:
Votes: 0
KaVir said:
How much of the galaxy do you plan to model?


I'm failing to see how this relates to a text-based game. Everything in the galaxy will be hand-built by a human as far as I know. Any area a player can set foot will be done by a builder. As far as asteroids floating around in space doing nothing, those can be done really easily too just by typing in one command. Maybe you're just explaining it in a way that doesn't translate well in my mind, but I just don't understand.
09 Jul, 2009, Igabod wrote in the 25th comment:
Votes: 0
Kayle said:
Igabod said:
Never heard of The Reapers of Mass Effect.. Nor have I played Halo 3. Wow, I'm such a lame gamer…

Not played Mass Effect or Halo 3? …Wtf. You're not allowed to talk again until you've played Mass Effect at least. Halo 3 is eh. But Mass Effect was awesome. =/

I just looked at the website for Mass Effect 2 and if it's a pc game then the graphics are WAY too good for my laptop. If it's xbox360 or ps3 then I can't play it anyway cause I refuse to spend that much money on a gaming system I would rarely play anyway.
09 Jul, 2009, KaVir wrote in the 26th comment:
Votes: 0
Igabod said:
KaVir said:
How much of the galaxy do you plan to model?

I'm failing to see how this relates to a text-based game. Everything in the galaxy will be hand-built by a human as far as I know.

You've said you want to model your galaxy as realistically as possible, based on what the Milky Way will look like in 2000 years, with humans exploring the galaxy and discovering alien races.

Well, the Milky Way has a diameter of approximately 100,000 light years and contains an estimated 200-400 billion stars. I'm assuming you don't plan to hand-build them all, thus my question was how many do you plan to have? How many of those 200-400 billion stars can I explore?
09 Jul, 2009, Cratylus wrote in the 27th comment:
Votes: 0
Igabod said:
I just looked at the website for Mass Effect 2 and if it's a pc game then the graphics are WAY too good for my laptop. If it's xbox360 or ps3 then I can't play it anyway cause I refuse to spend that much money on a gaming system I would rarely play anyway.


They called it the 360 because when you see it you'll turn 360 degrees and moonwalk away.

-Crat
09 Jul, 2009, KaVir wrote in the 28th comment:
Votes: 0
Cratylus said:
They called it the 360 because when you see it you'll turn 360 degrees and moonwalk away.

Surely if you turn 360 degrees you'll actually end up walking straight towards it? :P
09 Jul, 2009, Cratylus wrote in the 29th comment:
Votes: 0
KaVir said:
Cratylus said:
They called it the 360 because when you see it you'll turn 360 degrees and moonwalk away.

Surely if you turn 360 degrees you'll actually end up walking straight towards it? :P


:)

-Crat
http://lpmuds.net/moonwalk.jpg
09 Jul, 2009, David Haley wrote in the 30th comment:
Votes: 0
I thought the 360-then-moonwalk was actually pretty cute. :smile:

(KaVir, moonwalking is a dance move that is, basically, walking backwards.)
09 Jul, 2009, KaVir wrote in the 31st comment:
Votes: 0
David Haley said:
(KaVir, moonwalking is a dance move that is, basically, walking backwards.)

Oops…well, there you go then, shows what I know!
09 Jul, 2009, Scandum wrote in the 32nd comment:
Votes: 0
KaVir said:
You've said you want to model your galaxy as realistically as possible, based on what the Milky Way will look like in 2000 years, with humans exploring the galaxy and discovering alien races.

Well, the Milky Way has a diameter of approximately 100,000 light years and contains an estimated 200-400 billion stars. I'm assuming you don't plan to hand-build them all, thus my question was how many do you plan to have? How many of those 200-400 billion stars can I explore?


Generating something of that order doesn't seem very feasible. Regardless, one thing that might work:

Use three 64 bit integers to handle coordinates. Use a 1001x1001 grid of pointers with each index representing 100 cubic light years and coord 500,500 being the galactic core. 1 light year would be 300,000,000 meters, so the breadth of the galaxy would be 30,000,000,000,000 meters. You'd divide the x/y coord by 30000000000 to get the grid index, which would contain all the objects. Would be preferable to only add solar systems in the grid, and contain smaller objects within the solar systems for processing speed. A solar system in turn would be a 1x1x1 cubic light year. Implementation wise the index in the grid contains a pointer to a sorted array of solar systems, unless you want to waste memory and cpu on using a linked list.

For satellite orbits you can use an algorithm, so you input the system time to update the location of planets, which avoids needing to update solar systems that aren't occupied, but allows updating things to what they should be the moment a player enters.

The actual planets you'd probably want to hash so they can be re-used. This concept has been discussed before, but basically you'd have a generic Luna-like satellite that all Luna-like satellites point to. The moment a player lands on the satellite it'd create a duplicate of the generic Luna satellite and provide the player with one that can be modified, or if a builder desires, customize it and create a new master object that can be hashed and used by several other solar systems. The main advantage of this is that it allows having very complex planets that take up very little memory while in their dormant state.

By seeding a random number generator with the grid's coordinates you could in turn create 1000 pseudo-random solar systems on the fly, and do the same with planets for the individual solar systems, which would allow for 1 billion solar systems that can be explored. One drawback is that the solar systems would all look pretty much alike, but if you allow players to build empires of sorts the concept would work assuming that you add very rare planets (like planets containing life) that players would want to search for.
09 Jul, 2009, David Haley wrote in the 33rd comment:
Votes: 0
You, uh, don't have to literally instantiate a grid for your entire space. We've, uh, been over this before. Just saying.

Anyhow. There are lots of data structures that can rather efficiently represent very large spaces especially if those spaces are relatively sparse. The problem is that the current idea is very much underspecified, I think. I'm not convinced how interesting the "empty space" should be. One idea would be to use it for random encounters, which could possibly be auto-generated from templates.

The point is that the data structures you choose depend a great deal on what exactly you're going to represent with them, and what exactly you're going to do with the things in them. Before these questions are answered, talking about data structures is kind of like taking potshots in the dark because the problem is underspecified, meaning that you cannot properly (a) meet the requirements (because you don't know what they are) and (b) create efficient solutions (because you don't know what kind of queries you'll be doing).
09 Jul, 2009, Scandum wrote in the 34th comment:
Votes: 0
David Haley said:
You, uh, don't have to literally instantiate a grid for your entire space. We've, uh, been over this before. Just saying.

To quickly summarize that debate, using a balanced binary tree you'd trade in 8 MB of memory and O(1) searches and insertions for 0 - 24 MB of memory and O(logN) searches and insertions. In this case it'd probably be preferable to not use a grid, unless spending 8 MB of memory isn't a big deal or you want a crap load of active content / random access.

edit: What Haley said.
09 Jul, 2009, David Haley wrote in the 35th comment:
Votes: 0
The world has more choices in it than literal grids and straight binary trees.

BTW, the notation is O(1), not N(1).
09 Jul, 2009, Scandum wrote in the 36th comment:
Votes: 0
David Haley said:
The world has more choices in it than literal grids and straight binary trees.

We'd be so lost without you stating the obvious.
09 Jul, 2009, David Haley wrote in the 37th comment:
Votes: 0
Then stop acting like the only alternative to your "pointer grid hash map" is a balanced binary tree. :rolleyes:

Anyhow, at the risk of repeating myself, the problem needs to be more specified before informed data structure decisions may be made.
09 Jul, 2009, Tyche wrote in the 38th comment:
Votes: 0
What do you mean by grid?
What would find of interest in the dead space between galaxies and stars?
09 Jul, 2009, Banner wrote in the 39th comment:
Votes: 0
Tyche said:
What do you mean by grid?
What would find of interest in the dead space between galaxies and stars?

I would like this whole grid thing explained as well. The whole basis for me wanting to redesign is to put all of space and ships into one 'galaxy'. You wouldn't need to 'calculate starsystem x y z', you'd 'calculate x y z'. Planets, ships, stations and all of that would be in one giant starsystem. I don't know what you mean by putting it into a grid, but the method KaVir described with the tracking a player's plot over one does seem intriguing and would be of great use if I knew how to sontruct it.

As for the need for deadspace? Have you looked at stock SWR space? It's dull and boring. You are stuck going to the predefined systems and you can see everything where you are. With deadspace, you can escape to the solitudes of space, get stranded, have space battles way out in the middle of nowhere. I guess realism is the sole purpose of the redesign.

I originally began to pursue a method like Zenn described, which is strikingly familiar to LOTJ's method *cough*, but I scrapped the idea as it is too generic and not broad enough for the system I want to end up with.
09 Jul, 2009, David Haley wrote in the 40th comment:
Votes: 0
I wouldn't make dead space just for the sake of realism. The other things you described sound far more interesting because they actually involve game play.

If dead space truly is empty, i.e. you're not going to be auto-generating content etc., that's a pretty important thing to know when choosing a data structure.
20.0/76