glob2-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [glob2-devel] concept for building priorities


From: Joe Wells
Subject: Re: [glob2-devel] concept for building priorities
Date: Thu, 23 Aug 2007 23:51:13 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

"Kai Antweiler" <address@hidden> writes:

>> >> The calculation of the decaying averages AT, HT, and G should probably
>> >> use factors other than 0.9.  Determining the best factors to use will
>> >> require experimentation.
>> >
>> > We could also experiment with other control structures.
>> > Steph mentioned a PID controller (for something else) a while ago.
>> > http://en.wikipedia.org/wiki/PID_controller
>>
>> Do we have someone available to program such things who would
>> understand them?
>
> Leo and I have studied math.
>
>>  I worry about the maintainability of the extra
>> program complexity.  Would the improvement in the calculated values
>> make a big enough difference to justify the extra program complexity?
>
> This probably depends on how you compute it.
> Taking average is a form of integration.
> And a differential quotient can be approximated by a difference quotient:
> (f(x+h) - f(x)) / h

Okay, it sounds like you understand it well enough to maintain it.
Good news.

Maybe bad news for you, because this means you (or Leo) get to program
it.  :-) ☺

While we are waiting for you to program it, what do you think of just
using the simple method I proposed, namely NewAverage = (OldAverage *
0.9 + NewData * 0.1)?

>> > Right now the values might jump a bit depending on how high the "running" 
>> > levels
>> > are for the arriving glob.  (Especially when a few explorers get hungry.)
>> > We could flatten this a bit by using the globs speed as well as time.
>> > (And the average running level for workers, or globs)
>>
>> I don't understand the previous paragraph.  Can you explain?
>
> A slow glob that is far away will have an unproportional big effect
> when it arrives.
> All other globs that arrived during the game combined lead to a number
> that is just 9
> times as heavy as the impact that this glob will have.
> It probably is an outlier in the statistic.  (Probably it shouldn't be
> waited at all.)

Very good point.

Probably the time the globs take should be adjusted based on their
speed to get instead the time the “average” glob _would_ have taken.
Of course, this would require additional programming work to maintain
the average globule speed.  And there is the complication of land
speed vs. water speed.

However, I don't think we should adjust for the distance of the trip,
because a globule arriving from a long distance may be the first of a
large number of globules arriving from a long distance.  For example,
consider the first warriors that start returning from a strike on an
enemy base.

> On the other hand fast explorers, or globs nearby will have an
> unproportianal influence
> as well - again only at the time when they arrive.

I suspect this will not hurt in practice.  And the effect could be
reduced by simply multiplying the old value by a larger factor than
0.9.

> After a few other
> globs it will be flattened.
> We can reduce this effect somewhat, if we (let's say) multiply the
> time by the speed of the globs and maybe divide by the average speed.
>
>> > Basically I would prefer an market economy style system, where every glob
>> > has to work for its money and also buildings compete with each other
>> > in their wages.
>> > The amount of social welfare would be up to the player.  And globs
>> > with low money
>> > might get only small amount of food back in restaurants and of health
>> > in hospitals.
>> > The player would have to care about debts, inflation, subventions and 
>> > taxes.
>>
>> I'm not sure what you are proposing.  Do you want to write a concrete
>> proposal?
>
> No, I don't.  It's more a long term idea, that I haven't thought much about.
> Imagine real life economy in glob2.  This would add a nice gaming element.
> Money would also be an intuitive quantity for the player.
> When the player gives his globs more money (by social welfare) or your 
> buildings
> more money (by subvention), then he earns from taxes and booty,
> inflation happens.

Okay.

In the meantime, what do you think of my proposals?  I think they are
fairly simple, and could well be good enough.  Combined with Leo's
idea of boosting priorities based on the length of time spent waiting
to hire a globule, I think some nice improvement in game play might
result.

-- 
Joe




reply via email to

[Prev in Thread] Current Thread [Next in Thread]