Return to “Dev Logs”

Post

Re: [Josh] Monday, May 21, 2018

#46
Flatfingers wrote:
Fri May 25, 2018 12:10 am
I agree with this, within reason. If I'm commanding a magnificent fleet of a thousand ships, I don't really want to be getting spam from 30 of them all the time telling me "nope."

But clear "yes" or "nope" responses from immediate subordinates sounds very useful.
Its mostly a question of how the UI will present the information.
There should be lists/filters of course, that let the player adapt to his current magnitude of assets.
If there is only one or two other ships in the players fleet, then detailed information could be selected to alert with details.
"Negative, my weapons-loadout is insufficient to protect me on that route..., send me a guard ship or something"

With dozents of ships, some kind of asset overview (how is their status, where they are, what is the next order) can let the player have more control.
Marking problems for ships with a simple icon/message.

Selecting a ship/agent can then pop up details, what their current objections/problems are, and what orders they should follow.

X3 had a pretty powerful UI to give all kinds of orders to ships (follow me, follow this ship, go to that system/station, patrol this area etc..)
Just the UI navigation was at time annoying.
Post

Re: [Josh] Monday, May 21, 2018

#48
Flatfingers wrote:
Thu May 24, 2018 11:58 pm
Just off the top of my head (meaning I expect others here can do a lot better), I can see two design decisions that need to be made. First: how are goals to be expressed? Is there a giant Master List of goals that the game understands, and you pick one goal from that list? (Presumably this list would have some internal organization so it's not a hundred pages long.) Or can players (and NPCs) create their own goals by stringing together several constraints, sort of like Mad-Libs where you pick a goal type from a list and then fill in the blanks with the specifics you want?
Those few articles are extremely interesting. It's refreshing that the macro discussion has come up a couple times at least. And I like your thoughts on this and I do believe your right on the nail on the big questions of how the player is going to tell the AI their wishes so that the AI can understand and act on them.
Flatfingers wrote:
Thu May 24, 2018 11:58 pm
So how can both these interests be satisfied?

Are we talking about a global "Level of NPC Autonomy" slider that's basically the percentage chance that any individual NPC will refuse an assignment?
If I recall correctly Josh has mentioned a reputation system

What if that system is used and two reputations are added. One is a sort of broadcast "Saftey" rank for a faction and the other is a "Loyalty" rank of the NPC towards the faction they are apart of.

Let me elaborate

The "Saftey" rank could be a composite rank determined by how a faction uses its NPCs. If a faction has a history of high combat casualties with low enemy kills due to bad tactics the "safety" rank would be lower and vise versa. Or if the faction is expanding too quickly and isn't sparing the resources needed to protects its miners on the edge of its control and is losing them in droves to pirates then the "safety" rank for NPCs who know of the faction lowers and vise versa. This could apply to NPC owned factions and player owned Factions. The lower the "Saftey" rank the harder it will be to find NPCs willing to be hired without offering a huge amount of monetary gain to them. Whether that be salaries of some sort of huge potential profit from owning rare ore fields or something.

The "Loyalty" rank would apply to the atomic NPCs hired into a faction. This would be determined by a multitude of things. Namely time and/or gain. The longer an NPC has been in the faction without incident and how much money it has made or is capable of making would increase this rank. Over time the rank would get so high that they would become almost mindless drones because no matter what you tell them they will blindly believe that whatever you order them to do is in their best interests. Even if there is a high threat level to the command. And what if high "Loyalty" NPCs could give off a "Loyalty" boost to fellow NPCs in the same fleet or area. Then it would become a necessity to preserve the lives of your NPCs during the course of a game because if you're in conflict and having to hire a large number of recruits then you'll need the experienced NPCs to inspire loyalty in them so they'll fight for you. This would mean that NPCs would carry more worth than simply the cost of ore it took to build the ships. You could also, in times of need, raise the amount you pay them substantially to inspire "Loyalty" much quicker. Yes, this could be really expensive if you have thousands of ships fighting a huge war. But then again, war isn't supposed to be cheap. Not to mention a faction couldn't send masses of ships into a slaughter because then you would never have enough experienced NPCs to keep recruits inline, much less the "Saftey" rank to even hire them in the first place without investing huge fortunes into each and every individual NPC.

This type of system would give you military goals and make sabotage missions, surgical strikes, and the like much more meaningful. If you attack the economic engines of a faction and remove its ability to fund a huge military then it could be possible for their fleets to disintegrate to mutiny. Likewise, you would need to defend your own points of interest.
Post

Re: [Josh] Monday, May 21, 2018

#50
A minor point about the 'random event' thing: to what extent are we comfortable that it still fits under the 'procedural' banner?

If using a specific seed value generates you a universe with a 10-planet system at co-ordinates X,Y,Z, is that enough for everyone?
Or are we expecting there to be a Pirate Kingdom ruling that system as well, from that same seed value?

Random events obviously break that, to the point that it seems to me they could mine the entire asteroid fields, cause a black hole to turn their Sun off, or whatever, making the 'procedural' part minimal, especially the longer it takes the player to visit a system.
--
Mind The Gap
Post

Re: [Josh] Monday, May 21, 2018

#51
Ringu wrote:
Tue May 29, 2018 2:59 am
A minor point about the 'random event' thing: to what extent are we comfortable that it still fits under the 'procedural' banner?

If using a specific seed value generates you a universe with a 10-planet system at co-ordinates X,Y,Z, is that enough for everyone?
Or are we expecting there to be a Pirate Kingdom ruling that system as well, from that same seed value?

Random events obviously break that, to the point that it seems to me they could mine the entire asteroid fields, cause a black hole to turn their Sun off, or whatever, making the 'procedural' part minimal, especially the longer it takes the player to visit a system.
I suspect that the combination of LOD simulation for remote systems, heuristics, and possible statistical approaches to AI (i.e. random numbers), mean that there may be differences in AI behaviour from the same seed. And definitely, once players enter the scene, their path definitely will affect AI results. If in one start from a singe seed, the player visits systems 1, 2, and 3 in that sequence and in another start from the same seed, the player visits 1, 3, and 2 in that sequence, their actions will have different impacts on the behaviour of AIs.

So I think that all you can depend on is physical structure being the same. Social structures should be similar each time, but necessarily identical.

Regards,
Charles
Post

Re: [Josh] Monday, May 21, 2018

#52
charles wrote:
Tue May 29, 2018 3:20 am
So I think that all you can depend on is physical structure being the same. Social structures should be similar each time, but necessarily identical.
That's the bit I'm most curious about, with this update from Josh: I can't find any reason the social structures should be even vaguely similar each time. In an entire universe, where random events occur, chances that one planet, much less one system, will have the same series of random events happen during their entire evolution before we get there (for the same seed) is basically zero.

I'm not certain to what extent I'm concerned about it, which is why I was seeking opinion.

In thinking about a procedural universe, I'm sure there will be seeds that produce something spectacular at certain points, and there is a thrill in sharing those with other people since there is no multiplayer. But if events that are not derived identically from the seed can occur, then really, what's the point? A civilisation may have built a Dyson sphere around the only cold star in the neighbourhood, but this would be the only time you'd ever see it.
Worse, if a system is sufficiently advanced, they could physically alter the structure of the system itself - that's what I meant about the black hole, or the hollowing out of the asteroid field - in which case, there *really* is no point having a procedurally generated universe.
--
Mind The Gap
Post

Re: [Josh] Monday, May 21, 2018

#53
Ringu wrote:
Tue May 29, 2018 8:01 am
In an entire universe, where random events occur, chances that one planet, much less one system, will have the same series of random events happen during their entire evolution before we get there (for the same seed) is basically zero.
Pure speculation here: what are the chances that in the first releases there are system altering technologies beyond the currently announced?
  • wormholes
  • warp rails
  • colonies
  • space stations
  • asteroid bases
Given some of Josh's previous musings about the universe generation and LOD simulation of initial history, I'd see no reasons that the general social structure of a universe should radically change when the same seed is re-used.

regards,
Charles
Post

Re: [Josh] Monday, May 21, 2018

#54
Ringu wrote:
Tue May 29, 2018 2:59 am
A minor point about the 'random event' thing: to what extent are we comfortable that it still fits under the 'procedural' banner?

This is actually a gripe I've had since the word "procedural" started popping up in game development. (Ringu, no personal irritation at you here -- your post is just a springboard.)

The working definition of procedural content generation is a set of algorithmic rules that reliably produce the same outputs, mapped to visible features, from a small number of (usually numeric) inputs. The beauty of this is that you can have what appears on-screen to be highly complex behavior but which is actually represented by a relatively very small amount of data that needs to be stored -- the complexity is potential that exists within the code that implements the algorithms.

But what most people mean when they talk about PCG is actually the random generation of content types. This generally isn't output from an algorithm; it's a table look-up based on binning a pseudorandom number.

The numbers "2, 13, 2015, 33, 184" coding for the specific appearance of a fighter ship is procedural content generation. A 0.001% chance every day that a red dwarf star will produce a coronal mass ejection that blinds all sensors in a star system for [2-10] hours is random content generation.

I generally don't fuss about this distinction. But I think it might be helpful to point it out here, since we're specifically talking about the difference between random events and the "procedural generation" of content that Josh has said he wants to do.

Basically, my view is that as long as we understand that "random" and "PCG" aren't the same thing, it's completely fine to say there can be random events in Limit Theory and that Josh is still holding true to the "lots of procedural content generation in LT" pledge.
Post

Re: [Josh] Monday, May 21, 2018

#55
Flatfingers wrote:
Tue May 29, 2018 4:32 pm
The working definition of procedural content generation is a set of algorithmic rules that reliably produce the same outputs, mapped to visible features, from a small number of (usually numeric) inputs. The beauty of this is that you can have what appears on-screen to be highly complex behavior but which is actually represented by a relatively very small amount of data that needs to be stored -- the complexity is potential that exists within the code that implements the algorithms.
To my mind, there are two points of failure in this theoretical ideal (not a criticism of Flatfingers :))
  • it assumes that it is easy to regenerate. It may be ‘cheaper’ to store some intermediate or even final results.
  • it depends on there not being actors that can effect change. This requires that somehow the entire current state of the changed object is stored in addition to the original generator number of the ‘system’ (not necessarily the star system, a ‘system’ could be, for example, a planet that now hosts a colony).
