Return to “Technical”

Post

Re: Some More Tech Details (AI, Etc)

#17
Yah, I've played the bits off of that game and turned it inside out. Several times. Currently on X3-hiatus because there isn't anything new to discover so I'm going around, looking for the (next) perfect game.
I want more game!
And no worries about inflating my ego there. It's capped.
There is no "I" in Tea. That would be gross.
Post

Re: Some More Tech Details (AI, Etc)

#18
i still have the problem to imagine a complex faction economy space game in a procedural enviroment... i can't believe that my hardware can handle this stuff.
all i can think about is that LT will have to be cut down so everything is just spawning when i arrive.. with maybe some logic like: "hey in this system there should be the "strong" faction XYZ.. so i generate some stuff for them according to the level "strong"..i don't care if they had the technology or resources to build that dreadnought some time ago.. now they have it!"..

then it wouldn't be a real simulation anymore... just a "spawning stuff for the player to shoot at" game... and that's my fear.. i don't want it to be a shooter game but a complex simulation... i already hated that feeling in X3..



p.s. sorry about my bad english.. not my first language :/
Post

Re: Some More Tech Details (AI, Etc)

#19
My guess is that... it's not that easy to classify. =)

If I was a gambler I'd bet on a hybrid. A LOD system where "discovered" objects will be tracked until they travel "this far" or "for that long" out of sight of the player.
Then they are sucked back into the "power pool" of a system or faction or a cloud covering x volume with y "density of merchant ships".
When the player moves closer to this system / faction again, the resolution increases. The generic power of the local forces fragments into fleets, task forces, and eventually individual ships.
An enemy "fleet" could be traveling through a nearby system - and the AI could react to it - while the ships in the fleet do not yet exist as individual objects.

A fleet could have it's own seed, too. This way the entire fleet could be deconstructed and rebuilt again with the exact same ships - down to the carried equipment and crew member names - while "in flight" none of these ships actually exist.
It's a very abstract and alien system if you are used to content-based systems like most games where a ship is a ship and stays a ship during it's entire lifetime, no matter where it goes.

The universe seed and procedural generation rules make sure that the same kind of items are generated every time. It doesn't matter if they are the exact same objects as before or new ones of the same kind...
The beauty of PG is that you don't have to save the entire universe but if two players were to travel to a specific system, they would find almost exactly the same things.
It's like flying through a fractal graphic. You seem to move through it while actually you're not going past anything. You're standing still. There is no content. You are sitting inside of... an equation.

For events that happen a long way out there, the required accuracy of the outcome is minimal so it's not much of a CPU drain.


How this would affect an economy in particular is impossible to say because it's unknown what kind of economy will be there at the highest LOD...
There is no "I" in Tea. That would be gross.
Post

Re: Some More Tech Details (AI, Etc)

#20
Gazz wrote:A fleet could have it's own seed, too. This way the entire fleet could be deconstructed and rebuilt again with the exact same ships - down to the carried equipment and crew member names - while "in flight" none of these ships actually exist.
That sounds relatively easy, the difficulty of course comes about in how interactions at the micro level then influence things at the macro level, and vice versa. For example:
1) Say I come across a fleet for the first time, they are generated based off their seed, I have a bit of a skirmish with them and manage to destroy a couple of the ships. I then move far away from them, dropping them back into a coarse grain LOD, later I come back -> I expect that the ships that I have destroyed will still be destroyed and not just be regenerated off the seed (this has already been discussed of course in other threads and it sounds like the way things will happen, seed + extra state data).

2) Starting with scenario 1 but this fleet then engages another fleet while being processed at a coarse LOD, the fact that some of their ships were destroyed in the earlier conflict should be taken into account when calculating the battle (maybe as simple as the fleet having a total attack and defence score that is modified from previous loses).

3) Starting with scenario 2, I meet up with the fleet after their battle, which they won but suffered loses in.... at the coarse LOD all that may have been required to know was that they had lost X amount of attack points and Y amount of defence points, but as we get closer those abstract numbers have to be resolved into which given ships were destroyed in the battle. Up until this point that state data wasn't required, but when you get close enough it would be resolved and then be stored as THE state of that fleet.
Post

Re: Some More Tech Details (AI, Etc)

