SubtleGame
SubtleGame is a single-player iMD-VR game developed using the NanoVer iMD-VR framework and is available open-source on GitHub. We designed SubtleGame to run psychophysics experiments for quantifying the threshold at which players can sense differences in the properties of molecular simulations when interacting with them in VR.
Design of SubtleGame
SubtleGame facilitates three mini games:
Psychophysics trials: distinguishing between buckminsterfullerene molecules of different rigidities with a two-alternative force-choice (2AFC) psychophysics design
Nanotube task: threading a methane through a carbon nanotube
Knot-tying task: tying a knot in a 17-alanine polypeptide
Furthermore, SubtleGame offers a practice simulation at the beginning of the game, in which players can get used to interacting with molecules. In this ‘sandbox’, players can interact with two hydrocarbons with either their hands (index/middle finger pinch) or controllers (the main trigger button).
Read on to find out more about the purpose of each mini-game…
The Psychophysics trials
This mini-game employs a two-alternative forced-choice experimental design, where players take part in several trials. Each trials has the following setup:
The player is given two buckminsterfullerene molecules to interact with for 30 seconds.
After the time is up, they must select the softest, e.g. the one that is the least rigid, thus deforms the most easily. The player does this by placing their hand/controller inside their chosen molecule. They must make a choice even if they are unsure!
The rigidity of the molecules is changed by scaling the angle force constants of all the bonds. The difference between the two molecules presented in each trial is randomly selected from the available simulations. The player is told whether they are correct after each trial and is given their total score across all the sets of molecules at the end of the mini game.
Technical implementation
The nanotube & knot-tying tasks
The nanotube and knoty-tying tasks serve several purposes:
To provide training to the player in interacting with the simulations in a gamified setting, encouraging players to lean into their competitive spirit!
To analyse players’ abilities to perform molecular manipulations, such as: calculating the total work done on the molecule as a metric for the ‘goodness’ of a trajectory, and investigating the distribution of completion times across participants as a metric for how difficult the participants found the task
To produce molecular trajectories for training AI models to perform molecular manipulation tasks in iMD-VR.
SubtleGame comprises of three parts:
A version of the NanoVer Rust server
A custom VR client, similar to NanoVer iMD
A python game manager, consisting of a set of python scripts that handle the behind-the-scenes game logic
All three components are contained in the SubtleGame repo, along with a README giving full instructions for running the game.
The NanoVer Rust server is responsible for running the interactive molecular simulations and facilitates communication between the VR client and the python scripts running the game logic. The custom VR client is a Unity3D project that handles: the VR logic (via the MetaXR SDKs), the user interfaces, and communicates the state of the player to the python game manager (via the server). Finally, the python game manager is a set of python scripts that handles the game logic, e.g. switching simulations, setting molecular visualisations, and on-the-fly calculations for monitoring task progression.
Publications
R. Roebuck Williams, J. Barnoud, L. Toledo, T. Holzapfel, D. R. Glowacki, Measuring the Limit of Perception of Bond Stiffness of Interactive Molecules in VR via a Gamified Psychophysics Experiment. In: De Paolis LT, Arpaia P, Sacco M, editors. Extended Reality. XR Salento 2024. Lecture Notes in Computer Science, vol 15027. Cham: Springer; 2024. https://doi.org/10.1007/978-3-031-71707-9_13 (also see arXiv:2409.07836)