Return to “Dev Logs”

Post

Re: [Josh] Friday, April 20, 2018

#17
Very exciting stuff. I'm glad to see the emphasis on gameplay in the last two devlogs.

I hope, as you implement the economy mechanics, that you keep in mind the capriciousness of the human animal, and consider that rationality may be more myth than reality. I agree with the concern for smoother transitions in the economy -- but if LT intends to be a faithful simulation of an economy then it absolutely should be cyclical and history absolutely should repeat; because that's what happens in real life, where humans depart economy textbooks and actually live. :) Humans absolutely do forget the past, and this is very much a feature, something no model that conceives of humans as information processors -- a recent delusion -- will ever admit. Fortunately, reality does not work with models.
Post

Re: [Josh] Friday, April 20, 2018

#18
JoshParnell wrote:
Fri Apr 20, 2018 12:48 pm
The next step for me is smoothing out the volatility of the economy and AI behavior. It's somewhat interesting that periodic/cyclic patterns always seem to emerge in my basic simulated economies when AI agents don't have access to historical data. That result is pretty obvious I guess, but still, interesting to see "those who don't remember the past are doomed to repeat it" play out so literally on-screen.
Rather than the complications of getting AI to remember history, why not implement a conservatism trait? Some AIs will switch professions or tasks the moment the cost/benefit analysis indicates. Others will continue unchanged until they run out of resources. Most will be somewhere between.

This, to an extent, simulates real world actors, some truly are conservative and stick to their decisions, right or wrong. Some are too busy to look up and react to new data. Some are always dissatisfied or easily bored and looking to switch. Etc.

For bonus points, more successful actors should increase their conservatism; less successful should reduce their conservatism.

Regards,
Charles
Post

Re: [Josh] Friday, April 20, 2018

#19
Much of this went over my head but I can imagine myself declaring a mineral rich area as "safe" and definding it, thus driving down the prices of the stuff mines so my second "arm" can transport it to a place that is unsafe and thus high prices.

This ofc. means the AI mining it for me :D
procedurally generated comment
Post

Re: [Josh] Friday, April 20, 2018

#20
JoshParnell wrote:
Fri Apr 20, 2018 1:45 pm
Arclite wrote:
Fri Apr 20, 2018 1:30 pm
So many questions!
- (1) With 50K AI units, will the player be able to have a meaningful impact on the economic dynamics?
- (2) If I destroy some freighters of iridium (for example) will that cause iridium prices to spike?
- (3) If I destroy some iridium-stealing pirates, will that cause prices to fall?
- (4) Will there be an emotional component, such as a new band of pirates arriving causes panic buying causing prices to spike?
- (5) Will there be dependencies, say if plutonium prices spike, it also causes uranium prices to spike (assuming they are substitute products)?
Good questions.

1. 50K is significantly more than will be in a true LT system at any given moment, it's just for that simulation test. Realistically more on the order of 100 to a few hundred agents in one system. At that scale, yes, you can have a meaningful impact.
2. Yes, destruction of supply will cause higher prices in the long run. Just be careful not to destroy too much -- if it's not a basic good, remember that the AI can decide to stop manufacturing iridium warheads because it's not profitable anymore, so make sure your little operation doesn't get out of hand ;)
3. Yes. Piracy causes AI asset loss, which gets factored into price estimation. If you make an iridium mining zone safer over a significant period of time, more AI agents will decide to mine there since you have lowered the expected loss of doing so. AI will even pay you to provide safety to a zone via job boards.
4. Panic & intentional irrationality is not a feature. But the AI is not perfect, so it will have its own flavor of emergent 'irrationality,' which by definition is really just 'imperfect reasoning.' You'll have to play to find out what that flavor is :geek:
5. Sure, all such basic behaviors of real markets should occur in LT since it's implementing one.
Hey, thanks Josh! :D
I do not fear computers. I fear the lack of them.
Post

Re: [Josh] Friday, April 20, 2018

#22
It's somewhat interesting that periodic/cyclic patterns always seem to emerge in my basic simulated economies when AI agents don't have access to historical data
In the real world there is publicly available information: market news and analysis, talks at conventions etc, insider knowledge about shipment quantities, state funding to start businesses or increased taxes/regulations to lower economic activity in that sector etc.
For example: if one station has a very high demand of a product, and all traders would quickly buy that product elsewhere and travel (at the same time) to the station with the high demand, then there would be a sudden oversupply and resulting pricedrop. The market would always react very cyclical.

