- TypeScript 59%
- Logos 35.4%
- CSS 4.7%
- HTML 0.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
Trigger ansible deploy / dispatch (push) Successful in 1s
|
||
| .forgejo/workflows | ||
| src | ||
| .gitignore | ||
| ant.lockb | ||
| frontend.ts | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
Bee Meadow - sad.ovh
Sophie's personal site as a tiny explorable game. A living bee meadow rendered on
<canvas>, where buildings are pages: walk (pan) around, tap things, read the
blog, browse projects, and step inside the house.
Live at https://sad.ovh
What it is
- Explorable homepage - a Tiled
.tmxmeadow baked to canvas, with day/night tinting, wandering bees, hives, chatter bubbles, and a rotating binkie billboard. - Buildings are content - each building cluster opens a parchment popup: blog, projects, contact, donations, webrings, skills, Last.fm.
- A house you can enter - the
click to enterbuilding loads an interior map (assets/map/my_house.tmx) with its own decorations and popups. On mobile a← leave housebutton appears; on desktop pressEscape. - Mobile-friendly - touch pan, tap-to-open, responsive popup card, safe-area aware exit button, fluid hint/type sizes.
Controls
| Input | Action |
|---|---|
| Drag / scroll | Pan the meadow |
| Click / tap building | Open its page, or enter the house |
Escape or ← leave house |
Exit the house |
H / T |
Toggle highlight / tree debug layers |
Tech
- Preact (
popup.tsx,pages/) rendered into a canvas-anchored HTML overlay - Custom engine (
src/game/engine/) - TMX loader, canvas baker, sprites, day tint, HTML overlay, input (tap / touch-pan / wheel-pan) - Simulation (
bees.ts,chatter.ts,binkies.ts,clusters.ts,save.ts)- bee foraging, day cycle, speech bubbles, billboard rotation, localStorage saves
- SSSG static build (
frontend.ts) - TypeScript compiler, Markdown blog compiler, image optimization,__BLOG_POSTS__variable injection - Maps - edited in Tiled, stored as base64+zstd
.tmxinsrc/assets/map/
Getting started
Requires Ant.
ant install
ant run dev # serve with live reload on :8080
ant run prod # optimized build into dist/
Editing content
- Popups - edit
src/game/popup.tsx(BUILDING_MESSAGES).hintcontrols the floating yellow label;contentis Preact rendered into#popup-text. - Blog - add/remove
src/blogs/*.md. The list is injected at build time via__BLOG_POSTS__infrontend.ts;pages/Blog.tsxreads it. - Maps - edit in Tiled, keep layer names (
terrain/ground= ground, everything else = canopy). Buildings come from thebuildingslayer clusters; IDs (B1,B2, …) are assigned by cluster size order, so check the popup mapping after reshaping the map. - House -
src/assets/map/my_house.tmx. Decorations with triggers live indecorations;H<cell>IDs inpopup.tsxmust match tile indices.
How the house works
enterHouse() caches the meadow (map, baked layers, binkie face), loads
my_house.tmx, mounts per-tile hints, and shows the exit button. exitHouse()
restores the cache and disposes house hints. Both guard on inHouse /
transitioning / booted so rapid taps can't corrupt state.
License / contact
"[LPC] Fruit Trees" by bluecarrot16, Joshua Taylor, and cynicmusic. https://opengameart.org/content/lpc-fruit-trees
LPC Coniferous Tree. Original by Sharm. Modified by WoldMountainGames for the Winter Tree. https://opengameart.org/content/lpc-seasoned-trees
"[LPC] Farm" by bluecarrot16, Wolthera van Hövell tot Westerflier (TheraHedwig), and Ivan Voirol. License: CC-BY 4.0. http://opengameart.org/content/lpc-farm . Based on: "Slates [32x32px orthogonal tileset by Ivan Voirol]" by Ivan Voirol. License: CC-BY 4.0 https://opengameart.org/content/slates-32x32px-orthogonal-tileset-by-ivan-voirol . "LPC compatible Ancient Greek Architecture" by Wolthera van Hövell tot Westerflier (TheraHedwig). Licenses: CC-BY-4.0 / GPL-3.0 / OGA-BY-3.0. https://opengameart.org/content/lpc-compatible-ancient-greek-architecture
Attribution to Nemisys,Daniel Eddeland (http://opengameart.org/content/lpc-farming-tilesets-magic-animations-and-ui-elements) and Tuomo Untinen https://opengameart.org/content/lpc-signposts-graves-line-cloths-and-scare-crow
Curt, Sharm, William.Thompsonj, This Webaddress https://opengameart.org/content/lpc-water-fountain
and my own assets (beehive, and more.)
Terrain
"[LPC] Terrains" by bluecarrot16, Lanea Zimmerman (Sharm), Daniel Eddeland (Daneeklu), Richard Kettering (Jetrel), Zachariah Husiar (Zabin), Hyptosis, Casper Nilsson, Buko Studios, Nushio, ZaPaper, billknye, William Thompson, caeles, Redshrike, Bertram, and Rayane Félix (RayaneFLX) https://opengameart.org/content/lpc-terrains-repacked
Liberated Pixel Cup (LPC) Base Assets (sprites & map tiles) Lanea Zimmerman (Sharm) CC-BY 3.0 / CC-BY-SA 3.0 / GPL 3.0 https://opengameart.org/content/liberated-pixel-cup-lpc-base-assets-sprites-map-tiles
[LPC] Farming tilesets, magic animations and UI elements Daniel Eddeland (Daneeklu) CC-BY-SA 3.0 / GPL 3.0 https://opengameart.org/content/lpc-farming-tilesets-magic-animations-and-ui-elements
ZRPG Tiles Richard Kettering (Jetrel), Zachariah Husiar (Zabin), Hyptosis, Lanea Zimmerman (Sharm), and Open Pixel Project. CC-BY-SA 3.0+ https://opengameart.org/content/zrpg-tiles
LPC C.Nilsson Casper Nilsson CC-BY-SA 3.0 / GPL 3.0 https://opengameart.org/content/lpc-cnilsson
Frozen Lake [LPC] Buko Studios (http://www.buko-studios.com/) Commissioned by PlayCraft: (www.playcraftapp.com) CC-BY 3.0 https://opengameart.org/content/frozen-lake-lpc
LPC Animated Water and waterfalls ZaPaper CC-BY-SA 3.0 https://opengameart.org/content/lpc-animated-water-and-waterfalls
LPC More Water Transitions billknye CC-BY-SA 3.0 / GPL 3.0 https://opengameart.org/content/lpc-more-water-transitions
[LPC] Sand+Rock Alt Colors William.Thompsonj, Daniel Eddeland CC-BY-SA 3.0 / GPL 3.0 https://opengameart.org/content/lpc-sandrock-alt-colors
[LPC] Colorful Sand + Deep Water! Nushio CC-BY-SA 3.0 / GPL 3.0 https://opengameart.org/content/lpc-colorful-sand-deep-water
LPC terrain extension caeles CC-BY-SA 3.0 / GPL 3.0 https://opengameart.org/content/lpc-terrain-extension
RPG Tiles: Cobble stone paths & town objects Zachariah Husiar (Zabin), Daniel Eddeland (Daneeklu), Richard Kettering (Jetrel), Hyptosis, Redshrike, Bertram CC-BY-SA 3.0 https://opengameart.org/content/rpg-tiles-cobble-stone-paths-town-objects
RPG Terrains Rayane Félix (RayaneFLX) CC-BY-SA 3.0 https://opengameart.org/content/rpg-terrains
Trees
"[LPC] Trees Mega-Pack" by bluecarrot16, Jetrel, Zabin, Hyptosis, Surt, Buch, Johann Charlot, Stephen Challener and the Open Surge team (http://opensnc.sourceforge.net), Gaurav Munjal, Ivan Voirol (Silver IV) Guido Bos, Yar, Paulina Riva (PauR), William.Thompsonj, Casper Nilsson, Hyptosis, ansimuz, qubodup, Bart K., Blarumyrran, Lanea Zimmerman (Sharm), Leonard Pabin, Chris Phillips, Barbara Rivera, and Talosaurus. CC-BY-SA 3.0 http://opengameart.org/content/lpc-trees
Lots of trees and plants from OGA (DB32) tilesets pack 1 Jetrel, Zabin, Hyptosis, Surt CC0 https://opengameart.org/content/lots-of-trees-and-plants-from-oga-db32-tilesets-pack-1
The Field of the Floating Islands Buch https://opengameart.org/users/buch CC0 https://opengameart.org/content/the-field-of-the-floating-islands
Outdoor tiles, again Buch https://opengameart.org/users/buch CC-BY 2.0 https://opengameart.org/content/outdoor-tiles-again
Shoot'em up graphic kit Johann Charlot CC-BY-SA 3.0 / GPL 3.0 https://opengameart.org/content/shootem-up-graphic-kit
32x32 (and 16x16) RPG Tiles--Forest and some Interior Tiles Stephen Challener and the Open Surge team (http://opensnc.sourceforge.net)commissioned by Gaurav Munjal CC-BY 3.0 https://opengameart.org/content/32x32-and-16x16-rpg-tiles-forest-and-some-interior-tiles
Orthographic outdoor tiles Buch CC0 https://opengameart.org/content/orthographic-outdoor-tiles
Basic map 32x32 by Silver IV Ivan Voirol (Silver IV) CC-BY 3.0 / GPL 3.0 / GPL 2.0 https://opengameart.org/content/basic-map-32x32-by-silver-iv
old frogatto tile art Guido Bos CC0 https://opengameart.org/content/old-frogatto-tile-art
Generic Platformer Tiles surt CC0 http://opengameart.org/content/generic-platformer-tiles
Isometric 64x64 Outside Tileset Yar CC-BY 3.0 https://opengameart.org/content/isometric-64x64-outside-tileset
Nature tileset Paulina Riva (PauR) CC-BY 3.0 https://opengameart.org/content/nature-tileset
[LPC] Tree Recolors William.Thompsonj CC-BY-SA 3.0 / GPL 3.0 https://opengameart.org/content/lpc-tree-recolors
LPC C.Nilsson Casper Nilsson CC-BY-SA 3.0 / GPL 3.0 https://opengameart.org/content/lpc-cnilsson
Lots of Hyptosis' tiles organized! Hyptosis CC-BY 3.0 https://opengameart.org/content/lots-of-hyptosis-tiles-organized
Trees & Bushes ansimuz CC0 http://opengameart.org/content/trees-bushes
OGA Community Tileset: Nature qubodup, Bart K., Blarumyrran GPL 2.0 / GPL 3.0 / CC-BY-SA 3.0 https://opengameart.org/content/oga-community-tileset-nature
Liberated Pixel Cup (LPC) Base Assets Lanea Zimmerman (Sharm) CC-BY-SA 3.0 / CC-BY 3.0 / GPL 3.0 https://opengameart.org/content/liberated-pixel-cup-lpc-base-assets-sprites-map-tiles
Whispers of Avalon: Grassland Tileset Leonard Pabin CC-BY 3.0 / GPL 3.0 / GPL 2.0 https://opengameart.org/content/whispers-of-avalon-grassland-tileset
Team River Fox Chris Phillips, Barbara Rivera CC-BY-SA 3.0 / GPL 3.0 https://opengameart.org/content/team-river-fox
Concept Art for LPC Entry Barbara Rivera CC-BY-SA 3.0 / GPL 3.0 https://opengameart.org/content/concept-art-for-lpc-entry
Old Eastern Themed Building Tiles + Tree Talosaurus CC0 https://opengameart.org/content/old-eastern-themed-building-tiles-tree