To develop on the game, run lime test html5
- Pre-configured libraries
- FMOD Studio project with menu sound effects and a random song I wrote
- Ready to use Bitlytics tie-ins
-
- Grafana metrics visualization
-
- Newgrounds API boiler plate
- Various utility libraries
- Basic state templates
- Main menu with buttons to load the credits or start the game
- Controller, keyboard, or mouse support for menu navigation
- Credits state with built-in scrolling
- Main menu with buttons to load the credits or start the game
- Pre-configured .gitignore
- Aseprite art pipeline
- Github build actions
- Dev builds on push to master
- Production builds on releases
- Set the proper Github secrets:
BUTLER_API_KEY: The Butler API key from itch.ioANALYTICS_TOKEN: The InfluxDB access token to the bucket
- Run the
./bin/setup_repo.shscript to update github workflow files and project configuration json
./bin/setup_hooks.sh- Run to copy git hooks over./bin/init_deps.sh- Run to get dependencies at the proper versions. See haxelib.deps for more info.
- Some basic analytics are already configured to be reported after the proper project configuration has been done.
- To view game metrics, run
./bin/view_metrics.shand a grafana instance will be created locally that connects to the cloud metrics. Graphs will be available athttp://localhost:3000if the browser doesn't automatically open.- This script will prompt for a read token the first time it is run for access to the data. Consult whoever controls your cloud data for a token.
- Holding
Dand pressingMat the main menu will allow playing the release game without sending metrics. This is indicated by a sound effect and a log message once pressed.
haxelib.deps- Contains all dependencies needed by the project other than haxe itself- It supports two dep styles
- standard haxelib dependencies
- Formatted as:
<libName> <libVersion>
- Formatted as:
- git dependencies
- Formatted as:
<libName> git <gitRepoLocation> <OPTIONAL: gitBranchOrTag>
- Formatted as:
- standard haxelib dependencies
- It supports two dep styles
./bin/init_deps.sh- Script that readshaxelib.depsfile and configureshaxelib- This script will need to be run any time the dependencies change
- This script is run by the github actions as part of the build so local and github builds are equivalent
All Aseprite files within the art/ directory are automatically exported as Atlases as part of a pre-commit hook. The details of this process can be found in the pre-commit hook file, as well as the AsepritePacker tool code.
There is an accompanying set of code in the source/loaders/ directory to aid with loading these files into game objects that allow frames and durations to be driven entirely via the Aseprite files.
- This projects uses the haxe-formatter package for formatting using default settings
./bin/format.shis a convenience script will perform the formatting