Just a bit of musing

Chris Gray cg at ami-cg.GraySage.Edmonton.AB.CA
Wed Mar 12 22:20:07 CET 1997


[Jon's client description deleted]

This is kind of specialized, isn't it? You're making the basic nature of
the client dependent on the kind of world the MUD runs. It isn't much
harder (can be easier with the right tools, I suspect) to make a client
that is more general, so that the layout of the screen, etc. is all
controlled from the server. Basically, just choose a set of tools that
you want to provide to the MUD world, implement those in the client, and
then implement ways for the world to control them in the server. All
imagery would be just external files loaded up as needed.

For example, your "gas gauges" for health, hit-points, etc. could be
a generic entity provided by the client/server. The MUD world would then
just define a bunch of them, and send new values when the values change.

In the language of my system, it could look something like this:

    define t_combat M_HEALTH GetNextMeterId()$
    AddMeter(Me(), M_HEALTH, <xpos>, <ypos>, <initvalue>)$
    define t_combat M_HITPOINTS GetNextMeterId()$
    AddMeter(Me(), M_HITPOINTS, <xpos>, <ypos>, <initvalue>)$

    ...

    UpdateMeter(Me(), M_HEALTH, 75.0)$
    UpdateMeter(Me(), M_HITPOINTS, <current hitpoints>)$

etc. for other stuff. With a bit of thought, I think that nearly anything
that you could want a client to do can be put under control of the server
and the MUD world.

--
Chris Gray   cg at ami-cg.GraySage.Edmonton.AB.CA



More information about the mud-dev-archive mailing list