As I understand it, both of these issues can be overcome by the same mechanism.

Regards,
Charles
Post

Re: [Josh] Monday, May 21, 2018

#56
Flatfingers wrote:
Tue May 29, 2018 4:32 pm
(Ringu, no personal irritation at you here -- your post is just a springboard.)
No worries at all, Flat, your post was excellent (and far more eloquent than mine!).

I fully agree with your definitions, and to be clear, I don't have a problem with random events. What I'm debating is whether the random events that produce a colony would produce an outcome potentially so variable that the only really viable procedural content would become the physical structure of the star systems, and potentially even that might be up for grabs if the colony is sufficiently advanced by the time the player visits.

It's really an unanswerable question of determining the point at which we can say procedural generation is no longer useful (because it gets overridden by so many colonys' random events).
--
Mind The Gap
Post

Re: [Josh] Monday, May 21, 2018

#57
I've thought of a simpler way to get at the distinction between "procedural" and "random" generation of content:

  • Procedural generation is about writing logic that reliably interprets input data values as visible and dynamic representations.
  • Random generation is about writing logic that produces good input data values.

I think this formulation makes it pretty clear that Limit Theory will need good efforts in both of these different but related areas of automated content generation.

charles wrote:
Tue May 29, 2018 8:02 pm
it assumes that it is easy to regenerate. It may be ‘cheaper’ to store some intermediate or even final results.

