Brahma

Brahma is a lightweight framework for building collaborative and cross platform WebXR based experiences using Three.js for the front-end and a simple Node.js/WebSocket script on the backend. It was created at the Social Emotional Technology Lab to facilitate the development of novel collaborative interfaces and virtual environments capable of loading scientific datasets. For example, in the featured image, multiple avatars are exploring a marine science dataset related to seal migration paths overlaid on NOAA bathymetry and telemetry data.
It addresses a gap where prior open-source collaborative VR is no longer available such as the defunct Mozilla Hubs or proprietary engine based frameworks such as Ubiq. Furthermore, it uses very little computational resources to run and develop, enabling creators who may not have a powerful computer to run a game engine in order to develop a networked VR application.
This project involves the first public release of Brahma– creating a lightweight open source framework that facilitates multi-user games, scientific visualizations and other applications. In order to do so, we need to formalize the framework, provide documentation, and implement key examples so that the open source tool can be extensible and serve a wider community.
Mentees can expect to learn best practices for VR development and testing and gain familiarity with full stack development practices. Mentees should have access and experience using a VR headset.
Brahma / Protoocol Release and Validation
- Topics:
Web Development
Software Architecture
VR Development
Computer Graphics
Cloud Platforms
- Skills: Node.js, Three.js
- Difficulty: Moderate-Challenging
- Size: Large (350 hours)
- Mentors: Samir Ghosh
The proposed work includes three phases, primarily working on backend code, and API design. In the first phase, to gain familiarity, the mentee will be running and testing the Brahma backend on a variety of cloud platforms such as AWS, Google Cloud, and Azure– and learning best methods for documentation in the process. Then, in the second phase, the mentee will work on formalizing the protocol for avatar embodiment and other multi-user interfaces, testing the application with a simple pong game. In the third phase, the mentee will address telemetry, logging, and analysis considerations.
This project is well suited for someone who has interest in virtual reality, especially social VR, multi-user, or collaborative applications
Brahma / Allocentric WebXR Interfaces
- Topics:
Web Development
VR Development
Computer Graphics
UX/UI
- Skills: Three.js, GLSL, WebSocket
- Difficulty: Moderate-Challenging
- Size: Medium or large (175 or 350 hours)
- Mentors: Samir Ghosh
The proposed work primarily involves front-end code and VR interface design. In the first phase, the mentee will gain familiarity with best practices for WebXR development through the implementation and documentation of simple interaction patterns. Then, the mentee will implement a simple multi-user pong game to learn about allocentric interfaces. In the final phase of the project, the mentee will design and implement one or more allocentric interface of their choosing.
This project is well suited for someone who has interest in virtual reality, especially aspects of graphics and interaction design.