broken_seals/README.md

178 lines
5.7 KiB
Markdown
Raw Normal View History

2019-11-22 17:29:10 +01:00
# Broken Seals
2020-06-10 12:21:50 +02:00
### In order to open the game project in Godot, you need a custom build Godot editor! [See](#editing-the-game)
2020-06-10 10:44:18 +02:00
2020-06-10 12:21:50 +02:00
![Broken Seals as of 2020.01.10.](pictures/screen.jpg)
2019-11-22 17:41:35 +01:00
2019-11-22 17:29:10 +01:00
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, without sacrificing from the gameplay. From the testing I've done this is not even an issue.
## Editing the game
2020-06-10 12:21:50 +02:00
In order for you to open the game in the editor you will need a custom built version, with a few engine modules built int,
and unfortunately for now, you will need to build it yourself. (Binary releases will be available eventually!)
2019-11-22 17:29:10 +01:00
2020-06-10 12:21:50 +02:00
But don't worry, Godot is surpisingly easy and hassle free to compile! [See](#compiling)
2020-06-10 12:21:50 +02:00
After you have the engine with the required modules, you can go ahead, run it, and just open the project inside the `game` folder.
2019-11-22 17:29:10 +01:00
2020-06-10 12:21:50 +02:00
Usually after the initial import it will need a restart, however everything should work after that.
2019-11-22 17:29:10 +01:00
2020-06-10 12:21:50 +02:00
## The required engine modules
2019-11-22 17:29:10 +01:00
2020-06-10 12:21:50 +02:00
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
int the [Compiling](#compiling) section.
2019-11-22 17:29:10 +01:00
https://github.com/Relintai/world_generator.git
2019-11-22 20:33:49 +01:00
2019-11-22 17:29:10 +01:00
https://github.com/Relintai/entity_spell_system.git
2019-11-22 20:33:49 +01:00
2019-11-22 17:29:10 +01:00
https://github.com/Relintai/ui_extensions.git
2019-11-22 20:33:49 +01:00
2019-11-22 17:29:10 +01:00
https://github.com/Relintai/voxelman.git
2019-11-22 20:33:49 +01:00
2019-11-22 17:29:10 +01:00
https://github.com/Relintai/texture_packer.git
2019-11-22 20:33:49 +01:00
2019-11-22 17:29:10 +01:00
https://github.com/Relintai/godot_fastnoise.git
2020-06-10 10:44:18 +02:00
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
2019-11-22 17:29:10 +01:00
## Compiling
2020-06-10 10:44:18 +02:00
First make sure, that you have everything installed to be able to compile the engine. See: [Official docs for compiling GODOT](https://docs.godotengine.org/en/latest/development/compiling/index.html)
Now let's clone this repository:
``` scons ```
Before compiling, in the project's folder just run scons, it will set every dependency up. Like:
2019-11-22 17:29:10 +01:00
2020-06-10 10:44:18 +02:00
``` 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 ```
2019-11-22 17:29:10 +01:00
2020-06-10 10:44:18 +02:00
This will clone and setup the engine, and all of the required modules into a new engine folder inside the project, using http.
2019-11-22 17:29:10 +01:00
2020-06-10 10:44:18 +02:00
(If you want to use the github's ssh links append `repository_type=ssh` like ``` scons repository_type=ssh ```)
2019-11-22 17:29:10 +01:00
2020-06-10 10:44:18 +02:00
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 without changing directories.
(These are inspired by how pacman works.)
2019-11-22 17:29:10 +01:00
2020-06-10 10:44:18 +02:00
Once the build finished 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).
2019-11-22 17:29:10 +01:00
2020-06-10 10:44:18 +02:00
### Build words
The project's setup script now contains support for "build words".
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:
2019-11-22 17:29:10 +01:00
2020-06-10 10:44:18 +02:00
``` scons bw -j4 ```
2020-06-10 10:44:18 +02:00
This will be the `release_debug` windows export template.
2020-06-10 10:44:18 +02:00
#### Platform abbreviations
2020-06-10 10:44:18 +02:00
`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`
2020-06-10 10:44:18 +02:00
#### Target abbreviations
By default ther system builds in release_debug.
Append `d` for debug, and `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 while it's build like this, you can use the editor.sh in the root of the project.
#### Scons cache, and sdk locations
Unfortunately the sdk locations and the scons cache location is hardcoded atm, 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
After you pull changes, just run `scons`, it will update the dependencies.
## Upgrading the modules
2020-06-10 10:44:18 +02:00
Note: this is how to update the HEADS file. Normally you don't need to do this.
2020-06-10 10:44:18 +02:00
If you want to update the modules, and the engine to the latest, you can use (`action=update`):
2020-06-10 10:44:18 +02:00
``` scons a=u ```
2020-06-10 10:44:18 +02:00
You can also update different targets: `all`, `engine`, `modules`, `all_addons`, `addons`, `third_party_addons`
2020-06-10 10:44:18 +02:00
For example to update the engine to the latest: ``` scons a=u target=engine ```