Fun loading animation I did for Have Words. Really leans into the parallax and motion language a cooked up for the game. #screenshotsaturday
Matt Welch
@mattrwelch.bsky.social
Building Have Words, an async word game for iOS, under Windup Robot Games. My last game shipped ten years ago and Apple featured it. Former Sonos, HubSpot, Opentrons. Dad, music, and the ocean. Hokie. winduprobotgames.com
I had an issue with early testers (friends & family even!) "farming" for better seed letters: quitting and restarting. Now, the seed is a hash of the match ID and the round #, so both phones derive the same seed automatically, & you can’t quit & reopen hoping for a nicer hand. #buildinpublic #iOSdev
A Have Words match mid-game. The whole screen and its artifacts (score, visuals, turns) are derived real time. The only thing on disk is the list of moves that got here. The screen is just a replay of that list. Wrote up how the whole thing works today. ##buildinpublic #screenshotsaturday #indiegame
Screenshot Saturday: the grayscale test. Render the whole screen completed desaturated, and it still has to be playable and still look like a serious typographic game. My Tone builder has checks built in! #screenshotsaturday #design #typography
I leaned really hard into the “bold blocks” vibe in Have Words. No radius. No shadows. No pills or soft buttons. Visual distinction all comes from color and luminance. The goal was to make it look like a poster (a moving one, sure) and not an app. #design #typography #indiedev
Nothing in Have Words is a hardcoded color. The whole thing reads from a palette file, so a new look is just a json object. I can add a theme w/out touching the game. Here’s the tool I build and generate the json objects in. It even checks for vision accessibility issues! #buildinpublic #design
Before Have Words there was Cluent: a game I built, love, still play regularly, and can't ship. It's a blatant clone. But the chill "thoughtful note between friends" vibe I gave it stuck around, and that restraint is the whole visual DNA of Have Words. #buildinpublic #indiedev #screenshotsaturday
Building Have Words, a two-player word game for iOS. Take turns growing a word fragment. Finish a real word and you lose the round, so every letter is a move toward cornering someone. Stakes rise the whole way. Solo dev, building in public: havewords.games #buildinpublic #indiedev #gamedev
Naming a game is hard. The least fun part of the process so far. It's easy to get attached to names that you end up having to toss. I did, for three different names for my current in-dev game. The whole ordeal: winduprobotgames.com/devlog/have-... #buildinpublic #indiedev
"Have Words" wasn't always the game's name — Devlog — Windup Robot Games
I named my game. I named it again. Then I named it a third time, and this time I checked the stuff I should have checked first. A short story about learning the difference between a name being availab...
winduprobotgames.com
Scores are often incidental artifacts for game experiences. I wanted my in-flight game "Have Words" to feature a more visual experience. The background is the score: two color fields, one per player, and the dark band between them is the pot. #buildinpublic #gamedev #design
@tripsy.app did some more debugging. Issue occurs on my iPad and iPhone running 18.5b. Doesn’t occur on my Mac running 15.5b. Definitely an iOS bug of some sort.
@tripsy.app this obviously isn’t a tripsy problem or a problem with your shortcut as far as I can tell. Just wondering if you’ve seen it before. The dictionary seems to hold values related to displays (resolution, colorspace, profile, etc). Weird!
@tripsy.app excited about the shortcuts update! Tried the “recommend places with ChatGPT” one and getting strange results. Dropping “show results” debug steps in, I see the json formatted looks good but when converted to dictionary, the dictionary is filled w/ non-sensical key/values.