Explore dungeon-like rooms filled with mischievous skeletons, dodge attacks, and fight back to reclaim the milk they've stolen. Every skeleton carries part of the bakery's precious supply, so defeating them is the only way to recover it all.

Play instantly in your browser on desktop or mobile—no download required.

Story

The cake can't be finished without milk.

Unfortunately, a gang of skeletons decided they needed it more than the bakery did.

Track them down, recover every stolen milk carton, and bring the ingredients home. Once all the milk is recovered, it's finally time to get back to work and finish the cake.

Time to finish the cake!

Controls

Desktop

  • Arrow Keys or WASD — Move
  • Space — Attack

Mobile

  • Virtual Joystick — Move
  • Attack Button — Attack

How to Play

  • Explore each room and hunt down every skeleton.
  • Defeat skeletons to recover the milk cartons they've stolen.
  • Avoid enemy attacks and stay alive.
  • Recover all the milk and clear every room.
  • Return victorious and finish the cake.

Technology

Bones Need Milk is powered by a custom game engine written entirely from scratch in TypeScript and Three.js.

The project does not use Unity, Unreal Engine, Godot, or any other off-the-shelf game engine. Instead, it uses a lightweight architecture built specifically for browser-based 3D games, including rendering, animation, combat, enemy AI, room management, UI systems, touch controls, and game progression.

Bones Need Milk is fully playable on both desktop and mobile browsers. Desktop players can use keyboard controls, while mobile players can jump straight into the action using an integrated virtual joystick and touch controls.

Source Code

The complete source code is available on GitLab:

https://gitlab.com/massimoavvisati/bones-need-milk

If you're interested in Three.js game development, browser-based 3D games, or TypeScript game architecture, feel free to explore the code.

Asset Credits

Bones Need Milk is built using fantastic low-poly assets from talented independent creators.

KayKit

Many of the characters, dungeon props, and environment assets are based on KayKit's excellent low-poly asset packs.

https://kaylousberg.itch.io/

Tiny Treats

Many of the bakery, food, and cozy interior assets come from Tiny Treats by Isa Lousberg. The Tiny Treats assets are designed to match the style and scale of KayKit assets, making them a perfect fit for the project.

https://tinytreats.itch.io/

Promotional Art

Promotional images, splash screens, victory screens, and game-over screens were created using generative AI workflows based on Blender renders of the actual in-game assets. The generated artwork was then refined and adapted for use as store and marketing material.

Special Thanks

Special thanks to Regolo.ai for providing a free trial that helped accelerate development.

Parts of the project were developed using AI-assisted workflows through Opencode, helping with boilerplate code, repetitive systems, refactoring, and experimentation while leaving more time to focus on gameplay, design, and polish.

Credits

Game Design, Programming, Art Direction, and Production

Massimo Avvisati

Published 1 day ago
StatusPrototype
PlatformsHTML5
AuthorMassimo Avvisati
GenreAction
Tags3D, Dungeon Crawler, jamegam, mil
AI DisclosureAI Assisted, Code, Graphics

Leave a comment

Log in with itch.io to leave a comment.