61786f4b24
- Set user permissions at beginning of Docker build instead of at the end - Increased the default idle timeout for demo mode to 40s - Add noindex tag to press kit HTML - Add targets for transferring builds to Windows and MacOS computers |
||
---|---|---|
doc | ||
lib | ||
resource | ||
src | ||
www | ||
.gitignore | ||
.gitmodules | ||
LICENSE.txt | ||
Makefile | ||
Press_Kit.md | ||
README.md | ||
clang_sanitize_ignorelist.txt | ||
config.json | ||
favicon.ico | ||
index.html | ||
robots.txt |
README.md
Fork it up! Cakefoot is a challenging, single-button dodge ’em up on rails. Pilot a walking cake – hold to accelerate, let go to drift back – and survive against all odds. Featuring 22 epic levels, arcade mode, unlockables, and high scores, Cakefoot is endlessly replayable, and impossible to defeat.
Cakefoot is one of the first games made with the open-source SPACE🪐BOX engine and is free to play online. It is the first game available for the dank.game web games portal.
Mod
It is possible to edit or add levels, sprites, and some design parameters without needing to rebuild the game.
Config and assets
Asset swaps and some style edits, such as colors and fonts, are the easiest mods to do. Change the relevant values in config.json. In some cases, the values can even be changed while the game is running just by saving the file changes.
Levels
Levels in levels.json are also easy to add and mod using JSON, but the syntax is not documented yet. The shape of the curve, checkpoints, and enemies are all definable in the level syntax.
Code
Other changes will require code edits. See the Build section.
Build
Clone both the game code and the SPACE🪐BOX engine code using --recursive
. The engine code will be in lib/sb/
along with documentation and demos.
$ git clone --recursive https://open.shampoo.ooo/shampoo/cakefoot/
Each platform has a corresponding target in the Makefile. There is some documentation in the Makefile itself that should be checked. The current supported platforms are web browsers, Linux, Windows, and MacOS.
Until further documentation is added, one way to get started building for a platform is to first build the box demo for the desired platform in a separate project.
Once the box demo is confirmed to build, try making a build of Cakefoot, for example the Linux version
$ make Cakefoot-linux_debug.x86_64
Press kit
There is a press kit included in Markdown format in the root of the repository. This can be converted into an HTML page using the conversion tool Pandoc. Once Pandoc is installed, run the make target from the terminal to generate a file press.html
in the root folder.
$ make press
The generated page will look like this. To edit the press kit, for example if this repository is being used for a mod or another game, edit the markdown file, CSS rules, metadata, and optionally the template, and re-run the make target.
License
The code is open source under the zlib license, and the assets are released under the Creative Commons BY 4.0 license. This means the game can be legally copied, modified, and used commercially, as long as appropriate credit is given.
See LICENSE.txt for details, including how to provide credit.
History
1.1.4
- Check save file format before loading to prevent the game from crashing from a corrupted save file
1.1.3
- Disable logging by default (performance gain in some web browsers from removed
glGetError
calls)
1.1.2
- Draw version string on pause menu
- Enable vsync
1.1.1
- Add Python script for releasing tagged builds as distributables
- Add Itch.io build
- Bug fix: replace the removed "arcade coin" key with the bank vector
1.1.0
- added coin bank to HUD
- coin status saves per level instead of just as a total count of coins
- coin displays over the player's head after it is grabbed until it is collected
1.0.4
- add options sub-menu to title screen: bgm, sfx, fullscreen, and exit
- hide UI when gamepad is in use, enable when mouse is in use
- indicate selected UI button using hue rotation animation
- support for gamepad hat
- support for disconnecting and reconnecting gamepads
- sanitize collected data in WASM build and write files per session
- add function for finding the closest UI button in a given direction
- bug fix: prevent character from moving when level loads or play is resumed from the pause menu
- bug fix: cancel character walking sfx when paused
Contact
Contact me with questions or raise an issue on the repository page. Documentation or any other pull requests are welcome 🙂
Method | Contact information |
---|---|
cocktail.frank@dank.game | |
Web | https://dank.game |
X | https://x.com/diskmem |
PayPal | https://paypal.me/ohsqueezy |