public inbox for xconq7@sourceware.org
 help / color / mirror / Atom feed
From: Hans Ronne <hronne@comhem.se>
To: Peter Garrone <pgarrone@acay.com.au>
Cc: xconq7@sources.redhat.com
Subject: Re: plan_transport
Date: Sun, 07 Dec 2003 08:26:00 -0000	[thread overview]
Message-ID: <l03130300bbf8346adb4c@[212.181.162.155]> (raw)
In-Reply-To: <20031206224329.GA473@leonardo>

> I thought I would review the current problems and proposed fixes.
> I originally planned on sending this only to some people, but I think
> others probably could provide some valuable feedback.
>
>The problems are:

To that I would add that AI-controlled occupants do not disembark when they
should. This was a problem also with the old code, but it seems worse now.

>Proposed solution.
> A solution to these problems (attribution to Hans here) would be as follows.
> - implement a PLAN_TRANSPORT for ferries, so they are permanently
>   assigned to transportation duties, though of course offensive units
>   will be transported by them.
> - implement a TRANSPORT_TASK as well, so that human players can asign a
>   unit to ferrying, and units will move across islands and seas without
>   all that bookkeeping. So a PLAN_TRANSPORT will activate a
>   TRANSPORT_TASK.

A player-settable TRANSPORT_TASK might be a good idea. But it would work
only for one ferry round. It would be even better to be able to set a
PLAN_TRANSPORT and let ferries run on automatic. However, this would
require a semi-automatic mode where it is possible to set (and keep) plans
also for player-controlled units. I experimented with this two years ago,
and I think it was discussed on the list. It would also make it possible to
assign PLAN_OFFENSIVE or PLAN_DEFENSIVE to units and then have the AI run
them according to a set plan (right now, the AI will replan as soon as you
turn over a unit to it, so setting plans has no effect even if it can be
done). Something to consider post-7.5, I think.

> - Something needs to be added to the ai code so that it can distinguish
>   a simple ferry from something offensive, like an aircraft carrier or
>   bireme/trireme. This is asking a lot but perhaps some simple
>   heuristic could fix this. So a bireme would not go onto
>   PLAN_TRANSPORT, but instead grab an archer to help it in sea-battles.

This one is easy. We would just need to define a precomputed u_ferry_worth
that measures ferry capacity and weighs it into mplayer_decide_plan.
Similarly for the build code. There is already basic_transport_worth but it
is rather crude. I would like something better.

> - The pathfinding would need to be somewhat extended here. It need so
>   consider going from A to B using ferry type C, extending the state
>   space it explores for possible solutions from simple x,y position.
> - consideration could be given to implementing refueling behavior,
>   a boring detail for the human player,
>   while extending the pathfinding state space.
>
>   This is my "wishlist". I will attempt to implement it in stages, so
>   that a partial implementation may suffice for a 7.5 release, comments
>   invited,

I agree with the other points on your list.

Hans


  parent reply	other threads:[~2003-12-07  2:02 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-07  0:59 plan_transport Peter Garrone
2003-12-07  2:02 ` plan_transport Eric McDonald
2003-12-08  0:28   ` plan_transport Peter Garrone
2003-12-08  1:23     ` plan_transport Hans Ronne
2003-12-07  8:26 ` Hans Ronne [this message]
2003-12-08  0:50   ` plan_transport Peter Garrone
2003-12-08  3:26     ` plan_transport Hans Ronne
2003-12-08  3:55       ` plan_transport Hans Ronne

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='l03130300bbf8346adb4c@[212.181.162.155]' \
    --to=hronne@comhem.se \
    --cc=pgarrone@acay.com.au \
    --cc=xconq7@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).