Contributing to Thorium Nova

Alex Anderson 🚀Alex Anderson 🚀, September 30, 2021
Contributing to Thorium Nova

Thorium Nova is now Open Source! That means anyone can contribute to building the most advanced narrative spaceship bridge simulator there is.

Yes, but what does that really mean? What counts as a contribution, who decides what contributions are accepted, and what do you get out of it? Well, you've come to the right place.

This article is a summary of the Thorium Nova vision, contributing, and governance documents. Read those for more details. If you haven't yet, be sure to read the glossary so you know what these terms mean.

Who is Thorium Nova for?

Before we talk about contributors, we need to talk about users, since most contributors will also be users.

Thorium Nova is for people who want to have a fun, exciting time with friends and family. It's an interactive movie night in video game form. That means it should be as easy to set up and run as renting a movie from Blockbuster loading up a movie on Netflix. Users could be families, groups of friends, coworkers, adults at a convention, or patrons of a permanent simulator set.

We shouldn't assume that users have any experience with bridge simulators. Naturally, there will have to be some kind of training to get them up to speed on how to use their stations. However, getting them to that point should happen as quickly as possible. The last thing we want is people to become frustrated or confused and abandon the game.

What Counts as a Contribution?

More than you'd think. A contribution could include:

  • Suggesting Features
  • Testing and reporting bugs
  • Read existing issues and open discussions and add your own suggestions.
  • Performing research to find the best way to implement a feature
  • Develop code, to either implement a feature or fix a bug
  • Create art and assets, like 3D models, textures, sound effects, music, icons, logos, user interface designs, and more.
  • Write tutorials or documentation for the game
  • Develop the underlying lore and storylines for Thorium Nova missions
  • Monetary contributions and donations (more details on how to do this are forthcoming)

I'm sure there are many other ways to contribute that I'm not thinking of.

How Do I Contribute?

A good place to start is looking at the "Help Wanted" issues on Github, or checking the Planned features on the Project board. Let us know if there's something you want to work on, and we'll get you assigned to the issue and give you access rights to submit your contribution.

If you've got feature ideas or bugs to report, you can create a new issue or start a discussion. All ideas are welcome!

One thing to remember, though, is not all ideas will make it into the finished product. Remember, we're trying to make a great game for our all of users, and not every feature idea accomplishes that goal. If your idea is rejected, don't be discouraged! Try to modify your idea based on the feedback you got, suggest new ideas, or contribute in other ways. Even rejected ideas are good contributions, because they help us know better what users want and serve as a record of possible things we could work on in the future.

If you want to know other ways to contribute, ask on Discord. Tell us what interests you in the project and what skills you bring to the table, and we'll try to find somewhere for you to help!

Who's In Charge Here?

Well... you are. No, really. Let me explain.

Thorium Nova is a community run project. That means every community member has a right to submit and implement proposals, suggest a new direction for the project, and discuss other peoples proposals. A proposal could be as small as a feature request or as large as reorganizing the whole project structure.

By default, if nobody disagrees with a proposal, then it will be added to the list of things to implement. If someone downvotes an idea, they're asked to explain why and propose alternative actions. The community is invited to discuss and come to consensus about the best way forward.

For any proposal that doesn't come to consensus through discussion, a vote will take place. Every community member is allowed to voice their opinions, but votes only count for people who have contributed to the project.

Proposals that affect the way the project is managed are handled by the Core Team. These are people who have been elected by existing Core Team members, and who serve as the main leaders of the project. In most matters, their vote counts just as much as any other contributor; the only difference is in matters that affect the project as a whole.

The Core Team Lead is voted for by the Core Team and serves as the coordinator and facilitator for the entire project. This person has no authority over other members of the Core Team or community. Their role is merely to start and facilitate voting on issues, make sure the governance processes are being adhered to, and casting the final vote in the event the Core Team can't come to consensus about an issue.

The Core Team (including the Lead) may have responsibility for the project, but they are not the project leaders - Leadership is earned by gaining the trust and respect of other community members, as it should be. The project lives and dies on the continual support and contributions of community members.

And that's the basics. There are a lot more details, but this covers the basics for contributing. If you want to learn how specifically to contribute, check out the contributing document. For more information about how the project is governed, read the governance document.

We're glad you want to contribute!