Want to help contribute? Check out the contributing document.
This is the main repository for Thorium Nova, a multiplayer real-time bridge simulator game. To learn more about what Thorium Nova is, check out https://thoriumsim.com.
Check out the project roadmap for tasks that are planned, but not yet assigned to anyone. Add a comment to an issue to ask to have that issue assigned to you.
I recommend using Volta to manage your Node and NPM versions, since it will automatically install the correct version when you work on Thorium Nova. If you're on Windows, I also recommend using WSL, although others have had success in Windows.
First install git and run this command to download the code:
git clone https://github.com/Thorium-Sim/thorium-nova.git
Once the project has been cloned, you can install dependencies using NPM. You will also want to install the default plugin, which has the configuration and assets for the game itself. Once you've done these two things, you can start the project.
npm install
npm run dev
This will automatically start the client and development servers and open up the UI in your web browser. If it doesn't automatically open, you can open it yourself by going to http://localhost:3000.
Note: Running
npm install
will automatically update the default plugin with the latest assets and configuration. If you want to manually pull the latest default plugin from Github, you can runnpm run init:plugin
.
Thorium Nova is a platform for creating powerful narrative experiences in a starship bridge simulator. In these bridge simulations, crew members are given a specific mission and must work together, using their different roles and functions to accomplish their goals. Thorium Nova prioritizes story over action - the crew should feel like they are actors on the set of a science fiction show. The crew might have a Flight Director, orchestrating their mission behind the scenes.
The purpose of Thorium Nova is to facilitate these experiences. This includes a simulated universe for the stories to take place in, controls for the crew members and flight director, a viewscreen and other methods for the crew to interact with the universe, a way to write and run mission storylines, show controls like lights, sound effects, music, and video to help the crew become immersed, automation to help the flight director, training and documentation for both the crew and flight director, and ways to customize the experience for any audience.
Thorium Nova is also an open source project that depends on volunteer contributions. Since this project would die without the help and support of the community, every effort should be made to welcome and encourage contributions from anyone willing to help. Since Thorium Nova is a code-heavy project, this especially includes making the codebase as approachable as possible for developers.
Thorium Nova's primary audience is casual gamers and hobbyists who want to run simulations for their friends and families. Thorium Nova might also be useful for brick-and-mortar space centers and simulators set up at conventions, but it must first be fun and usable for living room play.
Thorium Nova has a few guiding principles and values to follow as we work on the project: