IWaniHugThatGator-Demo-Public
This is a hub for code/issues/PR's for the demo AND full game. Go ahead and make issues about Olivia's boobs not being big enough, or things found outside the demo. Most of the scripting logic for the full game is here, barring the story script files.
If you want to submit patches that relate only to code found in the full game, send us an email with the patch at cavemanongames@gmail.com. We'd prefer you use git's patching utilities to make a nice, cohesive patch we can implement into our workflow, but plain text files are okay as long as they are update-to-date with the latest commits and use the same encoding as the originals scripts (Text files may encode differently by default if you're typing in different languages).
Information regarding how to set up the full game as a Ren'Py project using the Demo can be found below.
Building
There are two options for building:
-
Ren'Py SDK - For being able to launch the project as a game and/or make personal distributions. Good for computerlets/ease of use. Has debugging features and a bit more options. Requires a bit more setup for Android building. Will not include workshop support by itself.
-
RenKit - For accurate compilation. Good for automation/terminal users. Dead simple setup, auto downloads almost all required files for building distributions, including the SDK and most Android stuff. Allows CLI interfacing with Ren'Py to launch projects. Includes steam workshop support via the patching functionality.
BUILDING WITH THE SDK
- Download the Ren'Py 8.3.7 SDK depending on your system
- Extract the .zip/.bz2/.dmg or get it through your package manager and run the SDK.
- Clone this repo - Or if you don't use Git, click the '...' button near the topright of this page and click 'Download ZIP' - and place it within the Ren'Py SDK or to a directory of your choosing.
- Launch the SDK and set the projects path to the folder containing your repo. Make sure the project is selected within the projects list.
- When you're ready to distribute, click 'Build Distributions' and select your appropriate OS's. Click 'Build' and your builds will appear beside your cloned folder.
- (OPTIONAL) If you want to build for Android, you'll need to install JDK 21, then from the main SDK screen click 'Android', and then 'Install SDK'. After that's done, click 'Build Package'.
BUILDING WITH RENKIT
- Download RenKit 5.1.0-alpha8 depending on your system
- Extract the .zip/.xz or get it through your package manager.
- Clone this repo - Or if you don't use Git, click the '...' button near the topright of this page and click 'Download ZIP' - and place it somewhere you can access.
- Edit the
renconstruct.toml
file in the root of the project files to fit your needs like which distributions you want to build. - (OPTIONAL) If you want steam workshop support, you must enable the patch task in
renconstruct.toml
and install a patching program into your PATH or put the path to a patch executable in thepatch_path
argument. On Linux, just use your package manager to install the programpatch
if your distribution does not already have it. On Windows, you can use GnuWin to download a binary or install to your PATH (Though you'll have to run renconstruct with administrator privileges). If you're on Mac, ¯\(ツ)/¯. - (OPTIONAL) If you want to include building for Android, you'll need to install JDK 21 as renconstruct can't do that automatically.
- Run
renconstruct
with the following command. You can omit-c "<path to renconstruct.toml>"
if your working directory is the same as where the config is located:
renconstruct build -c "<path to renconstruct.toml>" "<path to demo project files>" "<path to outputted distributions>"
This will start the build process and outputs the game to whatever path you set your distributions to.
More information on the build process can be found here. Information relating to building for Android can be found here here as well. Information regarding RenKit and it's documentation can be found on its github page
Included is an action script intended for Gitea that will handle CI/CD and may be useful for some. Versioning can be applied via git tags, and will replace the in-game version variable and the versioning for android with the name of the tag. You can also configure the Renkit and Ren'Py version through there and will use renconstruct-gitea.toml
instead.
Setting up the full game as a Ren'Py project
- Download your legally owned copy of I Wani Hug that Gator! from Itch.io or Steam (Note: Do not use the Android version for this)
- Clone this repo - Or if you don't use Git, click the '...' button near the topright of this page and click 'Download ZIP' - and place it somewhere you can access.
- Extract files as needed for both, then browse to the full game's files (On Steam, use 'Browse local files').
- Copy the
game
folder, then delete the corresponding folder in the Demo project files and replace it with the full game's. - Edit these entries in
android.json
to these values:
"icon_name": "I Wani Hug That Gator",
"name": "I Wani Hug That Gator",
"package": "cavemanon.wani.full",
- In the root folder, in
renconstruct.toml
, under [tasks.patch], set 'enabled' to true - (OPTIONAL) Delete
script_version.txt
in "game/" if you want to use a different Ren'Py version.
You now have reproduceable source code of the full game. The only code differences between the full game and demo besides missing story scripts is 'game/00src/storyline.rpy' and 'game/00src/chapter_select.rpy', with 'game/options.rpy' modified to toggle the 'is_demo' variable
Libraries Used
- Better EMR Phone: Changes to fix self-voicing annoyances, adding texts to game history, clicking anywhere advances dialogue, and redesigned UI.
- Action Editor 3
- Kinetic Text Tags: Minor change so a tag is conditional.
- Ren'Py Draw: Changes made to fit the way drawings are stored, and "Clear" button is undo-able.
- Ren'Py Discord Presence: Changes to prevent crashes from Discord not running, Android incompatabilities, and to be translatable.
Licenses within this game
All code, including the story and fonts, is licensed under the AGPL v3. All audio and image/video assets are licensed under CC BY-SA, with the exception of a few that are CC BY, listed in the LICENSE file.