One button action game, a living cake, wow the sweet taste of victory! https://cakefoot.dank.game
Go to file
Cocktail Frank 61786f4b24 - Move CLI code upstream
- 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
2024-08-20 20:26:12 -04:00
doc remove rotation projection from coin HUD 2024-05-10 21:23:59 -04:00
lib - Move CLI code upstream 2024-08-20 20:26:12 -04:00
resource - Added a simple test program that opens and closes a game using testing framework Catch2 from upstream 2024-07-25 01:51:19 -04:00
src - Move CLI code upstream 2024-08-20 20:26:12 -04:00
www log the session ID to the JS console, check for data collection file existence before opening the file path 2024-07-09 20:31:39 -04:00
.gitignore - Disable logging by default 2024-06-05 20:20:11 -04:00
.gitmodules ic 2023-05-23 15:35:29 -04:00
LICENSE.txt update assets license, bug fix: check the correct level index when checking for a coin in the bank at level load 2024-05-11 00:57:51 -04:00
Makefile - Move CLI code upstream 2024-08-20 20:26:12 -04:00
Press_Kit.md remove rotation projection from coin HUD 2024-05-10 21:23:59 -04:00
README.md - Add support for extra config files on the command line 2024-07-19 01:39:02 -04:00
clang_sanitize_ignorelist.txt update gitignore 2023-06-19 20:43:07 -04:00
config.json - Move CLI code upstream 2024-08-20 20:26:12 -04:00
favicon.ico - add coins to ending 2023-12-04 21:55:11 -05:00
index.html log the session ID to the JS console, check for data collection file existence before opening the file path 2024-07-09 20:31:39 -04:00
robots.txt log the session ID to the JS console, check for data collection file existence before opening the file path 2024-07-09 20:31:39 -04:00

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
E-mail cocktail.frank@dank.game
Web https://dank.game
X https://x.com/diskmem
PayPal https://paypal.me/ohsqueezy