Thrive

The main repository for the development of the evolution game Thrive.

Github stars Tracking Chart

Thrive

This is the code repository for Thrive. For more information, visit
Revolutionary Games' Website.

Overview

Repository structure:

  • assets: This folder contains all the assets such as models and other binaries. The big files in this folder use Git LFS in order to keep this repository from bloating. You need to have Git LFS installed to get the files.
  • doc: Documentation files. Contains style guide, engine overview and other useful documentation.
  • scripts: AngelScript scripts that contain part of the codebase. Scripts are used for easier development and code here can then later be transferred to the C++ base for performance.
  • src: The C++ code base containing the common helper classes and gameplay code moved to C++.
  • test: Contains tests that will ensure that core parts work correctly. These are currently really lacking.

Getting Involved

Depending on what you want to contribute, you need to take different steps
to get your development environment set up.

Read the contribution guidelines first. If you need
help please ask on our
forums
.

There are also other useful documents in the doc folder not mentioned here.

Script Authors

If you only want to modify the AngelScript scripts, you can obtain a
working copy of the game from official releases here,
alternatively you can request a newer version from developers or compile the project yourself.

Be sure to have a look at the styleguide,
both for guidelines on code formatting and git usage.
And AngelScript primer for scripting help.

C++ Programmers

To compile Thrive yourself, you will need to follow the setup instructions.

Be sure to have a look at the styleguide,
both for guidelines on code formatting and git usage.

Modellers, texture and GUI artists, and Sound Engineers

To work on the art assets you will want a working copy of the game.
You can find official releases here,
alternatively you can request a newer version from developers, or compile the project yourself.

After you have obtained a working version of the game, you can place any new assets in the corresponding subdirectories:
bin/Data/Sound, bin/Data/Models, or bin/Data/Textures. The game will automatically detect your new files,
which you can then use in scripts.
An example of modifying a script to use your model would be to open scripts/microbe_stage/organelle_table.as with a text editor and
find 'nucleusParameters.mesh = "nucleus.fbx";' that sets the model used by the nucleus and change that to your new model file.
Similarly you can find sections of the scripts that use other assets and replace the assets they use.
If you are replacing an imported asset file (file extension .asset) you need to use the import tool to convert
it before the game can use the file. Also if you are adding a new asset that needs to be in converted form (models, textures,
shaders, etc.) you need to convert the file before using.

If you are truly uncomfortable with editing scripts you can simply try stealing the names of existing assets. For example
going into the sound subdirectory and stealing the name "microbe-theme-1.ogg" by renaming your new sound-file to that and the
game will then play that sound instead.

To contribute assets you can contact a developer and provide that person with your assets and the developer can add the assets to
the official repository. It will at a later time be possible to commit to
Git LFS server yourself, currently it is limited to only Thrive developers. Note that you must have Git LFS installed.

Extra note for modellers:
You should export your model in FBX format from blender or other
modelling software you use, and then use the import
tool
to convert the model to an usable form. If you
are importing a model with a skeleton or morph animations you'll need
a special import configuration file.

Overview

Name With OwnerRevolutionary-Games/Thrive
Primary LanguageC#
Program languageRuby (Language Count: 7)
Platform
License:Other
Release Count41
Last Release Namev0.6.6.2 (Posted on )
First Release Namev0.2.3 (Posted on )
Created At2012-08-30 15:31:36
Pushed At2024-05-14 13:32:32
Last Commit At2024-05-13 23:03:23
Stargazers Count2.6k
Watchers Count92
Fork Count476
Commits Count7.2k
Has Issues Enabled
Issues Count2592
Issue Open Count666
Pull Requests Count2228
Pull Requests Open Count13
Pull Requests Close Count279
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top