diff --git a/.gitignore b/.gitignore index 34feaaf..7eaca42 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ local/ src/__pycache__/ storage/ Play_History.json +press.html diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..28a43f4 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,36 @@ +Code +---- + +Original source code is released under the zlib license: + +Copyright (c) dank.game + +This software is provided 'as-is', without any express or implied warranty. In +no event will the authors be held liable for any damages arising from the use of +this software. + +Permission is granted to anyone to use this software for any purpose, including +commercial applications, and to alter it and redistribute it freely, subject to +the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software in a + product, an acknowledgment in the product documentation would be + appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source distribution. + +Images, Sound effects, and documentation +---------------------------------------- + +Images, sound effects, and documentation are released under CC BY 4.0. To view a copy of this +license, visit . Please credit dank.game when +redistributing these assets. + +BGM +--- + +Copyright for the background music belongs to Azuria Sky. It may not be used commerically. diff --git a/Makefile b/Makefile index aa38a11..ddaf9f4 100644 --- a/Makefile +++ b/Makefile @@ -364,12 +364,21 @@ Cakefoot-win32-ARCADE_ONLY.exe: $(addprefix $(ARCADE_BUILD_DIR)/, glew.o SDL2_ro rm -rf /tmp/${basename $@} mv ${@:exe=zip} $(ARCADE_BUILD_DIR) +############# +# Press kit # +############# + +# Generate an HTML page from the Press Kit Markdown file. This requires the document conversion tool Pandoc . + +press : + pandoc -H "src/Press_kit_style.html" --metadata-file="src/Press_kit_metadata.yml" -s -o press.html doc/Press_kit.md + ################### # Make all builds # ################### all : Cakefoot-linux.x86_64 Cakefoot-linux_debug.x86_64 cakefoot.js cakefoot_debug.html cakefoot_coolmath.js Cakefoot-win32.exe \ - Cakefoot-win32-ARCADE_ONLY.exe + Cakefoot-win32-ARCADE_ONLY.exe press ######################### # Clean up object files # diff --git a/README.md b/README.md new file mode 100644 index 0000000..5c732df --- /dev/null +++ b/README.md @@ -0,0 +1,62 @@ +![](doc/Cakefoot_logo.png) + +_Cakefoot_ is an ultra-hard, single-button, minimalist avoid 'em up with natural physics. The cake moves on a rail -- hold to go forward, let go to fall back, avoiding enemy patterns. With an epic 22-level quest, arcade mode, unlockables, and local high scores, _Cakefoot_ is endlessly replayable, and impossible to defeat. + +![](https://5.shampoo.ooo/video/Cakefoot_the_cookie_crumbles.gif) + +_Cakefoot_ is one of the first games made with the open-source [SPACE🪐BOX](https://open.shampoo.ooo/shampoo/spacebox) engine. It is the first game available for the [💫dank.game](https://dank.game) web games portal. It is a commercial game, but the code is licensed to be open-source and moddable. + +Modding +======= + +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](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 [resource/levels.json](resource/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 ## + +Anything not in the config or the levels file will have to be changed in code, so they will require compiling the code. + +Building +======== + +Clone both the game code and the [SPACE🪐BOX](https://open.shampoo.ooo/shampoo/spacebox) engine code using `--recursive`. The engine code will be in `lib/sb/` with documentation and demos to be compiled. + + $ git clone --recursive https://open.shampoo.ooo/shampoo/cakefoot/ + +Each platform has its own target in the [Makefile](Makefile). There is some documentation in the Makefile itself that should be checked. The current supported platforms are web browsers, Linux, and Windows. Until further documentation is added, the best way to get started on building for a platform is by installing the prerequisites for SPACE🪐BOX, compiling the [box demo](https://open.shampoo.ooo/shampoo/spacebox/src/branch/main/demo/box) for the desired platform, and attempting to build the game's target in the Makefile. + +To build on Linux, for example, once SPACE🪐BOX is confirmed to be working, run + + $ make Cakefoot-linux_debug.x86_64 + +Press kit +========= + +There is a [press kit](doc/Press_kit.md) included in Markdown format in the `doc/` folder. This can be converted into an HTML page using the conversion tool [Pandoc](https://pandoc.org/). 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](https://cakefoot.dank.game/press.html). To edit the press kit, for example if this repository is being used as a skeleton for another game or a mod, edit the [markdown file](doc/Press_kit.md), [CSS rules](src/Press_kit_style.html), and [metadata](doc/Press_kit_metadata.yml), and re-run the make target. + +License +======= + +The code is open source under the zlib license. The images and sound effects are released as CC BY 4.0, meaning they can be used commercially, but credit must be given. The background music is copyrighted and cannot be used commercially. + +See [LICENSE.txt](LICENSE.txt) for details. + +Contact +======= + +Feel free to reach out with questions or [raise an issue](https://open.shampoo.ooo/shampoo/cakefoot/issues). Documentation and any other [pull requests](https://open.shampoo.ooo/shampoo/cakefoot/pulls) are welcome. + +| E-mail | cocktail.frank@dank.game | +| Web | | +| X | | diff --git a/config.json b/config.json index 2fbaddb..bbd4bcf 100644 --- a/config.json +++ b/config.json @@ -2,7 +2,7 @@ "display": { "dimensions": [1280, 720], - "title": "cakefoot🍰👣", + "title": "Cakefoot 🍰😈", "debug": false, "render driver": "opengl", "default font path": "resource/BPmono.ttf", diff --git a/doc/Cakefoot_logo.png b/doc/Cakefoot_logo.png new file mode 100644 index 0000000..acdc6a1 Binary files /dev/null and b/doc/Cakefoot_logo.png differ diff --git a/doc/Cakefoot_logo_cover.png b/doc/Cakefoot_logo_cover.png new file mode 100644 index 0000000..5724884 Binary files /dev/null and b/doc/Cakefoot_logo_cover.png differ diff --git a/doc/Cakefoot_logo_cover_3_4.png b/doc/Cakefoot_logo_cover_3_4.png new file mode 100644 index 0000000..2542d05 Binary files /dev/null and b/doc/Cakefoot_logo_cover_3_4.png differ diff --git a/doc/Cakefoot_logo_cover_short.png b/doc/Cakefoot_logo_cover_short.png new file mode 100644 index 0000000..b8a4d25 Binary files /dev/null and b/doc/Cakefoot_logo_cover_short.png differ diff --git a/doc/Cakefoot_logo_transparent.png b/doc/Cakefoot_logo_transparent.png new file mode 100644 index 0000000..de4822b Binary files /dev/null and b/doc/Cakefoot_logo_transparent.png differ diff --git a/doc/Press_kit.md b/doc/Press_kit.md new file mode 100644 index 0000000..6d67025 --- /dev/null +++ b/doc/Press_kit.md @@ -0,0 +1,146 @@ +![](doc/Cakefoot_logo.png) + +| Information | Details | +| :----------- | :----------------------------------------------------------------------- | +| Name | Cakefoot | +| URL | [cakefoot.dank.game](https://cakefoot.dank.game) | +| Developer | [dank.game](https://dank.game) | +| Location | 🌐 Brooklyn, NY | +| Links | [x.com/diskmem](https://x.com/diskmem) | +| | [youtube.com/@nuggetsselect](https://youtube.com/@nuggetsselect) | +| | [tiktok.com/@dankd0tgame](https://https://www.tiktok.com/@dankd0tgame) | +| | [ohsqueezy.itch.io](https://ohsqueezy.itch.io) | +| | [IGDB](https://www.igdb.com/games/cakefoot) | +| Genre | Action, Arcade, Rage, Minimalist, Single-button, Masocore | +| Platforms | Web, PC, Mac, Linux, Android, [Coolmathgames](https://coolmathgames.com) | +| Release | 📅 January 1st, 2024 (Early Access) | +| | 📅 May 10th, 2024 (Full Release) | +| Price | Free-to-play, Ad-supported (Web) | +| | $2.99 (Downloadable) | +| E-mail | 📧 cocktail.frank@dank.game | + +Short Description +================= + +_Cakefoot_ is an ultra-hard, single-button, minimalist avoid 'em up with natural physics. The cake moves on a rail -- hold to go forward, let go to fall back, avoiding enemy patterns. With an epic 22-level quest, arcade mode, unlockables, and local high scores, _Cakefoot_ is endlessly replayable, and impossible to defeat. + +Events +====== + +Weekly livestream of Cakefoot, played by the developer, occasionally featuring guest players + +* [Fork it up: Cakefoot -- Interactive Livestream](https://twitch.tv/dankd0tgame) (Wed, 3/27, 8-11pm EST) +* [Fork it up: Cakefoot -- Interactive Livestream](https://twitch.tv/dankd0tgame) (Wed, 4/3, 8-11pm EST) +* [Fork it up: Cakefoot -- Interactive Livestream](https://twitch.tv/dankd0tgame) (Wed, 4/10, 8-11pm EST) +* [Fork it up: Cakefoot -- Interactive Livestream](https://twitch.tv/dankd0tgame) (Wed, 4/17, 8-11pm EST) +* [Fork it up: Cakefoot -- Interactive Livestream](https://twitch.tv/dankd0tgame) (Wed, 4/24, 8-11pm EST) +* [Fork it up: Cakefoot -- Interactive Livestream](https://twitch.tv/dankd0tgame) (Wed, 5/1, 8-11pm EST) +* [Fork it up: Cakefoot -- Interactive Livestream](https://twitch.tv/dankd0tgame) (Wed, 5/8, 8-11pm EST) + +History +======= + +The original version of _Cakefoot_ was a free downloadable game created in 2019 for [Ludum Dare 45](https://ldjam.com/events/ludum-dare/45/cakewalk) by [diskmem](https://ohsqueezy.itch.io) and [Azuria Sky](https://azuria-sky.bandcamp.com). Like the final version, the original was also a single-button arcade game with a unique, 2D physics on-rails movement mechanic. A small update after the jam added enemy sprites and a new level. The game remained available for free on itch.io. In 2023, after _Cakefoot_ was successfully pitched as a web game to [Coolmathgames](https://coolmathgames.com), diskmem revived the project and added many features, including introductory levels, coins, automatic saves, arcade mode, and unlockables. + +An arcade mode was added when _Cakefoot_ was exhibited at [Derpy Con](https://derpycon.com) in 2023 as part of the Barnyardia pop-up arcade by diskmem and [snakesandrews](https://twitter.com/snakesandrews). Arcade mode gives the player limited time and records the farthest distance reached before time runs out. High scores are saved and displayed in the game. After the convention, the arcade cabinet returned with _Cakefoot_ to its owners at [Wonderville](https://wonderville.nyc) in Brooklyn, NY, where it is still available to play. + +A custom game engine called [SPACE🪐BOX](https://open.shampoo.ooo/shampoo/spacebox) for exporting games to multiple platforms was developed alongside the game. The engine was used to add support for PC, Mac, Linux, Android, Raspberry Pi, and web browsers. _Cakefoot_ currently is available to play online at [💫dank.game💫](https://dank.game), a platform created by diskmem for _Cakefoot_ and other upcoming games built with the engine. + +Features +======== + +* Unique game play mechanic challenges players to an avoid 'em up on rails +* 22-level quest, an epic trial against all odds +* A second mode, arcade, tests how far players can get with limited time and saves high scores +* Progress saves automatically +* Modular enemy types that combine into endless patterns +* Three difficulty settings, including a heavyweight mode which boosts speed at the cost of acceleration +* Unlockable mirror and warped modes transform the visuals +* Rewards for collecting coins at each difficulty +* Runs on Windows, Mac, Linux, and in web browsers at 60 fps in any resolution +* Supports mouse, keyboard, and gamepad controls on all available platforms +* Can run fullscreen, and can be set to any monitor in a multi-monitor setup +* Dynamically resize the window to any dimension +* Simple JSON syntax for creating and sharing new levels +* Fully modifiable source code + +Trailer +======= + +* [YouTube](https://youtu.be/xn-iNcUlIpo) +* [X](https://x.com/diskmem/status/1769043497267449956) +* [Direct Download](https://5.shampoo.ooo/video/Cakefoot_Release_trailer.mp4) + + + + + +Description +=========== + +_Cakefoot_ is an ultra hard, single-button, minimalist avoid 'em up, inspired by classics such as _The World's Hardest Game_, _Geometry Dash_, _Flappy Bird_, _Super Hexagon_, _Kuru Kuru Kururin_, _Ralph 4_, and _The Cat That Got the Milk_. + +![](https://5.shampoo.ooo/video/Cakefoot_GG_RIP.gif) + +Hurtling hazards bombard your path as you guide a living slice of cake along a curving line through space. + +![](https://5.shampoo.ooo/video/Cakefoot_nice.gif) + +Simple to learn, impossible to master. Hold the button to move the cake forward, let go to move back, and the cake will respond with natural physics. If you can navigate the most challenging enemy patterns you've ever seen all the way to the end, you'll be rewarded with -- a new, harder difficulty 😈 + +![](https://5.shampoo.ooo/video/Cakefoot_the_cookie_crumbles.gif) + +Detour into arcade mode to see how far you can get in the time limit ⏰ + +![](https://5.shampoo.ooo/video/Cakefoot_enter_your_name.gif) + +CAKE is just the beginning -- beat the game and collect all the coins to unlock BEEF CAKE, BUFFALO BEEF CAKE, and visual effects, MIRROR and WARPED. + +![](https://5.shampoo.ooo/video/Cakefoot_a_new_perspective.gif) + +Screenshots +=========== + +![Cakefoot up and in](https://5.shampoo.ooo/image/Cakefoot_up_and_in.png) +![Cakefoot synchronized swimming](https://5.shampoo.ooo/image/Cakefoot_synchronized_swimming.png) +![Cakefoot world dom](https://5.shampoo.ooo/image/Cakefoot_world_dom.png) +![Cakefoot eye of the storm](https://5.shampoo.ooo/image/Cakefoot_eye_of_the_storm.png) +![Cakefoot swallowed](https://5.shampoo.ooo/image/Cakefoot_swallowed.png) +![Cakefoot nexus](https://5.shampoo.ooo/image/Cakefoot_nexus.png) +![Cakefoot long way](https://5.shampoo.ooo/image/Cakefoot_long_way.png) +![Cakefoot lets a go](https://5.shampoo.ooo/video/Cakefoot_lets_a_go.png) + +Logo +==== + +![Cakefoot logo](doc/Cakefoot_logo.png) +![Cakefoot logo transparent](doc/Cakefoot_logo_transparent.png) +![Cakefoot logo cover](doc/Cakefoot_logo_cover.png) +![Cakefoot logo cover short](doc/Cakefoot_logo_cover_short.png) + +Gameplay video +============== + +* [YouTube](https://youtu.be/WKIrsfYdcMA) +* [Direct Download](https://5.shampoo.ooo/video/Cakefoot_begin_quest_gameplay.webm) + + + +About dank.game +=============== + +💫dank.game💫 is a portal for cross-platform ad-supported games primarily created for web browsers. The first game on the portal is _Cakefoot_, designed in-house and released in 2024. Further game development is supported by advertising, multi-platform marketplace sales, and subscription tiers, starting at free. + +Streaming +========= + +Permission is granted to stream the contents of _Cakefoot_ for any commercial or non-commercial purposes. Monetization of the stream is allowed by 💫dank.game💫. Streaming the early-access version of _Cakefoot_ is allowed and encouraged. + +Contact +======= + +| Method | Contact information | +| :------ | :----------------------- | +| E-mail | cocktail.frank@dank.game | +| Web | | +| X | | diff --git a/index.html b/index.html index c17091b..ba2e8f2 100644 --- a/index.html +++ b/index.html @@ -6,6 +6,7 @@ + Cakefoot 🍰😈 | Rage game | Wishlist now on Steam!