Dynamics
Since the universe is procedurally generated and infinite, I take it you can't just compute everything that's happening in the rest of the universe.
Say I start a game in universe 4321 and I explore some sector after 10 hours of gameplay, I'll find the factions there in some state of advancement, relationships and status. If my friend plays in the same 4321 universe but goes to that sector only after 200h+, will (s)he find it in the exact same state? Will it be different based on the time at which it's discovered? Will it be more random (in that two people finding the same sector at the exact same time might not find it in the exact same situation)?
Persistence
As for everything that has been discovered. If it's all saved on disk, wouldn't you theoretically run into space problems? If I explore relentlessly for 2000h and the system has to track my personal relationship with every NPC I've met along the line, won't the savegame get impossibly HUGE?
Post
Wed Nov 21, 2012 2:56 pm
#2
The first question is actually an incredibly deep one. The short answer is that yes, it will be different - universes will slowly diverge based on how long you've played. Naturally, many things will be the same across different players' universes. Factions and stations are likely to stay in existence for quite a while, planets pretty much forever, and of course the systems, system backgrounds, and system layouts will be identical. But smaller, more dynamic things like the actions of individual NPCs, when and where battles are fought, etc, will not be the same unless both players act in precisely the same way.
You're absolutely right - it's impossible to simulate a universe of infinite size in finite time, so LT is going to be pulling some tricks on you to make it look that way without having to really do it. As you might guess, part of those tricks will be that systems you've explored and, in particular, system in which you have many assets, will be simulated at a high LOD while systems you have never explored will hardly be simulated at all. This means that the order in which you discover and explore systems will impact the way your universe works. It's just a fundamental limitation that I see no way of getting around, unfortunately!
As for the second question, it's difficult to say without having worked much on saving. I will certainly have to be clever about what I choose to store, and indeed, it's probably true that after a certain amount of play, your savegame might become too large. But I will strive to make that certain amount impossibly high. The good news is that my saving system is really space-efficient, and I will layer compression on top of it. I don't anticipate this being too much of an issue, even if you play for 2000h. But it's certainly something that I'll have to keep an eye on and solve incrementally.
Re: Dynamics and persistence
Ah, brilliant. You've hit upon some absolutely key questions.Atarun wrote:Dynamics
Since the universe is procedurally generated and infinite, I take it you can't just compute everything that's happening in the rest of the universe.
Say I start a game in universe 4321 and I explore some sector after 10 hours of gameplay, I'll find the factions there in some state of advancement, relationships and status. If my friend plays in the same 4321 universe but goes to that sector only after 200h+, will (s)he find it in the exact same state? Will it be different based on the time at which it's discovered? Will it be more random (in that two people finding the same sector at the exact same time might not find it in the exact same situation)?
Persistence
As for everything that has been discovered. If it's all saved on disk, wouldn't you theoretically run into space problems? If I explore relentlessly for 2000h and the system has to track my personal relationship with every NPC I've met along the line, won't the savegame get impossibly HUGE?
The first question is actually an incredibly deep one. The short answer is that yes, it will be different - universes will slowly diverge based on how long you've played. Naturally, many things will be the same across different players' universes. Factions and stations are likely to stay in existence for quite a while, planets pretty much forever, and of course the systems, system backgrounds, and system layouts will be identical. But smaller, more dynamic things like the actions of individual NPCs, when and where battles are fought, etc, will not be the same unless both players act in precisely the same way.
You're absolutely right - it's impossible to simulate a universe of infinite size in finite time, so LT is going to be pulling some tricks on you to make it look that way without having to really do it. As you might guess, part of those tricks will be that systems you've explored and, in particular, system in which you have many assets, will be simulated at a high LOD while systems you have never explored will hardly be simulated at all. This means that the order in which you discover and explore systems will impact the way your universe works. It's just a fundamental limitation that I see no way of getting around, unfortunately!
As for the second question, it's difficult to say without having worked much on saving. I will certainly have to be clever about what I choose to store, and indeed, it's probably true that after a certain amount of play, your savegame might become too large. But I will strive to make that certain amount impossibly high. The good news is that my saving system is really space-efficient, and I will layer compression on top of it. I don't anticipate this being too much of an issue, even if you play for 2000h. But it's certainly something that I'll have to keep an eye on and solve incrementally.
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post
Wed Nov 21, 2012 3:08 pm
#3
Same thing with the stuff the player did. After a while, only the big things leave any kind of memory, right? So your log could feature every detail for the past in-game month or so, and then gradually faze out the little details. If I totally save a faction's ass, I'd expect them to remember it for decades if not centuries, but if I trade a ton of ore with a merchant, I'd expect him to remember my name for a month or so, nothing more. If anything, it's weird that in most games everybody knows what you (as a player) did and they never ever forget about it.
Again, just throwing random ideas. I hope that if they're not useful directly, at least they'll help you get some better ones.
Re: Dynamics and persistence
JoshParnell wrote: Ah, brilliant. You've hit upon some absolutely key questions.
Well, sure, it's an unavoidable pitfall of infinite universes. It's not a bad thing in and of itself either, since two people coming to the same universe would still have slightly different experiences (so, yeah, your playthrough really is just your own). Actually, I think it's über-cool, because most games have the whole universe stand completely still (despite it being finite) and most often the order in which you discover things doesn't change anything at all. Heck, you can meet a guy who tells you he's going to die the next day if you don't find some cure for him, go do something else for 200h and when you come back he's still exactly in the same position (of dying tomorrow if you don't bring a cure)... Having a universe where the time at which you discover things impacts them and the path you take through the universe influences it sounds much more like a selling point than a flaw to me.The first question is actually an incredibly deep one. The short answer is that yes, it will be different - universes will slowly diverge based on how long you've played. Naturally, many things will be the same across different players' universes. Factions and stations are likely to stay in existence for quite a while, planets pretty much forever, and of course the systems, system backgrounds, and system layouts will be identical. But smaller, more dynamic things like the actions of individual NPCs, when and where battles are fought, etc, will not be the same unless both players act in precisely the same way.
You're absolutely right - it's impossible to simulate a universe of infinite size in finite time, so LT is going to be pulling some tricks on you to make it look that way without having to really do it. As you might guess, part of those tricks will be that systems you've explored and, in particular, system in which you have many assets, will be simulated at a high LOD while systems you have never explored will hardly be simulated at all. This means that the order in which you discover and explore systems will impact the way your universe works. It's just a fundamental limitation that I see no way of getting around, unfortunately!
One thing you could do is have NPCs progressively lose interest if you don't contact them for a long time. I mean, realistically, if you stay 10 years without contacting someone you had just traded with for a while, they won't remember your name at all. That way, you could drop parts of the history without losing anything gameplay-wise. If anything, it would add more realism to NPC reactions.As for the second question, it's difficult to say without having worked much on saving. I will certainly have to be clever about what I choose to store, and indeed, it's probably true that after a certain amount of play, your savegame might become too large. But I will strive to make that certain amount impossibly high. The good news is that my saving system is really space-efficient, and I will layer compression on top of it. I don't anticipate this being too much of an issue, even if you play for 2000h. But it's certainly something that I'll have to keep an eye on and solve incrementally.
Same thing with the stuff the player did. After a while, only the big things leave any kind of memory, right? So your log could feature every detail for the past in-game month or so, and then gradually faze out the little details. If I totally save a faction's ass, I'd expect them to remember it for decades if not centuries, but if I trade a ton of ore with a merchant, I'd expect him to remember my name for a month or so, nothing more. If anything, it's weird that in most games everybody knows what you (as a player) did and they never ever forget about it.
Again, just throwing random ideas. I hope that if they're not useful directly, at least they'll help you get some better ones.
Post
Wed Nov 21, 2012 3:16 pm
#4
I agree that big things, like saving an individual's or a faction's ass should never be forgotten, whereas more minor interactions can be culled from memory. Perhaps even the big things you do should gradually fade in importance to an NPC or faction - but unless the game is simulating actual decades of real time, the major things you do for people shouldn't appreciably fade.
Re: Dynamics and persistence
I really like that - what an elegant solution to part of the savegame bloat problem! I think you're right - that would actually enrich the sense that the AI represents living, breathing people with more to do than obsess over the player 24/7.Atarun wrote: Same thing with the stuff the player did. After a while, only the big things leave any kind of memory, right? So your log could feature every detail for the past in-game month or so, and then gradually faze out the little details. If I totally save a faction's ass, I'd expect them to remember it for decades if not centuries, but if I trade a ton of ore with a merchant, I'd expect him to remember my name for a month or so, nothing more. If anything, it's weird that in most games everybody knows what you (as a player) did and they never ever forget about it.
Again, just throwing random ideas. I hope that if they're not useful directly, at least they'll help you get some better ones.
I agree that big things, like saving an individual's or a faction's ass should never be forgotten, whereas more minor interactions can be culled from memory. Perhaps even the big things you do should gradually fade in importance to an NPC or faction - but unless the game is simulating actual decades of real time, the major things you do for people shouldn't appreciably fade.
Post
Wed Nov 21, 2012 3:18 pm
#5
Re: Dynamics and persistence
Gosh, I never thought I'd miss the "Like" feature. But really, I just would like to say I agree with your post, man.insolent wrote:I really like that - what an elegant solution to part of the savegame bloat problem! I think you're right - that would actually enrich the sense that the AI represents living, breathing people with more to do than obsess over the player 24/7.
I agree that big things, like saving an individual's or a faction's ass should never be forgotten, whereas more minor interactions can be culled from memory. Perhaps even the big things you do should gradually fade in importance to an NPC or faction - but unless the game is simulating actual decades of real time, the major things you do for people shouldn't appreciably fade.
Post
Wed Nov 21, 2012 4:00 pm
#6
Re: Dynamics and persistence
Maybe because my post agreed so thoroughly with your own!Atarun wrote: Gosh, I never thought I'd miss the "Like" feature. But really, I just would like to say I agree with your post, man.
Post
Wed Nov 21, 2012 4:04 pm
#7
That said, your post brings up a very interesting question, IMO: how will time flow in-game as compared to real time? Will a typical playthrough span months? Years? Decades? Centuries?
Re: Dynamics and persistence
Probably, yes.insolent wrote:Maybe because my post agreed so thoroughly with your own!
That said, your post brings up a very interesting question, IMO: how will time flow in-game as compared to real time? Will a typical playthrough span months? Years? Decades? Centuries?
Post
Wed Nov 21, 2012 4:08 pm
#8
Re: Dynamics and persistence
That is a good question, and I too would like to know what Josh thinks.Atarun wrote: That said, your post brings up a very interesting question, IMO: how will time flow in-game as compared to real time? Will a typical playthrough span months? Years? Decades? Centuries?
Post
Wed Nov 21, 2012 7:57 pm
#9
Re: Dynamics and persistence
I agree, Atarun, that is a great idea. I'm sure I (well, "we," I suppose!) will develop many such tricks for compressing the save files while retaining as much universe persistence as possible. Again, it's not worth worrying about until we know exactly how much of a problem it will be. Definitely an example of one of the age-old mistakes in programming..thinking prematurely about optimizations that aren't actually necessary. After all, you can store a huge amount of binary data in a few MB, *especially* if each asset is only represented by a single seed number!
As for the question of time scale, I really don't know...although it seems kind of arbitrary, I mean, what metric would there be for measuring the passing time? IMO it's kind of a moot point, because I don't know how you would tell (unless I implemented, for example, seasonal planet vegetation or something like that..)
As for the question of time scale, I really don't know...although it seems kind of arbitrary, I mean, what metric would there be for measuring the passing time? IMO it's kind of a moot point, because I don't know how you would tell (unless I implemented, for example, seasonal planet vegetation or something like that..)
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post
Thu Nov 22, 2012 1:46 am
#10
It's interesting, but it might make the universe much harder to relate to. It also begs the question of how to track things if there is no time. How do you stamp the logs? How do you track your teams to make sure they aren't going on vacation on company's dime and nothing bad happened to them? Do people make appointments at all? How?
I think it'd be a lot easier to factor time in your model. Game-time, I mean. But of course, if centuries go by in-game, then it brings the question of how long exactly can those people live? Are they all immortal? If they are, why can they die of some things (like their ships exploding with them inside, I assume) but not age?
Re: Dynamics and persistence
Well then it means there is no game-time, if there's no way to tell. Time, after all, is a concept entirely and solely dependent on one's ability to measure its passing. The number of hours of play before you discover a sector would thus just be a random seed, not a reflection of a time that would make sense inside the universe itself.JoshParnell wrote:I agree, Atarun, that is a great idea. I'm sure I (well, "we," I suppose!) will develop many such tricks for compressing the save files while retaining as much universe persistence as possible. Again, it's not worth worrying about until we know exactly how much of a problem it will be. Definitely an example of one of the age-old mistakes in programming..thinking prematurely about optimizations that aren't actually necessary. After all, you can store a huge amount of binary data in a few MB, *especially* if each asset is only represented by a single seed number!
As for the question of time scale, I really don't know...although it seems kind of arbitrary, I mean, what metric would there be for measuring the passing time? IMO it's kind of a moot point, because I don't know how you would tell (unless I implemented, for example, seasonal planet vegetation or something like that..)
It's interesting, but it might make the universe much harder to relate to. It also begs the question of how to track things if there is no time. How do you stamp the logs? How do you track your teams to make sure they aren't going on vacation on company's dime and nothing bad happened to them? Do people make appointments at all? How?
I think it'd be a lot easier to factor time in your model. Game-time, I mean. But of course, if centuries go by in-game, then it brings the question of how long exactly can those people live? Are they all immortal? If they are, why can they die of some things (like their ships exploding with them inside, I assume) but not age?
Post
Thu Nov 22, 2012 5:24 am
#11
Re: Dynamics and persistence
Planets will be in existence only "pretty much" forever? Procedurally generated Death Stars confirmed!JoshParnell wrote: Factions and stations are likely to stay in existence for quite a while, planets pretty much forever,
Post
Thu Nov 22, 2012 6:25 am
#12
Re: Dynamics and persistence
If the universe is generated continually the deeper you go with no end procedurally with enough differences and given the infinite number of monkeys scenario, could each universe generally contain death stars. Maybe a space station or ship will be the size of a death star and ball shaped, somewhere....
Post
Thu Nov 22, 2012 6:38 am
#13
Re: Dynamics and persistence
I'm not quite following you guys. I assuming the universe is created at once and not built as you move along. (I could be very wrong though) Therefore you already have its extents, so if you nominate a maximum speed, you then have an idea how "long" it will take to traverse points. So there is indeed an element of time, it's an element of time based on you the player. It's up to game creator to decide to show time as a factor or not. For example: 2 worlds, millions of lights years apart. I'm on planet A, then I choose to goto planet B The game can show me fall asleep and then wake up, or do some sort of millenium falcon warp 'jump', so only moments have passed for me as the player, but behind the scenes a gazillion years has passed for me to get there. Does the player care? Do we need the game to show that vast amounts of time has passed? If we head back to Planet A again. Do we need to show the little city we left on Planet A is now a metropolis that covers the entire planets surface? You could do it procedually, no problems, but it would confuse the hell out of players.
Post
Thu Nov 22, 2012 6:50 am
#14
Re: Dynamics and persistence
Yes Deej you may well be right and I cannot remember what Josh said.
But would be cool if not now then sometime in the future the generation is done as required making the universe limitless and not closed.
On the subject of closed universes will there be Dark matter
But would be cool if not now then sometime in the future the generation is done as required making the universe limitless and not closed.
On the subject of closed universes will there be Dark matter
Post
Thu Nov 22, 2012 7:00 am
#15
1) The universe cannot be created at once. It is infinite. It has to be generated progressively as you explore. But because it's generated from a given seed, without any tricks, it will always produce the same things in the same places. Josh already said (first answer in this thread) that there would be tricks pulled to tweak that a little so that if player A and player B discover the same sector at two completely different time (in terms of how many hours of gameplay they put beforehand and what path they took through the game), they will not find the exact same situation. If they did, it would mean that the "unknown" universe doesn't exist at all until the player character discovers it... which is admittedly what will happen technically (again, infinite universe), but there's no reason why the engine cannot attempt to hide that.
2) I care about time. More specifically, I care about how time will impact the relationships between my characters and factions and NPCs as well as factions' relationships and status. I'm not saying there's a better way to do things, just that I would like to know how it will be in LT and it matters to me.
Re: Dynamics and persistence
Two things:Deej wrote:I'm not quite following you guys. I assuming the universe is created at once and not built as you move along. (I could be very wrong though) Therefore you already have its extents, so if you nominate a maximum speed, you then have an idea how "long" it will take to traverse points. So there is indeed an element of time, it's an element of time based on you the player. It's up to game creator to decide to show time as a factor or not. For example: 2 worlds, millions of lights years apart. I'm on planet A, then I choose to goto planet B The game can show me fall asleep and then wake up, or do some sort of millenium falcon warp 'jump', so only moments have passed for me as the player, but behind the scenes a gazillion years has passed for me to get there. Does the player care? Do we need the game to show that vast amounts of time has passed? If we head back to Planet A again. Do we need to show the little city we left on Planet A is now a metropolis that covers the entire planets surface? You could do it procedually, no problems, but it would confuse the hell out of players.
1) The universe cannot be created at once. It is infinite. It has to be generated progressively as you explore. But because it's generated from a given seed, without any tricks, it will always produce the same things in the same places. Josh already said (first answer in this thread) that there would be tricks pulled to tweak that a little so that if player A and player B discover the same sector at two completely different time (in terms of how many hours of gameplay they put beforehand and what path they took through the game), they will not find the exact same situation. If they did, it would mean that the "unknown" universe doesn't exist at all until the player character discovers it... which is admittedly what will happen technically (again, infinite universe), but there's no reason why the engine cannot attempt to hide that.
2) I care about time. More specifically, I care about how time will impact the relationships between my characters and factions and NPCs as well as factions' relationships and status. I'm not saying there's a better way to do things, just that I would like to know how it will be in LT and it matters to me.