Complete.Org: Mailing Lists: Archives: freeciv-dev: August 2001:
[Freeciv-Dev] Re: [Patch] Watchtower v3
Home

[Freeciv-Dev] Re: [Patch] Watchtower v3

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxx>
Cc: Sebastian Bauer <sebauer@xxxxxxxxxxx>, freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: [Patch] Watchtower v3
From: Daniel L Speyer <dspeyer@xxxxxxxxxxx>
Date: Fri, 31 Aug 2001 11:46:31 -0400 (EDT)

On Fri, 31 Aug 2001, Raimar Falke wrote:

> On Fri, Aug 31, 2001 at 10:40:26AM -0400, Daniel L Speyer wrote:
> > On Fri, 31 Aug 2001, Raimar Falke wrote:
> > 
> > [snip lots of stuff]
> > 
> > > My opinion on the other discussion: In the long term I would also like
> > > to see rulesets just as a preset server variables. Each ruleset
> > > variable/server variable/property is protected by a certain cmdlevel.
> > > 
> > > To get structure I would propose a java properties like syntax:
> > > 
> > > units.unit_worm_riders.name="Worm Riders"
> > > units.unit_worm_riders.obsolete_by="unit_armorname"
> > > units.unit_worm_riders.attack=6
> > > units.unit_worm_riders.defend=2
> > > units.unit_worm_riders.move=3
> > > 
> > > Note: the string "unit_worm_riders" doesn't matter. It can also be
> > > "unit56".
> > > 
> > > It is easy to understand and parse. It allows arbitrary complex nested
> > > structures.
> > > 
> > 
> > This is awfully bulky, especially to be typed in at command line
> > (especially to be typed in at the command line, especially for players
> > without readline).  What about a varient using the javascript (maybe java
> > too) syntax like this?
> > 
> > with units.worm_riders{
> >     name="Worm Riders"
> >     obsolete_by=armor
> >     attack=6
> >     defend=2
> >     move=3
> > }
> 
> Can this really be typed easier? The java property syntax is perfect
> for just changing some settings. An in addition to this we can add a
> -r command line option to the client.

I'd still allow changing a few settings with java syntax, but if you just
want to introduce a new unit, retyping it's name for all its properties
would become a major nuscience, enough to discourage most players (enough
to discourage *me*, at least).  Remember that an actual unit has 23
fields.  I think a full definition of worm_riders would use 17 non-default
settings (using my guesses about defaults and the unit's
properties.)  That's an awful lot to type.

As I've been working on implementation, I've noticed that the .s and the
'with' token are extraneous.  We could have a syntax like

units worm_riders {attack=6 defense=2}
units mech_inf defense=7
units{del transport del battleship}
del {techs computers}

allowing arbitrary whitespace, of course.

I'm not sure how robust it can be, but it is unambigous.  Unfotunately,
the braces around "techs computers" do appear to be nessesary.

> 
> > If the user wants, still allow specifying the whole thing each time, but
> > it isn't required.  There should also be a delete command:
> > 
> > with units{
> >     delete transport
> >     delete cruiser
> >     delete aegis_cruiser
> >     delete battleship
> > }
> 
> del units.worm_riders

del is fine.  Actually, there's no reason not to define both.

> 
> > and a flush command:
> > 
> > flush techs
> > 
> > for creating a new set from scratch.
> 
> Do you mean flush or clear here?
> 

I mean get rid of everything there.  clear would probably be a better
word, since flush connotates a buffer, though iptables uses flush, so I'm
not completely alone :)

> > Wishlist features would include wildcards
> > 
> > units.*.fp=1
> > 
> > and arithmetic
> > 
> > units.destroyer.move+=1
> > 
> > but these are a little way off ;).
> 
> Nice.

Actually, the more I think about it, the more trouble I have with wildcard
syntax.  'Change properties of all units beginning with "d"' wouldn't be
very useful.  Can anyone think how this should be done?

> 
>       Raimar
> 
> -- 
>  email: rf13@xxxxxxxxxxxxxxxxx
>  "Last year, out in California, at a PC users group, there was a demo of
>   smart speech recognition software. Before the demonstrator could begin
>   his demo, a voice called out from the audience: "Format c, return. Yes,
>   return." Damned short demo, it was.
> 
> 

--Daniel Speyer
"May the /src be with you, always"






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