Complete.Org: Mailing Lists: Archives: freeciv-dev: September 1999:
Re: [Freeciv-Dev] Re: Default/optional entries in rulesets
Home

Re: [Freeciv-Dev] Re: Default/optional entries in rulesets

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Freeciv Dev <freeciv-dev@xxxxxxxxxxxx>
Subject: Re: [Freeciv-Dev] Re: Default/optional entries in rulesets
From: Artur Biesiadowski <abies@xxxxxxxxx>
Date: Thu, 16 Sep 1999 10:25:14 +0200

Daniel Burrows wrote:

> 
>   If you do this, there's a feature I'd like to request: player-specified
> scripts to be run as triggers/hooks in the server.  I'm not sure if this is 
> even
> feasible, particularly with Guile, but the idea is that you'd create a global
> environment containing only procedures which do things in the server that a
> player could do; eg, "change the production of this city" or "attack this 
> unit".
> Perhaps they could be implemented as closures which know the player that
> they're running for?
> 


User provided scripts is very different thing. We would need security
layer for system access, security layer for game interface so player
would not know/change too much and quite smart overseer program that
would ill runaway processes, ones that allocate too many memory etc.
Debuggin such programs could be horrible thing. Anyway it is not
possible with guile, not with java (no way to control thread cpu/memory
usage except imposing global limit on everything), I don't know about
the others, but I really doubt if any mainstream language has all of it
implemented.

It is a lot easier/faster to stay server side only, without any checks,
aborting on error etc.

There was a project called ClientX I think that was meant to include
client side AI and scripting. I think that hooks you are talking about
should be done in client. Of course it means that they will not always
run fast enough, for example to attack unit running by, but are a lot
easier to control for resources (it is client machine after all) and for
knowledge (client do not know data player shouldn't know)


Artur

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