mirror of
https://github.com/Relintai/broken_seals.git
synced 2024-11-13 20:47:19 +01:00
166 lines
5.7 KiB
Markdown
166 lines
5.7 KiB
Markdown
# Broken Seals
|
|
|
|
A 3D third person RPG. With both multiplayer, and singleplayer capabilities.
|
|
|
|
The main gameplay-loop goal is to create an experience with enough complexity and depth, that can rival the more old-school MMO- and action rpgs, because nowadays I feel like that is something that got lost.
|
|
|
|
I want the game to run on every platform, but the game design is PC first. From the testing I've done this is not going to be an issue.
|
|
|
|
### In order to open the game project in Godot, you need a custom built Godot editor! [See here.](#editing-the-game)
|
|
|
|
Screenshot:
|
|
|
|
![Broken Seals](pictures/screen.jpg)
|
|
|
|
## Editing the game
|
|
|
|
In order for you to open the game in the editor you will need a custom built version, with a few engine modules built in,
|
|
and unfortunately for now, you will need to build it yourself. (Binary releases will be available eventually!)
|
|
|
|
But don't worry, Godot is surpisingly easy and hassle free to compile! [See here.](#compiling)
|
|
|
|
After you have the engine with the required modules, you can go ahead, and just open the project inside the `game` folder.
|
|
|
|
Usually after the initial import it will need a restart, however everything should work after that.
|
|
|
|
## The required engine modules
|
|
|
|
These are the required engine modules, they are listed here for completeness`s sake, the project's setup script will install these for you automatically! See the [Compiling](#compiling) section.
|
|
|
|
https://github.com/Relintai/world_generator.git \
|
|
https://github.com/Relintai/entity_spell_system.git \
|
|
https://github.com/Relintai/ui_extensions.git \
|
|
https://github.com/Relintai/voxelman.git \
|
|
https://github.com/Relintai/texture_packer.git \
|
|
https://github.com/Relintai/godot_fastnoise.git \
|
|
https://github.com/Relintai/mesh_data_resource.git \
|
|
https://github.com/Relintai/procedural_animations.git \
|
|
https://github.com/Relintai/props.git \
|
|
https://github.com/Relintai/mesh_utils.git \
|
|
https://github.com/Relintai/broken_seals_module.git \
|
|
https://github.com/Relintai/thread_pool.git
|
|
|
|
## Compiling
|
|
|
|
First make sure, that you have everything installed to be able to compile the engine. See: See the [official docs for compiling Godot](https://docs.godotengine.org/en/latest/development/compiling/index.html) for more info.
|
|
|
|
Now let's clone this repository:
|
|
|
|
``` git clone https://github.com/Relintai/broken_seals ```
|
|
|
|
cd into the new folder:
|
|
|
|
``` cd broken_seals ```
|
|
|
|
Now let's run the project's setup script, by calling scons without arguments.
|
|
|
|
``` scons ```
|
|
|
|
This will clone and setup the engine, and all of the required modules into a new `engine` folder inside the project, using http.
|
|
|
|
(If you want to use the github's ssh links append `repository_type=ssh` like ``` scons repository_type=ssh ```)
|
|
|
|
Once it is done you can compile the engine, either by going into the engine folder and following the
|
|
[official docs](https://docs.godotengine.org/en/latest/development/compiling/index.html), or by using [build words](#build-words) without changing directories.
|
|
|
|
Once the build finishes you can find the editor executable inside the `./engine/bin/` folder, but you can also run it using the provided `editor.sh`,
|
|
or `editor.bat` (These will create a copy, so you can compile while the editor is running).
|
|
|
|
### Build words
|
|
|
|
The project's setup script contains support for "build words". These can be used from the root of this project.
|
|
|
|
For example to build the editor for windows with 4 threads you can use:
|
|
|
|
``` scons bew -j4 ```
|
|
|
|
The first argument must start with b (build), then it needs to be followed by a few abbreviations (the order does not matters)
|
|
|
|
The rest of the arguments will be passed directly to godot's scons script.
|
|
|
|
#### Editor
|
|
|
|
Append `e` to build with `tools=yes` a.k.a. the editor.
|
|
|
|
``` scons bew -j4 ```
|
|
|
|
if you omit `e`, the system will build the export template for you. For example:
|
|
|
|
``` scons bw -j4 ```
|
|
|
|
This will be the `release_debug` windows export template.
|
|
|
|
#### Platform abbreviations
|
|
|
|
`l`: linux \
|
|
`w`: windows \
|
|
`a`: android \
|
|
`j`: Javascript \
|
|
`i`: iphone (Not yet finished, use `build_ios.sh`, and `build_ios_release.sh`) \
|
|
Mac OSX: Not yet finished, use `build_osx.sh`
|
|
|
|
#### Target abbreviations
|
|
|
|
By default the system builds in release_debug.
|
|
|
|
Append `d` for debug, or `r` for release.
|
|
|
|
``` scons bewd -j4 ```
|
|
|
|
build editor windows debug
|
|
|
|
``` scons bwr -j4 ```
|
|
|
|
build windows release (this will build the windows release export template)
|
|
|
|
#### Shared modules
|
|
|
|
Note: This only works on linux!
|
|
|
|
append `s` to the build string.
|
|
|
|
Optionally you can also make the build system only build a target module, by appending one of these:
|
|
|
|
`E`: Entity Spell System \
|
|
`T`: Texture Packer \
|
|
`V`: Voxelman \
|
|
`W`: World Generator \
|
|
`P`: Procedural Animations
|
|
|
|
Example:
|
|
|
|
``` scons belsE -j4 ```
|
|
|
|
build editor linux shared (Entity Spell System) with 4 threads
|
|
|
|
Note: to easily run the editor you can use the `editor.sh` or `editor.bat` in the root of the project.
|
|
|
|
#### Scons cache, and sdk locations
|
|
|
|
Unfortunately the sdk locations and the scons cache location is hardcoded at the moment, as I kind of forgot about it. This will be fixed very soon.
|
|
|
|
In the meantime you can always just go into the engine directory,
|
|
|
|
``` cd engine ```
|
|
|
|
and compile godot using the [official docs](https://docs.godotengine.org/en/latest/development/compiling/).
|
|
|
|
## Pulling upstream changes
|
|
|
|
First pull the changes by calling
|
|
|
|
``` git pull orgin master ```
|
|
|
|
Then just run `scons`, to will update the modules.
|
|
|
|
## Upgrading the modules
|
|
|
|
Note: this is how to update the HEADS file. Normally you don't need to do this.
|
|
|
|
If you want to update the modules, and the engine to the latest, you can use (`action=update`):
|
|
|
|
``` scons a=u ```
|
|
|
|
You can also update different targets: `all`, `engine`, `modules`, `all_addons`, `addons`, `third_party_addons`
|
|
|
|
For example to update the engine to the latest: ``` scons a=u target=engine ``` |