To reduce that strong fluctuation, there could be a newsboard that indicates how many supply-ships with that commodity are already on the way to that station, and thus for other traders it will indicate that the demand for that product will soon fall - making a trip with that product likely to be unprofitable.
-> So traders will early on notify the demanding station, that they will promise to deliver a certain amount of goods.

Not every trader needs to plan according to that newsboard, especially if he is close by with the required goods. But it will keep the majority of traders from all running towards that same temporary arbitrage possibility.

Also traders could remember previous profitable trade-runs, and then when considering several alternatives, value the previously successful runs higher. So every trader will have a personal evolving set of preferred trade-routes.

Thats why it would be good to have the game run a bit the trade-simulation before the player starts the game: so that the economy can stabilize over a certain period (removing unrealistic price-differences that would not occur in an actual grown economy)
Post

Re: [Josh] Friday, April 20, 2018

#23
Miklos wrote:
Sat Apr 21, 2018 3:07 am
Much of this went over my head but I can imagine myself declaring a mineral rich area as "safe" and definding it, thus driving down the prices of the stuff mines so my second "arm" can transport it to a place that is unsafe and thus high prices.

This ofc. means the AI mining it for me :D
I wonder who is responsible for the place being unsafe... :twisted:
[hypes internälly]
Post

Re: [Josh] Friday, April 20, 2018

#24
charles wrote:
Sat Apr 21, 2018 3:06 am
...

Rather than the complications of getting AI to remember history, why not implement a conservatism trait? Some AIs will switch professions or tasks the moment the cost/benefit analysis indicates. Others will continue unchanged until they run out of resources. Most will be somewhere between.

...

Regards,
Charles
I think this is a great idea, but there might be a better way to dynamically create it, instead of hard coding it.

Such as having transitioning cost resources. Examples could be needing specialized mining equipment, having some eqmt that mines certain minerals more efficiently, spending time training up on new skills, AI that won't be 100% efficient at mining if that wasn't their previous profession, or having AI include time to transition in cost analysis.

I feel that transition costs will happen as the game gets fleshed out. However, having the AI estimating how many actors that will transition could dynamically expand to cover their own field getting oversaturated as well, which would also help solve the other side of the saturation issue.

In addition, I feel that the conservative trait needs to be created because it will help flesh out each AI as a unique "personality"
An idea that is not dangerous is unworthy of being called an idea at all. - Oscar Wilde

We often refuse to accept an idea merely because the tone of voice in which it has been expressed is unsympathetic to us. - Friedrich Nietzsche
Post

Re: [Josh] Friday, April 20, 2018

#25
Cornflakes_91 wrote:
Fri Apr 20, 2018 7:57 pm
RedDwarfMining wrote:
Fri Apr 20, 2018 3:59 pm
Excellent update!

I have a Terra byte Hard drive that I'd love to fill with colony data files! (It's just a empty trillion word novel waiting to be written) Fill it up with asteroid/planetary/space structure data......Let the A.I. take complete control..... Like a virus! A complete history of the universe on my Hard Drive. Updated with a LTwidget.
And with what magic/rack harddisk do you intend to play LT?
A conventional HDD maxes out at around 150-200 megabyte per second (and will average far below that)
(Going by some western digital datasheets, but its somewhere in the right ballpark)

Thats 5-7 seconds at least per gigabyte, times a thousand its 5-7 thousand seconds.
Or one and a half- two hours to load the data in the first place.

I have something approaching the fastest consumer SSD in my computer, with around 3 gigabyte/second read speed.
Thats still 330 seconds, or five and a half minutes of loading.

And the whole point ignores the little fact that theres not enough RAM in my computer to buffer even a tiny fraction of a terabyte.

So its far from possible to real time process that data on a typical consumer level PC (= everything thats not a big data server).

Also, why force the game to use a giant amount of data?
The only thing that could require a lot of data and still be processable would be map data, which you can pull asynchronously and thus not block you for literally hours.
Obviously i'm not speaking of realtime integration...that's just crazy. I'm only speaking of simulation.

Your SSD will hold the data for your universe(adjustable). LT would load relevant data for the system you are visiting.

The universe's structure/data would be updated by a simulator...NOT while you are playing the game.

