The story
Kid me dreamed of hosting games. Grown me built it.
Every few months, a folder on my desktop gets a new game in it. This site is that folder, with a light switch and a nice shelf.
When I was small I was sure I would run a website with a hundred games on it. I drew the homepage on the back of homework: a big logo, a grid of little boxes, a blinking PLAY button. I had no idea how any of it worked. I just knew a website was a place, and places could be full of games.
Years later the games are real, and the making part is the easy part. The hard part was always the hosting — zip files, FTP passwords, a page that only loaded on one computer. So this shelf is my attempt at the boring bit: one folder, plain HTML, no build step, no database. Drop a game in, add one line to a list, and it is on the shelf.
Times played: one. Times I grinned at the title screen: every single time.
How the shelf works
Each game lives in its own folder under games/<id>/, with its own index.html as the door. The whole list of games is a single file, games.json. The homepage reads that file and draws the cards. No game ever needs a page built by hand for it.
Why so plain?
Because I want this thing to still work in ten years. No framework to upgrade, no dependency to install, no build step to remember. Static files, relative paths, and a bit of JavaScript — copy the folder to a server and it runs.
What is on the shelf
Small games, mostly. Little experiments that got finished because they were fun. If you find a bug, that is just a feature with a story behind it.
— built by hand, one evening at a time