Mongo Posted January 28, 2014 Report Posted January 28, 2014 Just wanted to throw this out there since I do not know if it is possible or planned to be implemented. I intend to load up files server side for purposes of terrain and geometry (Thinking about it you probably already have it figured out) so that the server knows what is where for collision and pathing. Just want to be sure in the plugin we will be able to specify a file and load it in have access to its bytes. Quote
ChiaPet Posted January 28, 2014 Report Posted January 28, 2014 I suspect that your particular example will be tied heavily to server side collision and terrain management, so if/when we get more information on how that will be implemented, we should know how terrain and geometry will be synched between client and server. I think the most user-friendly experience would be to be able to export scene terrain and collider meshes from the editor and into the server as a navmesh. There's an asset on the store called RecastUnity that does something to that effect. It takes terrain and geometry and converts it to an external JSON or BSON file that can then be imported and interpreted by a server that isn't based on a Unity instance. Quote
Swampdog Posted January 28, 2014 Report Posted January 28, 2014 I think the most user-friendly experience would be to be able to export scene terrain and collider meshes from the editor and into the server as a navmesh. There's an asset on the store called RecastUnity that does something to that effect. It takes terrain and geometry and converts it to an external JSON or BSON file that can then be imported and interpreted by a server that isn't based on a Unity instance. I wonder how well that will work with the voxel terrain since we will be able to set up areas that players can change.. Although the only thing I'm looking at for that is the ability to set up mine claim sites where players can dig mines for ore/gems or possibly clearing and leveling a building site. Other than that, any other terrain editing will be a GM/dev function in my game world. But still curious about taking care of the collision stuff and saving changes.. I did notice some voxel related tables while I was looking at the databases. Wonder if they are planning to store the info in the database? Quote
ChiaPet Posted January 28, 2014 Report Posted January 28, 2014 Yeah, I would imagine the approaches will be different between voxel and heightmap terrain. For traditional terrain, they could store a reference to the navmesh in the database, but I would assume it would be more efficient to actually load the mesh up from a file at runtime (or at least on server startup). My head explodes when I try to wrap my head around how voxels would be managed. Jacques said that this unrevealed voxel terrain asset is already authoritative on the server. Not sure what the approach is if that's true. Quote
Swampdog Posted January 28, 2014 Report Posted January 28, 2014 I think the WoW private server projects do it that way.. The projects I have played with have a vmap extractor application that compiles when you compile the server source. It basically pulls all the world map files and creates server-side files to deal with collision detection. I have all the code for it but it is all C++ and based on Blizzard's map formats. So a lot of conversion would need to happen to get it to work with Java and Unity terrain files. I'm curious to get more info about the voxel system too. Glad to hear they are already saying it is already authoritative on the server. Still wish they could get us into some beta testing with it or at least be able to demo it.. Hopefully we will have more info after they powwow this weekend. Quote
Mongo Posted January 28, 2014 Author Report Posted January 28, 2014 Well in theory all you really need is the ability to read in bytes via the systems file I/O. You would have to write your own code for combining those bytes into meaningful data but that could easily become a perk of the plugin market since people could write their own converters/readers and sell them. Quote
Swampdog Posted January 28, 2014 Report Posted January 28, 2014 I would almost rather it be proprietary and part of the internal engine. If we are able to write our own plugins to do it, that also means it would be easy for people to have the information and develop cheat programs. I understand that will most likely happen anyways, but why make it easier on them.. lol Quote
ChiaPet Posted January 28, 2014 Report Posted January 28, 2014 I would almost rather it be proprietary and part of the internal engine. If we are able to write our own plugins to do it, that also means it would be easy for people to have the information and develop cheat programs. I understand that will most likely happen anyways, but why make it easier on them.. lol That's precisely the reason why I keep asking for more information on authoritative terrain and geometry. Even if it's possible to extract and manipulate terrain by hacking the client, ensuring that the server has final say should mean that cheating is prevented, short of hacking the server as well. Quote
Mongo Posted January 28, 2014 Author Report Posted January 28, 2014 The ability to open a file on the server has nothing to do with a player's ability to cheat. They should not have access to your server files or database ever. If you decided to give them access, they wouldn't need a server plugin to look through the server files if they wanted to. Same goes for client files. Im fine if they have some built in file reading plugins, but in order to be a truly robust and flexible server platform developers are going to need to be able to work with a variety of formats. Now of course this ability could be reserved for a source license, but there is no info on price range or accessability of that yet so who knows. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.