[CF-Devel] Future crossfire changes/projects

Mike Ponicki sniper at citilink.com
Thu May 17 12:23:27 CDT 2001


>
     
       At many levels, crossfire is just not really efficient (sends image data, sends
     
     >
     
      what is likely to be a lot of repetitive naming information for objects, etc). 
     
     >
     
      Many of these are actually very hard to fix if you still want the game
     
     >
     
      extensible (for example, if you know the data was static, the client could
     
     >
     
      already have all the images, and the server could just send 2 byte identifies
     
     >
     
      for object names, and the client looks it up in its database, since it knows the
     
     >
     
      server hasn't added anything, etc).  Thats one advantage the commercial games
     
     >
     
      can offer.  While crossfire could do automatic updating of that informatiion, it
     
     >
     
      gets much trickier because the servers may noot be in sync (metalforge may have
     
     >
     
      added new names and csua has added other new ones, etc).  once again, with
     
     >
     
      commercial entities, they can be pretty sure all the servers are talking the
     
     >
     
      same thing.
     
     >
     
     
     
Regarding the whole performance issue, I think the only good solution is
to do exactly what commercial games do, and that's have EVERYTHING
possible done on the client side.

It's kind of network programming 101, you want as little data as possible
going between the server and the client.

That means we should have all the maps, sound, music (if/when we add
some), everything, on the client side.

To get around the problem of server specific stuff, Everquest implemented
an automatic update feature. When you log onto one of their servers, it
sends over any new/modified maps, spells, any game-related stuff that
needs to be updated on the client.

Now, it'd be a little more difficult with crossfire, since anyone can
change maps, modify sounds etc. But I know that games like Quake 1-3,
Unreal Tournament, Half-Life etc. run into the exact same problems, since
anyone can change the maps, and anyone can run their own server. Even FPS
have some sort of auto-update mechanism (UT and Q3 for ex. download new
stuff to the client if the server is running different skins/maps etc.),
and with the small file sizes of everything in crossfire, it'd be quick to
update the client. Plus, we could have maybe 10 servers or so we could
deem "official". They could have a lot of bandwidth and be running on fast
PC's. Then we could keep those "official" servers running only the latest
official stuff, so they'd all be talking the same. Then if people wanna'
try new and experimental stuff, they could log onto Joe Schmo's home 
server and put up with a bit longer client updates (assuming Joe is
running modified game content)

Except I don't know how hard this'd (auto-update mechanism) be to
implement into the game... :) but I think it should be our eventual goal
to have everything moved over to the client side

-Sniper
     
     sniper at citilink.com
     
     
    


More information about the crossfire mailing list