Code Vr Save

🐍 Program and explore real applications with virtual reality! Learn how to program, compete to build apps, and even collaborate with other people in realtime, in game or not!

Project README

CodeVR Logo

License Unit Tests Coverage Tests Discord Server

🚧 Currently Under Construction 🚧 - Currently building the engine, follow the devlog at @alainxyz or at my website.

Code VR is a free virtual reality game for programming, designed to teach beginners the fundamentals of programming, let intermediate/advanced developers compete in daily programming competitions, explore existing codebases as if they were a real place, and collaborate with other programmers whether they're on their favorite Text Editor/IDE or in the game.

Currently it only supports Python, but we plan on adding support for more languages in the future.

Screenshots

Architecture

Code VR is built on top of Rust, Vulkan, OpenVR, and Language Servers.

The application is divided into the main application that handles rendering/networking/gameplay/mods, a language server that conforms to the Language Server Protocol Spec, and a Language VR Server to send language specific VR metadata along side the language server.

Data Flow

Source data flow

A set of source files are first converted to an abstract syntax tree, and then traversed to determine their position/relations to one another. This results in a .cvr file. This file is then converted to a GLTF scene graph at runtime, which is rendered by our Vulkan rendering engine, and the application takes over to allow for changes in the scene and writing those changes to the coresponding .py and .cvr files.

Sponsors

Sponsors

This project was sponsored by the OpenHID Lab, an HCI research lab part of the High Performance Database Research Center at Florida International University.

Open Source Agenda is not affiliated with "Code Vr" Project. README Source: NuiLab/code-vr
Stars
145
Open Issues
5
Last Commit
6 years ago
Repository
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating