My team and I created a virtual classroom as an instructional tool for organic chemistry education. The multiplayer functionality means multiple people can be within the simulation to assemble carbon-based molecules collaboratively, quiz each other on their molecular knowledge, and conduct lab practicals in the scene. We also implemented haptics through the Novint Falcon, a resistance knob that allows users to feel the molecular mass of the molecule they create in the simulation. There is live feedback about the molecule type created and property data about the molecule displayed on whiteboards around the classroom. This project can scale to accommodate more than complex carbon chains, access internet data on compounds created, and make more complex lab practicals.
Multiplayer configuration proved especially difficult when integrating the Novint. Most of the documentation is from 2008 since that's when it was released and hadn't been updated since 2011, and even finding the drivers was very hard. Once we had it working in single-player and the player was "in possession" of the built molecule and able to control it, the networking got messed up in multiplayer and was difficult to debug. Building the molecules proved incredibly difficult because of storing all of the connections, not relying on Unity physics to keep the molecules together, calculating the proper rotations, and traversing the graph to name and identify the molecules created.
︎