diff --git a/src/posts/jumblie-build-log.md b/src/posts/jumblie-build-log.md index 7446f80..3e2134a 100644 --- a/src/posts/jumblie-build-log.md +++ b/src/posts/jumblie-build-log.md @@ -2,7 +2,7 @@ layout: ../layouts/BlogPost.astro title: Jumblie Build Log slug: jumblie-build-log -description: "I built Jumblie, a jumbled word search game. Here's how!" +description: 'I built Jumblie, a jumbled word search game. Here''s how!' tags: - learning - technical @@ -13,7 +13,7 @@ I built a word game called [Jumblie](https://jumblie.com) that I'm very excited ## Why I built it -A friend of mine, [Jason](https://www.learnwithjason.dev/), is starting a video series where he gives 4 developers 1 idea (aptly named **4 Web Devs, 1 App Idea**, wow), and he asked us to build something that could use a leaderboard. +A friend of mine, [Jason](https://www.learnwithjason.dev/), is starting a video series where he gives 4 developers 1 idea (aptly named **[4 Web Devs, 1 App Idea](https://youtu.be/zR8dUhLPK80?si=8GLivmrZ6B_ILRuk)**, wow), and he asked us to build something that could use a leaderboard. When I see "leaderboard" I think "game" which meant I had to come up with a very fun game worth playing, and build it in less than a couple weeks. @@ -25,10 +25,10 @@ I came to Brainstory saying "sooo I want to make a game" and slowly but surely i I knew I wanted to: -- Make a daily puzzle that changes each day -- Have 4, 5, 6, and 7 letter words, jumbled together -- Make it play kind of like the [New York Times Connections](https://www.nytimes.com/games/connections) game -- Have it be mobile and desktop friendly +* Make a daily puzzle that changes each day +* Have 4, 5, 6, and 7 letter words, jumbled together +* Make it play kind of like the [New York Times Connections](https://www.nytimes.com/games/connections) game +* Have it be mobile and desktop friendly ## What I did next @@ -161,11 +161,7 @@ Anyway! Jumblie was about as basic as it could get at first, where it would take After this, it... just worked. I added a scoring setup so that based on the word you guessed, it would be assigned to a color, and you could copy the score just like with games like Wordle and Connections: -> Jumblie #12 -> -> 🟠🔴🔵🟢 -> -> 5 guesses +> Jumblie #12🟠🔴🔵🟢5 guesses I went from this to adding features like keyboard support (which was painful, because events when you click buttons versus when you type are treated differently in the browser), a shuffling option (which was also painful, because I had to refactor how letters were differentiated on the screen), handling duplicate guesses (which was again painful because when you don't use a framework, you gotta do some really funky imperative programming where you select the div, select the word in the div, compare it with the current guess, etc), and a timer (which was actually not that painful, phew). @@ -175,9 +171,9 @@ But, I still needed a leaderboard! I... ran out of time to build a real one agai I set up local storage to: -- Save your best times while playing -- Save your longest streak while playing the game -- Save your current streak +* Save your best times while playing +* Save your longest streak while playing the game +* Save your current streak You know what's fun? Time zones. My word, time zones. A very common ask from folks was asking for pausing functionality and autosaving if you exit the game, and my word, setting up time zones with this scoring and the personal leaderboards made me lose far too much sleep and happiness. But, once I finally, finally fixed all of them (she said, foolishly), the personal leaderboard setup was complete! @@ -187,9 +183,9 @@ Since "finalizing" the game, I've been so happy with how much people play it! I I've since added features like: -- Ability to add the game to your home screen -- [A puzzle archive](https://jumblie.com/archive/) -- [A way for users to suggest new puzzles](https://jumblie.com/suggest/) (because I am NOT going to deal with AI again for that) +* Ability to add the game to your home screen +* [A puzzle archive](https://jumblie.com/archive/) +* [A way for users to suggest new puzzles](https://jumblie.com/suggest/) (because I am NOT going to deal with AI again for that) I've gotten some other requests for things like internationalization (which would take a fairly large refactor I admit), actual shared leaderboards with friends, and a mobile app! I'm thinking about how I'll implement those, but until then, I'm super happy where Jumblie is at right now.