66 lines
2.3 KiB
Markdown
66 lines
2.3 KiB
Markdown
|
# Feely Pona (aka. Terry Cherry)
|
||
|
|
||
|
This is the repository for the game Terry Cherry that was developed as part of
|
||
|
an impromptu game-jam in September 2023 over 4 weekends to make a hero
|
||
|
+ tower-defense mashup combination game. The game was developed in C++ using
|
||
|
Raylib 4.5.0 as the base framework for the game.
|
||
|
|
||
|
This game was developed with 3 people
|
||
|
|
||
|
- Doyle: Engine & gameplay programmer
|
||
|
- Joshalosh: Game designer, sound, gameplay programmer
|
||
|
- Tom: Art
|
||
|
|
||
|
This game is currently available online at [Terry
|
||
|
Cherry](https://game.doylet.dev/terry_cherry).
|
||
|
|
||
|
## Building
|
||
|
|
||
|
We target Windows and the web via WASM using Emscripten. The game is built
|
||
|
using our C++ meta build program (which generates command invocations and
|
||
|
forwards them to the command line).
|
||
|
|
||
|
### Windows
|
||
|
|
||
|
You must ensure you have MSVC's `cl.exe` on your path to build. This game was
|
||
|
tested on MSVC 2023 (v14.34.31933).
|
||
|
|
||
|
For most intents and purposes you may simply execute `build.bat` on Windows
|
||
|
which bootstraps the build program and automatically calls the meta-build
|
||
|
program. With fast computers nowadays our default is to build all targets by
|
||
|
default (except web due to extra toolchain requirements).
|
||
|
|
||
|
### Web
|
||
|
|
||
|
A web ready version using WASM can be built by passing `--web` to the meta build
|
||
|
program/script. You must have the EMSDK toolchain activated and in your path
|
||
|
from [Emscripten SDK](https://github.com/emscripten-core/emsdk). This repository
|
||
|
provides a slimmed down version of EMSDK in the `Tools` folder zipped up and
|
||
|
served over Git LFS.
|
||
|
|
||
|
The slimmed down EMSDK is the official download with a bunch of unused binaries
|
||
|
and directories removed that aren't strictly necessary for building the web
|
||
|
target (e.g. provide a stub Java version file to skip it, delete unused clang
|
||
|
binaries).
|
||
|
|
||
|
Unzip the slimmed down EMSDK `Tools/2023-10-10_emsdk_40e9cd8f.7z` or install
|
||
|
from Github and download the latest SDK. A full build for the web target can
|
||
|
then be done by
|
||
|
|
||
|
```
|
||
|
# Run EMSDK's script to add the toolchain to the path
|
||
|
Tools\emsdk\emsdk.bat activate latest
|
||
|
|
||
|
# Build the game
|
||
|
build --web
|
||
|
```
|
||
|
|
||
|
This will produce at `Build\Terry_Cherry_Emscripten` a HTML and WASM file ready
|
||
|
to be served by the browser. To test it locally you may start up a local server
|
||
|
for that directory, e.g.
|
||
|
|
||
|
```
|
||
|
cd Build\Terry_Cherry_Emscripten
|
||
|
python -m http.server
|
||
|
```
|