[Freeciv-Dev] Re: [Patch] Watchtower v3
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
On Fri, 31 Aug 2001, Raimar Falke wrote:
> On Fri, Aug 31, 2001 at 11:46:31AM -0400, Daniel L Speyer wrote:
> >
> > 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.
>
> What about a "copy units.settlers units.super_settlers"?
>
This is fine for super_settlers, but for a really new unit it doesn't help
that much. For example, a full version of worm_riders using the copy/java
syntax would be:
copy units.armor units.worm_riders #it's the closest match I can find
units.worm_riders.name="Worm Riders"
units.worm_riders.tech_req=techs.worm_riding
units.worm_riders.obsolete_by=units.armor
units.worm_riders.graphic="u.work_riders"
units.worm_riders.build_cost=50
units.worm_riders.attack=6
units.worm_riders.defense=2
units.worm_riders.hitpoints=20
units.worm_riders.uk_happy=0
That's an awful lot, and it could easily be worse.
> > 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.
>
> IMHO whitespace is a bad delimiter. IMHO a lot of the people will
> understand it with "." or "/".
Hmm. I would think non-coders would find whitespace more friendly, but
maybe not. Why not include both? (Is this approach how PERL got the way
it is?)
>
> > 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?
>
> If you are really trying to do this you could put wildcards at the end
> of your todo list.
>
> Raimar
>
> --
> email: rf13@xxxxxxxxxxxxxxxxx
> "> WHY?! Isn't it better to put $(shell cat cscope.files) on the list of
> I only have a yellow belt in makefile kungfu. These fancy gnu make things
> are relatively new to some of us..."
> -- Mark Frazer to Vassilii Khachaturov in linux-kernel
>
- [Freeciv-Dev] Re: [Patch] Watchtower v3, (continued)
- [Freeciv-Dev] Re: [Patch] Watchtower v3, Reinier Post, 2001/08/31
- [Freeciv-Dev] Re: [Patch] Watchtower v3, Daniel Sjölie, 2001/08/30
- [Freeciv-Dev] Re: [Patch] Watchtower v3, Sebastian Bauer, 2001/08/30
- [Freeciv-Dev] Re: [Patch] Watchtower v3, Raimar Falke, 2001/08/31
- [Freeciv-Dev] Re: [Patch] Watchtower v3, Daniel L Speyer, 2001/08/31
- [Freeciv-Dev] Re: [Patch] Watchtower v3, Raimar Falke, 2001/08/31
- [Freeciv-Dev] Re: [Patch] Watchtower v3, Daniel L Speyer, 2001/08/31
- [Freeciv-Dev] Re: [Patch] Watchtower v3, Raimar Falke, 2001/08/31
- [Freeciv-Dev] Re: [Patch] Watchtower v3,
Daniel L Speyer <=
- [Freeciv-Dev] Re: [Patch] Watchtower v3, Raimar Falke, 2001/08/31
- [Freeciv-Dev] Re: [Patch] Watchtower v3, Paul Zastoupil, 2001/08/31
- [Freeciv-Dev] Re: [Patch] Watchtower v3, Raimar Falke, 2001/08/31
|
|