A new side project from me: DVD Organization Simulator.
A browser-based game where you organize DVD titles alphabetically across multiple shelves. DVDs spawn on the floor periodically, and you need to place them in the correct alphabetical order before too many pile up.
This is kind of a joke, inspired by discourse on the “death” of physical media, “going digital”, and the lost thrill of organizing your physical collection… but it turns out to also be a mildly entertaining game.
Process
I used Claude Code as an AI coding assistant, and it wrote ~95% of the code. I only dipped in to do minor style tweaks, when I knew exactly what I wanted to change. Overall, it took about 6 hours, with my focus split on other things.
Here's a full list of all the (64) prompts I gave to Claude Code:
- Make a web-based video game, in which the user has to add DVDs to a shelf, in alphabetical order. The user is trying to organize movies alphabetically (ignoreing “the” at the beginning of titles), while appropriately leaving space in each shelf for new movies. Kinda like Tetris, new movies keep showing up (on the floor), and the user has to keep shelving them. If too many pile up on the floor, you lose. If a movie is shelved too far off, alphabetically, everything on that shelf falls on the floor.
- make the shelves much narrower, and get rid of the instructions and prominent title once the game starts. i need this to play well on mobile devices
- shelves still too wide. let’s do make the shelf 4 wide x 3 tall. and have the floor max be 4
- full width is still not being used, on mobile
- don’t stretch everything on desktop, and make things taller to take advantage of vertical space (but don’t ever have vertical scroll). Step back, and think about sizing of things overall, for ideal mobile and desktop experience.
- split css and js into separate files
- create a readme and claude.md file
- add a tiny amount of space at the bottom, so the floor border isn’t touching the edge of window
- do 5 px
- make the movies on the floor the same size as they are on the shelf
- they are still not the same size
- now you’ve made them smaller on the shelves, instead of making them bigger on the floor
- they are still a bit taller, on the shelf. we are not taking advantage of the full vertical space on the floor
- in addition to click placement, user should be able to drag movies from the floor to the shelf, and also between shelf places
- redo the “collapse” mechanism. instead, if the user attempts to place a movie in a place it doesn’t belong alphabetically, it should “fall” back to the floor. Have a fall animation.
- take into account the other rows. right now, the movie only falls if it is out-of-order on the row, but the entire shelf (all rows) need to be a-z overall
- a few sizing issues: - when a movie has a long title, it overflows the floor container, vertically, even though it has elipses. - on mobile width (~375px), having 5 movies on the floor overflows horizontally
- the winning state is broken. you should only ever get as many movies as there are shelf spaces. once you fill all the shelf spaces, you should win.
- something is still slightly off. i was able to “win” while still having a dvd on the floor
- we have made some changes to the game logic since last docs update. update readme and claude with current logic
- git rid of levels. we should just have one level
- instead of leveling up, we should let the user select their difficult on the start screen. higher difficulty = movies spawn faster
- show the current difficlutly level, at the top, and on the “game over” screen with the score. Possible scores should also be higher by difficulty level. Also, add a “new” button to the top, for ending the game and going back to the home screen.
- “play again” button on “game over” screen should take you back to start screen, so you can choose difficulty
- color-code the difficult, as displayed at the top of the game. also, justify the “new” button to the left
- make the difficult buttons, on the start screen full-width
- they are not full width, they are still pretty narrow
- give me a way to test the “win” screen, w/o having to play the game
- instead of “game over” show “WIN!”
- add an animation to the “win” screen
- instead of confetti, can you do movie-related emojis
- make the emojis a bit bigger
- they do not fall entirely smoothly. they kind hitch
- add a “share” button to the “game over” / “win” screen. It should copy to clipboard the score, level, and a link to the game (use DVD-Shelf-Game.timcieplowski.com)
- use emojis to illustrate the shelf, using green and red squares to indicate filled/unfilled spaces
- help me host this on github pages
- use disk emoji as favicon
- at the bottom of the start screen, add “created by Tim Cieplowski” w/ name linking to timcieplowski.com (open in new tab)
- overhaul the design. Make things look like an actual shelf, and an actual floor.
- make sure everything fits on the start screen, no mobile devices
- use width breakpoints, not height
- use width breakpoints, not height. and still use justify-between for the start screen sections
- on a mobile device, things are still not completely fitting on the start screen
- put the credit all the way at the bottom, and don’t do 2x2 grid; make the title text fit in one line
- don’t do 2x2 on desktop
- i don’t think media queries are working. i get single row on 551x697 screen
- we have too much padding in the shelves. reduce that so we don’t have to shrink the movies so much from their size on the floor
- when there are no movies on the floor, spawn immediatly instead of waiting
- add an animation when a new movie shows up on the floor (don’t change fall animation)
- show a $ emoji for a split second, when a movie spawns
- insted of emoji use green text $, and add some shadow so it covers the movie title better
- brighter, neon green
- can we somehow incorporate actual movie posters, instead of just having random colored movies?
- update your doc so you’ll know how to get posters if we add movies in the future
- put in claude.md
- give me a page to view all the posters, so i can make sure they all load
- test all the poster urls. fix or remove any that don’t work. for those removed, add a new movie with a good poster
- use the the favicon for other app image tags
- add a meta description
- use @images/m/screenshot.png in readme
- use it as social sharing image, too
- the absolute base is https://dvd-shelf-game.timcieplowski.com/
- rename this game to “DVD Organization Simulator”. don’t change the url.
- we have a bit of scroll of id=gameOverOverlay on the “win” screen
Code is here.