#21
so IF the engine works similar to this i could imagine that in a far away sector (where the LOD is really really low) the only data stored is type/name of the faction and its "powerlevel"... a simulated war between two factions 100 systems away is not really interesting (as long as i don't have any stuff near it *g) soo it could be downsized to decrease/increase the powerlevel of each faction in each system over time...
if i travel back to them, the simulation will be more detailed... a faction with powerlevel 8345 will have several fleets with power level 800 who fights against another faction with only powerlevel 5580 and they have less fleets but also fewer systems to defend (so it's no X>Y = Y dead)...
the nearer i get the more detail... fleets will be splitted into ships.. and if i'm near the combat i can see the battlecruiser firing on the enemy cruiser destroying the thrusters and the left laser beam and causing 12 deaths and 25 injured on the cruiser..

that's all fine for me... but how are ships for each faction produced... will they need minerals to be build or will the engine just spawn them according to the "powerlevels"... what happens if I own the only Uradonium-mine around and they need the mineral to build their battlecruisers but i don't sell it to them... ?! or what if there's no mineral available at all.. ? no battlecruisers in their fleets?!

or is this to much detail? does it matter? maybe I'm just to much into this :)

Of course I want to have a playable game and not a deeeeeep simulation which kills my hardware everytime i explore more then 10 systems :) but still i would like to see that it DOES matter if i control a certain mineral or kill all the freighters with that stuff or sell it to one faction for a real low price and in large amounts so they can push out warships like mad...

as it is procedural it doesn't matter to the gameplay if one faction dies a horribly death.. a new one will be created for sure... so there is no need to maintain a undestructible base or free ships to make it interesting like in X3 ...
but still i fear that to much detail will make the game unplayable and to less detail will make it a "just shoot at the spawning ships for fun"-game where i can't play like i want it (e.g. as a rich trading empire which can destroy other factions with trade embargos :-) )

don't get me wrong.. i'm really looking forward to this game and i'm pretty sure that it be awesome to explore new systems and factions and the combat system is really looking good :) but still in the endgame i would like to the a detailed economy and that's where i may have to many wishes for the current hardware :)

hm if Josh implements the code but the engine will only use it as long as the capacity is available, then i guess it would be enough for me.. i could stay in one sector to get this amount of detail and forget about the rest :)

we'll see :)
Post

Re: Some More Tech Details (AI, Etc)

#23
Ridon wrote:that's all fine for me... but how are ships for each faction produced... will they need minerals to be build or will the engine just spawn them according to the "powerlevels"... what happens if I own the only Uradonium-mine around and they need the mineral to build their battlecruisers but i don't sell it to them... ?! or what if there's no mineral available at all.. ? no battlecruisers in their fleets?!
It would depend on the situation as to how the ships were produced, a great many of them would have been produced before you ever entered the game, they are part of the historical context of the game (that was just moments ago procedurally generated, but they have history man).

It is true however that factions would be building new vessels as time goes by. If as you say you do have the only Uradonium (or unobtainium?) mine in the given area, then for them to build new craft they would have to deal with you, which means either come for a fight, or you will have traders turn up on your door wanting to buy.

Theoretically even if they are at a distance that means they are simulated at a coarse grain level then in order to increase their overall strength number they would have to have certain inputs, which would be the inputs that produce ships. So even then you would still expect traders to turn up on your doorstep wanting those resources.

HOWEVER, you say you have the only available source of that resource, and you would be wrong.... in an infinite universe there are infinite sources of that resource.... I guess it just matters how your source relates distance wise from the next closest source.
Post

Re: Some More Tech Details (AI, Etc)

#24
that's correct.. in an infinite universe there should be more than one source for a mineral.. but does the faction who needs this stuff knows about these sources? if not then it's like there is only one source around ? or the next one is also unreachable because it belongs to an enemy... still the question.. will it halt the AI to produce this kind of ship (or ships at all) will they find a way around it (build other ships/weapons without this stuff? like a human would do)

also that raises the question: how many different resources will be generated? procedural generated = unlimited variations? that would indeed crash every simulation... so i guess we have a limited amount... but how many.. only 1 = energy? like in star trek we'll replicate the stuff we need out of energy? would mean that there is no real trade/economy needed.... (of course: energy cells ;) )
so we need some more stuff.. but how much do we need to provide a decent economy/trade simulation without breaking the system.. what about the production chain... minerals -> endprodcut? or several steps?

and another question: will the amount of minerals (if any) be limited per planet/asteroid or will it be infinite like in eve or X3
guess that will be important also... maybe the number will so large that you'll quit playing years before the planets are empty.. but also an interesting feature for a simulation :) but would make much more sense then finding new sources in an already explored system all the time... (respawning asteroids? new sources on planets?)
the need for resources was pushing humanity to expand into new space (and will push us into space again someday).. and to create wars about it... also a nice and easy way to force the AI to go into a war with his neighbor "you have this unobtainium ;) source we need... give it to us or else...."


still can't imagine a procedural game which can handle this amount of data with the current hardware... a small scale game with 10-20 systems could simulate a "real" economy etc. (e.g. distant worlds)
so i guess a lot of this won't make it into the game... but i'm looking forward and hope that the game can trick me into thinking that the economy in this game is working like that :)
Post

Re: Some More Tech Details (AI, Etc)

#25
Gazz wrote:We're still all guessing here but what I would do is implement some sort of LOD system and only scale the distance at which it takes effect.
If you're running this game on a hecaton-core CPU, a much larger region of space around you would be modeled in detail.
of course it's just guessing.. but it sounds like a good approach... and would fit perfectly into a procedural generated game.. the more power, the more it can generate in realtime or the generation can be much more complex.... next step is also: the memory/space is available the more data can be stored (must also be faster ;) )
i really hope that the game will use everything the hardware can give him...

