Coder Social home page Coder Social logo

aysp-99 / thorium-nova Goto Github PK

View Code? Open in Web Editor NEW

This project forked from thorium-sim/thorium-nova

0.0 0.0 0.0 45 MB

Next-generation Spaceship Controls

Home Page: https://thoriumsim.com

License: Apache License 2.0

TypeScript 85.83% HTML 0.10% JavaScript 8.30% CSS 5.76%

thorium-nova's Introduction

Discord All Contributors Version GitHub last commit

Thorium Nova

The Future of Bridge Simulation

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.

Statistics about this repo

Development Quick Start

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 init:plugin
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.

Project Vision

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:

  • Collaboration - Whether that means collaboration between the flight director and crew to tell a great story, between the different crew members' stations, or between developers and other contributors.
  • Simplicity - By including 3D universe and internal crew simulations, Thorium Nova is inherently a complex project. However, every effort should be made to keep each of the smaller parts simple. The complexity should emerge from interactions between simple parts. One example of this in action is the Entity Component System simulation, where simple systems create complex interactions between components. This principle also means saying no to well meaning features that add undue complexity.
  • Beginner Friendly - The controls should be simple and intuitive for both the flight director and the crew, with appropriate documentation and tutorials for each of them. It should be easy to get started. An experienced D&D Dungeon Master should easily learn how to be a flight director. Likewise, it should be easy for a new contributor or developer to become familiar with the Thorium Nova project and codebase.
  • Configurable - Thorium Nova is going to ship with it's own stories, lore, universe, and mechanics. That doesn't mean it can't be used to tell stories in other universes. The controls should consider those possibilities, and make it possible to configure the experience to suit whatever stories the flight directors and mission writers want to tell.
  • Fun - Crews, flight directors, and contributors should enjoy working with Thorium Nova. It should spark creativity, excitement, and wonder. Being Flight Director should be just as much fun as being a crew member; likewise, people should want to contribute to Thorium Nova because they enjoy doing it.

thorium-nova's People

Contributors

alexanderson1993 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.