A community-made open-source library containing functions to assist in developing mods for the game Voxel Tycoon.
TODO: Fill in how to use the library after our first deployment.
This game has been written in C# as a mod for Voxel Tycoon (made in Unity), therefore, we expect every contributor to have C# and Voxel Tycoon installed on their device before they can continue.
In order to contribute to this repository, you will need an editor which supports writing code in C#. A couple of commonly used IDEs are:
However, for this project we will be using Visual Studio (Community 2019) as proposed by the Voxel Tycoon Tutorial. Using a newer version won't give problems when writing code, however, it might give problems when you try to help someone out in another version or editor.
In the installer, you will be asked to specify workloads. These are extra components to help enhance development in a variety of different branches. For this project you should select .NET desktop development. Within the list of workloads there is also an option for Game Development with Unity, however, we will not pick this one, since we will be using the Unity code provided with the Voxel Tycoon installation.
After you select this component, then you can continue following the installer and you will be done with the Visual Studio environment installation.
Since this library is made as a mod for Voxel Tycoon, we do expect all contributors to have a copy of the game which they can use for testing purposes. If you do not own the game then you can buy it on Steam.
Since you are reading this you most likely have a GitHub account already. So to help with uploading your changes we advise to make use of GitHub Desktop, a Git GUI made by GitHub.
Once you have downloaded all the environments and required software, then you can install the project. To do this you can either use the git console or use the GitHub Desktop app. For the console approach you can follow the provided tutorial. With GitHub desktop it is as easy as clicking in the top left file and then clone repository. In this menu you can now see all the repositories which you have access to on GitHub, from here you can select the Voxel Tycoon Open Library repository and download it.
Next we need to setup a user variable to point to our Voxel Tycoon game. The reason for this variable is so that all contributors can install Steam or Voxel Tycoon in a different folder and still being able to contribute. To add the variable you need to navigate to the environmental variables. On Windows 10 this can be reached as follows:
VoxelTycoonInstallationDir
and the value
is the directory of your Voxel Tycoon game folder. The game folder is the one
containing the VoxelTycoon.exe
and the important VoxelTycoon_Data
folder.To test if the installation was a success, you can now open Visual Studio by double click the Voxel Tycoon Open Library.sln solution inside your downloaded project folder. If no errors pop up than the installation has been successful!
From now on you can use GitHub Desktop or your favourite Git system to commit new changes which you've made to your feature specific branch on GitHub.
TODO: Fill in testing chapter when we have a testing library.
TODO: Fill in deployment when we have the CD active.
Interested in helping us make an amazing public library? Go ahead and fork this project so you can make a Pull Request or contact us on the Voxel Tycoon Discord Server!
Summary: (This is not legal advice)
Permissions of this strongest copy-left license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available.
Permissions | Limitations | Conditions |
---|---|---|
✔️ Commercial use | ❌ Liability | 🔵 License and copyright notice |
✔️ Modification | ❌ Warranty | 🔵 State changes |
✔️ Distribution | 🔵 Disclose source | |
✔️ Patent use | 🔵 Network use is distribution | |
✔️ Private use | 🔵 Same license |
This project would not have been possible without the following frameworks, public packages and awesome people.