I could see envision a setting to adjust HD/SSD allocation. 1GIG------------10TERA. If you want to fill up your drives with asteroid and colony data(like the names of colony members and what color space suits they like. )
Post

Re: [Josh] Friday, April 20, 2018

#26
Kekasi wrote:
Sat Apr 21, 2018 8:05 am
Such as having transitioning cost resources. Examples could be needing specialized mining equipment, having some eqmt that mines certain minerals more efficiently, spending time training up on new skills, AI that won't be 100% efficient at mining if that wasn't their previous profession, or having AI include time to transition in cost analysis.
...
In addition, I feel that the conservative trait needs to be created because it will help flesh out each AI as a unique "personality"
some good ideas that, like mine, may be irrelevant/useless or inspiring - who knows?

Arguably there are further AI traits in play here
- self knowledge - fairly concrete, and (in the scientific) sense falsifiable
- confidence - very abstract and non-falsifiable

regards,
Charles
Post

Re: [Josh] Friday, April 20, 2018

#27
Hey Josh, concernign the Massive AI jumping from job to jun, perhaps you could add a certain level of inertia to the AI agents. a delay or a threshold to overcome before they take on something new. You mentioned way back when a 7 trait system for your AI, which could factor in for your agents. Perhaps an AI that scales high on the aggressive/impulsive traits has a lower threshold for switching jobs than another. Perhaps if they are assigned a job, a conservative traited AI will take longer to start looking for something else. It won't be perfect, but it might be enough to fool us into thinking it's real.

As for economy simulation, perhaps if tradeables have a real function ingame (or several) this could change the value-proposition for the AI, instead of picking "trade water price is high" it would be "trade water, desert planet" or "trade water, hydrogen refinery request <range> <timespan>" or "Local population projected to require x amount over X time".

Of course you could still have speculation "Hoard water, scarce, volatility >35%" But perhaps stock value shouldn't be the only/dominant indicator.
Post

Re: [Josh] Friday, April 20, 2018

#28
As mentioned by the other comments, right now it looks like the AI entities might just be reacting to market conditions too fast, and need some kind of momentum.
  • Increasing the size of stockpiles, and therefore reducing the short term effect of entities should work (e.g. if stockpiles drop from 50->40 it's a huge price change, but not so much for 500->490).
  • Smooth out prices by averaging demand/supply for the past n minutes, for "historical" memory
  • In line with the long term/fast term idea, just adding a delay to entities entering, switching, or leaving a market might work well enough (even if they have to operate at a loss for some time).

You could also have speculators that look at the derivative / change of price, and buy/sell if the price of a commodity is going up/down. It should smooth out the cycles by reducing the extremities of the cycles. Unless you have too many speculators of course, which would drive constant turnip/bitcoin crazes and crashes.
Post

Re: [Josh] Friday, April 20, 2018

#29
Since each agent will need the relevant information in order to take on a job, a simple way to reduce the volatility of the market may be to limit the diffusion speed of that information?
It could be another way to spread the behaviors on a time scale, instead of (or in addition to) having different coefficients on EMAs of past data. This also means the agents closest to a job location would take it first, which is more ecofriendly :squirrel:
Post

Re: [Josh] Friday, April 20, 2018

#30
Important to market simulation is the concept of imperfect information. You may see the markets smooth out if you add some factor to reduce information availability based on distance or exposure. So for instance, a water trader would very quickly react to changes in market price at a location nearby that needs water, but a miner would more commonly react to changes in the price of ore, and never consider water if the location is distant. Add an element if random chance also, and it would lower chance of switching.

You could also mock some amount of the transition by causing distant actors to be aware of the number of switches by other actors that occurred before reaching them. For instance, each actor, when acting, triggers a check for the best action. It determines what the best action is and locks in its course, which immediately increases the future cost for other actors, making the opportunity cost of switching higher for each other actor evaluating that action. What you wind up with is two measures... market prices of goods, seen by the player, and the non players evaluation of yield, which is influenced by omniscience about what other actors are doing.

Its not a perfect simulation, but it would more accurately simulate a real economy, wherein task switching is heavily influenced by the area individuals concern themselves with, and the information they have available around those areas. Perfect information causes crazy trends, unless you spin it in your favor by effectively updating prices before goods are delivered based on the actions the AI will take. Hopefully that doesn't cause too much recursion... have to test it to see.

Online Now

Users browsing this forum: No registered users and 6 guests

cron