Build a dinosaur runner game with Deno, pt. 5 Based on the article, this is part 5 of a series guiding readers through building a browser-based dinosaur runner game using Deno. This stage focuses on adding player identity and customization features, including modals for entering a player name and customizing the dinosaur's color, background theme, and difficulty. The update also involves creating new database tables and API endpoints to persist these player preferences and display them on a global leaderboard. Build a dinosaur runner game with Deno, pt. 5 This series of blog posts will guide you through building a simple browser-based dinosaur runner game using Deno. Setup a basic project Game loop, canvas, and controls Obstacles and collision detection Databases and global leaderboards - Player profiles and customization - Observability, metrics, and alerting Player Profiles & Customization In Stage 4, we wired Oak, PostgreSQL, and a leaderboard route so every run could be recorded. The UI was still anonymous though: everyone shared the same dino, the same desert background, and you had to hard refresh the page each time you wanted to switch difficulty. In Stage 5, we’ll keep that leaderboard code, but layer on player identity and customization so the experience matches what ships in the game-tutorial-stage-4 https://github.com/thisisjofrank/game-tutorial-stage-4 repository. What you’ll build By the end of this stage you will have: - Added player-name and customization modals to public/index.html public/index.html . - Styled those surfaces with reusable modal utilities in public/css/styles.css public/css/styles.css . - Extended public/js/game.js public/js/game.js with a settings lifecycle: prompt for a name, load cached preferences, sync with the server, and apply themes/difficulty multipliers instantly. - Created players , player settings , and high scores tables plus the /api/customization endpoints that persist those choices in PostgreSQL. - Verified the global leaderboard page now reflects the player’s chosen name, color, and score in real time. 1. Upgrade the UI with identity & customization controls Start by extending the markup in public/index.html https://github.com/thisisjofrank/game-tutorial-stage-4/blob/main/public/index.html . We add three things near the game canvas: - A “Customize Game” button so players can open the modal mid-run. - A player-name modal that appears the first time someone loads the page. - A customization modal that exposes color, theme, and difficulty controls.