Originally Posted By: lyingmime
Dark_samurai,

I'm not sure if you're yet thinking of improved entity management, but I think here's where many people get frustrated with gamestudio's and now anet's system.

The problem we face is that in a large zone all entities have to be created on all of the connected clients, severely limiting the number of possible connections. Yet, typically a player will be well out of range of most of the other players and NPCs and so does not need to be instructed to create all those entities, until they come within, say, a certain distance.

The workaround that I am aware of currently is to use ent_createlocal for all of the entities and then to create all of the backend synchronization functions over from scratch. The built in functions are unuseable for any server zone with more than maybe 50 or 100 connections. It's an unfortunate waste of the feature set if a large scale project has to recreate them.

I'm wondering if you could make a third option to the ent_create and ent_createlocal functions that creates the entity on the server and on a specific set of clients, as given by an array of IDs. Changing the list of IDs would add or remove entities only from the clients that are new to the list or who have left it. That way, the designer has control over which clients are included for a particular entity and we can use the features of the existing entity synchronization system.

I believe that most MMOs do something of this sort. The zone level is divided into a grid of areas. At certain intervals, the server checks what area the client is in and updates that client with the entities that are in that area and each adjacent area. (So you don't get near the edge of an area and see nothing on the other side until you step over.)

I don't think that thousands of connections are possible without this feature. (Let me know if I'm thinking correctly.)


I believe this is all possible with your own scripts using Anet, however it would be a nice feature to offer, so long as it is over the top of the existing low-level functions.

Don
have a great day