[CF-Devel] Adding improvments

crossfire-devel-admin at archives.real-time.com crossfire-devel-admin at archives.real-time.com
Sat Jul 26 00:23:51 CDT 2003


  Going to catch up with this thread quickly.

  First, if you are going to extend existing protocol commands, please just add 
a version number to the protocol command (eg, drawinfo1, query1, map3, etc) 
instead of adding 'ext' to an existing command.

  Adding a number makes it clearer that this is a revision to an existing 
command.  It is also more forward thinking.  Suppose that extmessage command 
needs to be expanded down the road.  Do you call it extextmessage?

A few specific notes:
Using any map command to send text information is probably going to be trickier 
than you think, and not much a gain.  Your probably just better off having the 
drawinfo2 command take a coordinate offset.

  Presuming you want to draw this on the map, you need special handling anyways 
(the information has to last longer than 1 tick on the map display, for example, 
so the client has to store this away and some how age it).  This is apparantly 
how Gros has done it, so that is good there.

  Note that type should be well defined.  A long time back, I put something into 
the TODO file that messsages should be sent by type of message, and not by color 
like it is done now.  Ideally, this is a reasonable number of types based on 
what the player may want to see, but not so unique that it would be impossible 
for players to be able to control the different message characters.  Eg, if 
there are 20 message types, not too unreasonable for a player to set up their 
client with different fonts and color for each message type.  However, if there 
are 300 message types, that obviously isn't feasible.

  One big thing to be added would be handling for the client to know if it is 
something that should be displayed in a fixed width font (eg, like a shop menu 
or spell listing).


  Long back I mentioned that the entire character creation system should be 
redone.  One can probably search back in the past for that, but IMO, the ideal 
thing would be to give player some number of points to distribute between stats, 
let them choose race, class, etc.  When player has all done this, client then 
sends something like 'newplayer 
<name><password><stat1><stat2>...<class><race><any other info>

  This then allows the cient to have a nice interface for creating characters. 
And eliminates a whole mss of the ask/reply stuff.


  Animations for the map:  This has been discussed before.  Large stretches of 
ocean is worst case scenario.  However, a few things to think about:
1) animation speed can be variable for the same object/face.  Thus, two orcs on 
a map could be moving at different speeds, and thus be animated differently. 
This potentially means that for every image on the map that is animated, you are 
sending some number of bytes to contain the animation speed.

2) There are some images/archetypes that should be locked to the same animation 
sequence (water), and others that should vary (eg, monsters).  You don't want 
the monsters to animate all at the same time - that looks a bit cheesy.

3) No one has done an analysis to really see how much map side animations would 
save in bandwidth.  Even for things like burning hands, it is a very transient 
operation, so if the overhead to send information about animation for it is more 
than the cost of animations, you don't gain a whole bunch


  As for why there are different ST_ states:  This is because the code has to 
know somehow who is expecting that input.  If you just have a ST_INPUT state, 
you then need somehow to know 'does this go to a script?  Go to the players 
login name?  etc."

  The best thing to add to the client would be a dialogue box that always takes 
anything entered in it and returns it as 'say' command.  Thus, communication is 
then just a matter of typing into that box and hitting return.

  I do agree that dialogues for some things could be better.  However, I'd say 
this is more a feature on the client, eg, the client could have a special option 
of 'type stuff into this box, and I'll send it to the server as a 'cast marking 
rune of <whatever was entered>'




_______________________________________________
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