btw for me I think it would be more interesting to model the nearer systems in much more detail (economy *g) and forget about the farther away ones then to limit the "near stuff" but handle more systems in parallel... but i guess there are a lot of people who don't need a complex economy simulation but want more exploration and surprises and stuff... :):)
Post

Re: Some More Tech Details (AI, Etc)

#26
Ridon wrote:that's correct.. in an infinite universe there should be more than one source for a mineral.. but does the faction who needs this stuff knows about these sources? if not then it's like there is only one source around ? or the next one is also unreachable because it belongs to an enemy... still the question.. will it halt the AI to produce this kind of ship (or ships at all) will they find a way around it (build other ships/weapons without this stuff? like a human would do)
This probably doesn't really relate to LOD that much, or more to the point matters no matter what LOD.

If you did have a local monopoly on the given resource then they will either need to buy the resource off you, fight you, or stop growing. If you decided that you weren't going to sell the resource to anyone then I would expect that very soon you would lose it to on faction or another as more and more forces are sent against you. You would need to have a huge military to hold it, but if you did you would then be in a position to form a very powerful empire as other forces couldn't replenish their fleets..... that is until you hit a new part of space that doesn't require your given resource since they have another source.

More likely you would lose it, but if you sold the resource to one faction, but not another then I would hope that the faction that you were selling to would help you defend the resource as its in their interest to do so.
Ridon wrote:also that raises the question: how many different resources will be generated? procedural generated = unlimited variations? that would indeed crash every simulation... so i guess we have a limited amount... but how many.. only 1 = energy? like in star trek we'll replicate the stuff we need out of energy? would mean that there is no real trade/economy needed.... (of course: energy cells ;) )
so we need some more stuff.. but how much do we need to provide a decent economy/trade simulation without breaking the system.. what about the production chain... minerals -> endprodcut? or several steps?
My understanding is that the selection of resources will not be procedurally generated, there will be a fixed set of types of resources, but their locations within the universe will be. I would hope that there would be multi stage production chains.
Ridon wrote:still can't imagine a procedural game which can handle this amount of data with the current hardware... a small scale game with 10-20 systems could simulate a "real" economy etc. (e.g. distant worlds)
so i guess a lot of this won't make it into the game... but i'm looking forward and hope that the game can trick me into thinking that the economy in this game is working like that :)
I really don't see there being much issue simulating 1000's, or even millions of systems on even relatively low end present day hardware. The only systems that need a lot of details managed would be the local cluster, and even then all you are doing is running a few equations per entity.

So say you have an AI trader in a local system that has just arrived at a space station, you run calculate a few equations of what goods are at what prices / his knowledge of the sell price elsewhere / time taken to make the trade / risk in the trade (danger in systems between), which comes to a solution as to the most "profitable" next actions for him. Other factors may come into this, but this would all be done in milliseconds.... BUT the thing is you don't have to do this every second. For this given trader you may not need to do this level of calculation for another hour or so, you will have to do other smaller calculations along the way (based on probabilities of him getting shot in intermediary systems).

And you need nowhere near this level of detail for systems outside the local area. 100's of systems at a large distance could be calculated in the same time that it took to calculate this single trader.
Post

Re: Some More Tech Details (AI, Etc)

#27
Remember, Josh already said that he's not using a script interpreter and using full C++. I can't find the post, but he said that when bypassing a script interpreter, things go more than a couple of orders of magnitude faster.

This, I can believe, as when you write code with C++ and not something more high level, and you're not using a script interpreter, you gain some pretty impressive speed.

I can vouch for this as well, as I've dealt with complex computation with both high and low-level languages.

That being said, I don't know how much LOD will be needed, but I'm guessing not much all things considered. Handling a couple hundred thousand objects off screen isn't that difficult when you start dealing with algorithms that can handle parallelism or just array vectors.

Heck, he could even take advantage of the raw instruction set from the CPU to enhance speed of the code without even diving into ASM.
Image
Early Spring - 1055: Well, I made it to Boatmurdered, and my initial impressions can be set forth in three words: What. The. F*ck.
Post

Re: Some More Tech Details (AI, Etc)

#28
I have faith he can do it.

About the legal aspect, Josh just needs to get something out that ticks the boxes on the features promised which there is a big difference between doing just enough and doing it well, so I certainly think there is not too much risk for him to get something out to fulfill the legal requirements of just enough.

To do it well, that is the hard part, but I have faith from what I have seen and read that he will do a great job and I do know something of software development.
Post

Re: Some More Tech Details (AI, Etc)

#29
This whole concern and debate all seems so amazingly frivolous now. (That Josh Parnell couldn't deliver on a procedural space game? What??)
The doubters sure got quiet. Perhaps they're too busy reading the pages and pages of dev logs. My these people look silly.


(Soon it'll be like, "Procedural space game? Oh yeah that is so easy, look, even this Limit Theory game does it...")

Well, off I go to play the Limit Theory Prototype again.


Have fun everyone!


coder

Online Now

Users browsing this forum: No registered users and 3 guests

cron