Sure... though this case implies you may be better off using some generation system that isn't procedural. ;)

charles wrote:
Tue May 29, 2018 8:02 pm
it depends on there not being actors that can effect change. This requires that somehow the entire current state of the changed object is stored in addition to the original generator number of the ‘system’ (not necessarily the star system, a ‘system’ could be, for example, a planet that now hosts a colony).

That's also a good point. I'd argue it's part of why Spore's content creation system worked:



Spore's creatures were pleasing because the PCG operated at a relatively low level. All the procedurally generated pieces of a thing needed some logic to make them operate plausibly together, but each piece was at a sufficiently low level that it wasn't disturbed by outside influences.

Ringu wrote:
Wed May 30, 2018 3:16 am
I don't have a problem with random events. What I'm debating is whether the random events that produce a colony would produce an outcome potentially so variable that the only really viable procedural content would become the physical structure of the star systems, and potentially even that might be up for grabs if the colony is sufficiently advanced by the time the player visits.

It's really an unanswerable question of determining the point at which we can say procedural generation is no longer useful (because it gets overridden by so many colonys' random events).

Maybe the simplified/focused functional distinction I suggested at the top of this post could help here?

If I understand you, it sounds like you're suggesting the difficulty is developing code that generates good random values (where "good" means "produces generally enjoyable gameplay objects, dynamics, and events"). It's easy to imagine wildly random values producing an unplayable star system. But a smartly-constrained random value generator (that's not too constrained!) should work with the procedural content generation systems, rather than swamping them in bizarre configurations.

This definitely puts a lot of work onto the shoulders of Josh and Adam. I think I'd like to see what they come up with before I conclude they may not be up to this challenge, but that's me.
Post

Re: [Josh] Monday, May 21, 2018

#58
Flatfingers wrote:
Wed May 30, 2018 4:05 pm
If I understand you, it sounds like you're suggesting the difficulty is developing code that generates good random values (where "good" means "produces generally enjoyable gameplay objects, dynamics, and events"). It's easy to imagine wildly random values producing an unplayable star system. But a smartly-constrained random value generator (that's not too constrained!) should work with the procedural content generation systems, rather than swamping them in bizarre configurations.
Please excuse my blundering attempts to explain myself; I'm off my game at the moment with too many work and personal things going on.

My perception of a procedurally-generated universe as LT has been described as having, is that a single seed value would produce an entire universe that was always the same, each time I ran the generator.

My best example for this is not really 100% accurate, but please take the original Elite.
Each new star system had a name, a species description, and so on. And the same seed value meant that they would be consistent across runs.
So, Lave was always called Lave, etc.

My only point here was, in LT, if the system's natives had sufficient random events in the evolution of their colony, would they eventually decide that Lave was a name that restricted profits somehow, and if they changed it to Eval, they could make more money.
At that point, with the same seed value, you've suddenly generated a different civilisation.

Whereas I'd expect the same seed value to produce a system called Lave, if I tried to share that with someone, giving them the seed wouldn't necessarily help.
And then you can take this to extremes and suggest that all systems could be affected in greater or lesser ways, to the point that 'procedural generation' doesn't really mean anything because the random events change it all anyway.

So if I take a seed, and come up with 4 star systems and 12 planets, your use of the same seed might generate 3 star systems with 16 planets.
If that happens, why bother with procedural generation at all?

Of course this is reductio ad absurdum, mainly because I'm being thick and unable to write what I mean :-)

So my question from all this is, at what point does procedural generation get subsumed by random events, to the point where it's not worth generating it that way at all? It seems to me that we're kinda assuming that the physical structure of a star system is the baseline procedurally generated data, and the social structure can't have a sufficiently large impact to change that physical structure, but that means that we shouldn't consider the civilisations to be procedurally generated at all, and therefore, do we end up with something that isn't really worth procedurally generating in any aspect?

I think what I'm really questioning is whether random input data is useful alongside procedurally generated input data, in universe generation.
This definitely puts a lot of work onto the shoulders of Josh and Adam. I think I'd like to see what they come up with before I conclude they may not be up to this challenge, but that's me.
To be clear, I'm not in any way questioning their ability, here; this is a higher-level purpose question, instead.
--
Mind The Gap
Post

Re: [Josh] Monday, May 21, 2018

#59
Ringu wrote:
Thu May 31, 2018 1:55 am
So my question from all this is, at what point does procedural generation get subsumed by random events, to the point where it's not worth generating it that way at all? It seems to me that we're kinda assuming that the physical structure of a star system is the baseline procedurally generated data, and the social structure can't have a sufficiently large impact to change that physical structure, but that means that we shouldn't consider the civilisations to be procedurally generated at all, and therefore, do we end up with something that isn't really worth procedurally generating in any aspect?
I’m now not sure if your question is so abstract that it is not actually about Limit Theory at all.

Assuming for the moment that it is about Limit Theory, I suggest that you go to the proposed functionality list and work through it to see what changes that the AI might be able to achieve in any star system. Then assume that’s pretty much the possible variation in you might see if you visit a specific system at different timespans after starting from the same seed.

AI’s changing their system’s names for marketing reasons is not in the list, neither is the creation of black holes that can blow up a system, so I assume that they are not planned for version 1.

If, however, your question is actually abstract, then, as I understand it, a completely reproducible procedural universe is just not compatible with the concept of allowing you play in that universe and make even the smallest change.

Regards,
Charles
Post

Re: [Josh] Monday, May 21, 2018

#60
Ah, gotcha, Ringu -- you're thinking about the "seed" question.

I don't know if this will assuage your concerns, but here's my personal guess at how Josh may handle this.

  • A seed value is one of the two components for guaranteeing "identical universes"; the other is elapsed time, which must be a fixed value.
  • There should be zero random events between the start and end of universe generation.

The moment that universe generation is complete, the same seed should produce identical universes. Only after the clock starts ticking -- the player starts playing -- should identical universes start to diverge as random events begin to occur.

There's a thought: what if there are zero random events? As long as players take zero action in the gameworld, this should mean that universes with identical seeds remain identical forever. Basically the old Cartesian definition of a clockwork universe.

What I don't know is whether Limit Theory can be fun with no random events of any kind. :D Seriously, that's a Josh-level question: to what extent are random events (at any level from generating space station resources to stars exploding) necessary in Limit Theory to insure that there's always something interesting/fun happening somewhere?

Online Now

Users browsing this forum: No registered users and 2 guests

cron