Bones need Milk

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.
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.
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 |
| Status | Prototype |
| Platforms | HTML5 |
| Author | Massimo Avvisati |
| Genre | Action |
| Tags | 3D, Dungeon Crawler, jamegam, mil |
| AI Disclosure | AI Assisted, Code, Graphics |





Leave a comment
Log in with itch.io to leave a comment.