[Freeciv-Dev] (PR#7399) RiverBoats
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
<URL: http://rt.freeciv.org/Ticket/Display.html?id=7399 >
> [per - Mon Feb 09 12:04:54 2004]:
>
> On Sun, 8 Feb 2004, Guest wrote:
> > > > Appachment Adds option riverboats, meaning that some Boat types
> has the
> > > > flag "RiverBoat", which enables it to travel along rivers. Only
> > > > Triremes, Caravels, destroyers and transports are set to
> riverboats in
> > > > the default ruleset. - This is not solely by divine decree,
> rather more
> > > > or less random.
>
> The last time this came up, we pretty much decided this option would
> complicate the rules too much. We already have heaps of problems
> making
> the transportation code sane, and been through quite a lot of work
> making
> the attack code sane, and both will be much more difficult to work
> with
> once we lose the assumption that sailing units can only be in an ocean
> or
> a city (cities have lots of exceptions anyway).
>
> The experiences from the allied transport patch, which at first sight
> seemed quite simple but caused us no end of subtle bugs for nearly a
> year
> after, makes me quite cautious about accepting this patch.
>
> I can be convinced otherwise, though.
> - Per
>
>
>
At one time or another, things will get really complicated, as both
SMAC, civ1, civ2 and civ3 and independent freeciv rules get implemented.
Gamers will eventually want to bend the rules that they are conformed to
- the easy acces to the rules, gives open source project great
advantages in fullfilling these needs - therfore, in my opinion, it is
preferable to be making general code that can take care of rules in as
general way as possible.
To my beliefs, i've made the patch in such a way, that nothing is
changed if "riverboat" is not turned on as an option (in general
pseudocode, it can be described as something like this: "if riverboat
not on, ignore flag "RiverBoat" from ruleset, and the rest of the code
starts only if the riverboat flag is turned on for the unit. Thus it is
only if you are 'willing to take the risk' that the bugs can occur.
Having this as an option now, as opposed to later, can maybe make
developers more aware of the rules not being eternal, and ease the pain
of having to rewrite perfect, yet too specific code.
Perhaps it could be an idea to split the options up into 'experimental'
and 'stable' options. And then in the stable release versions of freeciv
have experimental options turned of by default, and make it impossible
(or hard) to change the experimental options on the server.
|
|