glob2-devel
[Top][All Lists]
Advanced

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

Re: [glob2-devel] Creature AI


From: Andrew Sayers
Subject: Re: [glob2-devel] Creature AI
Date: Tue, 24 May 2005 22:52:35 +0100
User-agent: Mutt/1.5.9i

<snip - background about Glob1>

Thanks.  I'll try and write that up next weekend if I get a chance.

> - Creature AI/behaviour
> 
> You said some behaviour where stupid, right ? Can you
> describe and example or a saved game when we can see
> an explicit behaviour ? I'm still willing to make it
> better. Thank you!

Firstly, this isn't meant as a criticism of you in particular - in my
opinion, this model of game is particularly hard to make AI for - for
example, by encouraging such severe congestion along busy routes.  That
said, here's a list of things from the top of my head:

The system can lead to a problem I refer to as "hunger lock", where the
few workers that are OK spend all their time servicing inns so the other
globs don't starve.  The problem here is that you can't build any more
inns or train any new workers because all of your workers are busy, but
the population also doesn't starve down to a sustainable level because
they're being fed.  In all but the most perfectly balanced cases, this
would eventually tip one way or the other, but it's no fun sitting about
waiting to find out which happens.  A better system would be that when
all your inns are full, your globs take a "ticket" from the inn, and all
tickets are served in order.  The glob continues working as normal, but
when it's your glob's turn to eat, it immediately interrupts what it's
doing and goes for food.

Warriors tend to hover on the visible side of a war flag, ignoring
buildings which aren't in active vision.  Also, they don't seem to
realise the value of all ganging up on a single enemy at the same time
(which can make them dramatically more effective).

There might be gains to be made by getting globs in congested areas to
stick to the left-hand side of the road, as this would cut down the
amount of bumping into each other they'd do.  Also, the left-hand side
is clearly more sensible than the right ;)

Similarly, there might be gains to be made by getting explorers to trace
the outlines of shore-fronts when discovering parts of the map for the
first time.

Workers working on a building look at the shortest path between
themselves and the nearest resource, whereas it would be more sensible
to find the shortest path between the building and the resource - they
might have to move around the other side of the building once, but the
speed gains quickly accumulate.

Finally, idle units in congested areas should try to get to less
congested areas.

Next time I play, I'll probably think of another 5 like these.
Ultimately, my hunch is that an evolved solution is likely to be better
at these sorts of little problems, as working them out manually is quite
time-consuming.

> - About code comments
> 
> Start to read:
> glob2/doc/sourceCodeUnderstanding.txt
> 
> And then, yes, I am lazy. And I don't like to make unused
> documentation. But what I can do is answer your questions.
> And if you think one part of the code is not clear enough,
> just tell us. If you say that you will read some code,
> I'll add the needed coments in this very code.
> 

Yes, I've looked at all that.  My problem is going from this extremely
high-level fly-by of the code to the extremely low-level comments on
source without anything in-between.  I have less hang-ups about writing
documentation that no-one will read, so I will try to write up my
findings in the wiki as they're explained to me :)

        - Andrew




reply via email to

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