> 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