[CF-Devel] Client side improvements

crossfire-devel at archives.real-time.com crossfire-devel at archives.real-time.com
Sun Nov 9 15:29:53 CST 2003


Nicolas Weeger wrote:
>
     
      Hello.
     
     >
     
     
     >
     
      I want to improve the client with things like macros, stuff like that.
     
     >
     
     
     >
     
      I wanted opinions on the following questions:
     
     >
     
      * should i improve the 'common' client, or only a specific one? (i plan 
     
     >
     
      on improving at least gtk one, since that's the one i'm using)
     
     
  This depends on the nature of the change.

  The stuff in the common directly is not directly aware of the graphic system 
that is being used.  So it can make calls to thing like 'update what the map 
looks like', but can't do things like 'draw a line for x1,y1 to x2,y2', unless 
appropriate callback is made into the specific graphic support area.

  that said, almost certainly, you'd do a mix - some data in the common area to 
process commands player may type, or grab information from server and 
potentially add new flags/bits of data to information that the graphic area may 
process.

  It is acceptable to not update all the possible graphic clients, however, if 
you are adding new callback routines, you need to at least put that stub in the 
other directories.

>
     
      * is it better to have some script system, with client's specific 
     
     >
     
      language? or something like python/perl/your-language-here plugins, like 
     
     >
     
      for server?
     
     
  Well, what is the target audience?  And what do you envision the scripts to do?

  If the target is for most any player to write simple scripts (if $hp<20% apply 
healing potion) then you may want a scripting language that is relatively simple 
and specially written (because a client interperted script coudl look up 
variables like $hp or what not directly).  However, such a simple interface 
limits what scripts can do.

  If OTOH, you'd expect few people to write scripts, and more likely that they 
get destributed to other peoples (posting on net, whatever) then a more esoteric 
interface that is more powerful may not be as bad.

  But note that if you do something like use python or perl, you'd need to write 
some similar interface to what the server uses (dynamically loads the library, 
connects to certain events, whole bunch of wrapper functions needed to return 
information, etc).  And at some level, I'm then concerned with the amount of 
extra code and complication that adds to the client.





_______________________________________________
crossfire-devel mailing list
     
     crossfire-devel at lists.real-time.com
     
     
     https://mailman.real-time.com/mailman/listinfo/crossfire-devel
     
     
    


More information about the crossfire mailing list