A cross-platform (Lin/Mac/Win) terminal-based shooter game.
https://www.youtube.com/watch?v=6ycg91F3Pn4
https://www.youtube.com/watch?v=MCauEDtP2ZU
With Forge installed, a fresh checkout uses the locked applaudio packages by default. The following commands cover the most common build modes:
| Use case | Command |
|---|---|
| Default applaudio Debug build | forge build-and-run |
| Explicit applaudio Release build | forge build-and-run --profile=applaudio --config=release |
| Reproducible OpenAL Release build | forge build-and-run --style=git-source --profile=openal --config=release |
| Develop against local applaudio checkouts | forge build-and-run --style=local-source --profile=applaudio |
| Develop against local OpenAL checkouts | forge build-and-run --style=local-source --profile=openal |
The local-source commands expect the dependency repositories under
../lib/<repository>. To build without starting the program, replace
build-and-run with build; a built configuration can then be started with,
for example, forge run.
OpenAL is deliberately source-only and is not available through the
github-package style. Install OpenAL Soft before using the OpenAL profile on
macOS or Debian-based Linux:
# macOS
brew install openal-soft
# Debian/Ubuntu
sudo apt install libopenal-devWindows resolves the pinned 3rdparty_OpenAL source dependency automatically.
There are two options on dealing with repo dependencies:
This method will ensure that you are running the latest stable versions of the dependencies that work with Pilot_Episode.
The script fetch-dependencies.py used for this was created by Thibaut Buchert.
fetch-dependencies.py is used in the following scripts below:
After a successful build, the scripts will then prompt you with the question if you want to run the program.
When the script has been successfully run for the first time, you can then go to sub-folder Pilot_Episode and use the build.sh / build.bat script instead, and after you have built, just run the run.sh or run.bat script.
Run the following script:
setup_and_build.batRun the following script:
setup_and_build_macos.shRun the following script:
setup_and_build_debian.batIn this method we basically outline the things done in the setup_and_build-scripts in Option 1.
This method is more suitable for development as we're not necessarily working with "locked" dependencies.
You need the following header-only libraries:
- https://github.com/razterizer/Core
- https://github.com/razterizer/Termin8or
- https://github.com/razterizer/8Beat
- https://github.com/razterizer/AudioLibSwitcher_applaudio
- https://github.com/razterizer/applaudio
Make sure the folder structure looks like this:
<my_source_code_dir>/lib/Core/ ; Core repo workspace/checkout goes here.
<my_source_code_dir>/lib/Termin8or/ ; Termin8or repo workspace/checkout goes here.
<my_source_code_dir>/lib/8Beat/ ; 8Beat repo workspace/checkout goes here.
<my_source_code_dir>/lib/AudioLibSwitcher_applaudio ; AudioLibSwitcher_applaudio repo workspace/checkout goes here.
<my_source_code_dir>/lib/applaudio ; applaudio repo workspace/checkout goes here (only needed for Windows).
<my_source_code_dir>Pilot_Episode/ ; Pilot_Episode repo workspace/checkout goes here.
These repos are not guaranteed to all the time work with the latest version of Pilot_Episode. If you want the more stable aproach then look at Option 1 instead.
Then just open <my_source_code_dir>/Pilot_Episode/Pilot_Episode/Pilot_Episode.sln and build and run. That's it!
You can also build it by going to <my_source_code_dir>/Pilot_Episode/Pilot_Episode/ and build with build.bat.
Then you run by typing run.bat.
Then goto <my_source_code_dir>/Pilot_Episode/Pilot_Episode/ and build with ./build.sh.
Then run by typing ./bin/pilot_episode.
Then goto <my_source_code_dir>/Pilot_Episode/Pilot_Episode/ and build with ./build.sh.
Then run by typing ./bin/pilot_episode.
To make a new release, you first have to update the RELEASE_NOTES.md document. E.g.:
Then to make a new release you should use the tag_release.sh script:
./tag_release.sh -f RELEASE_NOTES.mdor if you want to re-upload an existing release, e.g.:
./tag_release.sh 1.1.5.7. -f RELEASE_NOTES.mdyou can also use these commands:
./tag_release.sh bump patch "Release notes."./tag_release.sh bump minor "Release notes."./tag_release.sh bump major "Release notes."./tag_release.sh 1.1.5.7 "Release notes."If you want to remove a release for some reason, you can do so by running the following git commands:
# Delete local tag
git tag -d release-1.0.0.0
# Delete remote tag
git push --delete origin release-1.0.0.0When you download a MacOS release then you need to tell the gatekeeper unblock the executable (here: pilot_episode), but only if you trust the program of course (check source code + release workflow if you're unsure).
When you feel ready, you can allow the binary to be run by going to the release folder and type the following:
xattr -dr com.apple.quarantine pilot_episodeOn Windows, you might have to unblock the exe by right-clicking the exe-file and check the Unblock checkbox.










