As per my previously accepted DAO proposal, I been working on a community module for use by developers and land owners a-like. After completing the final stages of testing, I am happy to announce that this module is now complete and available for use! (rocket emoji goes here?)
The primary use of this module is to showcase a full implementation of a complex project with a working network solution. Through this any new developers interesting in creating games will have a good foundation to learn DCL’s environment and start their own projects. This module is also available for land owners to incorporate into their parcels/estates, for free. It’s my belief that a rising tide lifts all ships and by making projects available to both developers and land owners we can continue to grow DCL’s content while providing an all-around better experience for users.
All code within the module has been commented and in many places I sacrificed elegance for readability. While this usually results in more lines of code it makes it significantly easier to understand. All models are also packaged with the project, so you can easily modify the appearance of the game if you want something a little more artsy.
This module is networked using P2P via trusted source: in essence this means a player within the scene acts as a server for the others and there is no need for any additional architecture/external servers to manage more players. I also included an instance manager which will allow users to create any number of boards (within the scene limits), all functionally independent of one-another. Down the road it’s likely we’ll see modular gaming tables, allowing users to pick any board game to be played at their table. We could also see the creation of tournament spaces where players can compete against each other in a 3D virtual space.
You can check of the demo scene here. Keep in mind that to view the P2P networking capabilities you will need to download the repository from here and run it locally (opening in two separate browser windows). Currently this module has only seen light testing on DCL parcels, so there may still be issues in the networking when running in live scenes. Time for syncing has been made abundant (5s to 20s) to provide new users a large window to obtain sync data from an active source.