"alriddoch" said:In this case, there should be a class property which allows the world designer to define purely in XML that when a given entity class is instanced, a number of other entities should be instances at the same time.
"erik" said:Though should that really be on the server? I think it would be more flexible to keep that on the client as much as possible (as I was thinking of for Ember).
"tomva" said:Regarding 3D models and collision detection: I think there is a fairly clear pattern that has been established for creating objects:
1) Specify the object in a way that the server knows how to deal with it, and
2) Specify the object in a way that the client knows how to render it
"tomva" said:(For people reading this that aren't Erik or Alriddoch, see http://wiki.worldforge.org/wiki/WorldCreation#Deep_Dive:_Wolf for a specific walkthrough)
I think collision detection is exclusively the responsibility of the server. So if I create a 3D object, part of my server specification will include telling cyphesis how to perform collision detection. The collision detection may be wildly different from the rendered model. For instance, a series of steps (as rendered on the client) may actually just be a smooth ramp for the purposes of collision detection. Likewise, a single flat wall as rendered on the client may contain multiple openings to represent secret doors or portals.
"tomva" said:
I agree that forcing this collision detection specification to occur in setup_operation is a bit painful. It would be more natural for the collision detection components to be placed in a separate file. Much like ember has a mapping to lookup 3D models based on entity type, so cyphesis could have a mapping to look up collision detection information based on entity type.
"tomva" said:I have some experience with (full 3D) collision-detection code. Even on the server (or especially on the server), I'm guessing there should be a high-level breakdown of objects and things into a set of nodes, each node constrained to some 3D volume and aware of what other nodes are potentially visible from that node.
...
It looks like you're new here. If you want to get involved, click one of these buttons!