BETA — Сайт у режимі бета-тестування. Можливі помилки та зміни.
UK | EN |
LIVE
Технології 🇺🇸 США

Show HN: I built a new word game, Wordtrak

Hacker News qrush 1 переглядів 6 хв читання

I've been playing word games my whole life. My mom has been regularly beating me at Scrabble since I could spell. I lose frequently to my wife Maya at Scrabble, and my kids beg to play Wordle every time we are waiting for a food order. My brother-in-law even made us a crossword to commemorate our wedding date.

Cam THINK Maya scrabble Wedding scrabble

After trying out NYT's Crossplay recently for a few weeks, I set out to build a new word game from scratch. I had a few goals for myself:

  1. It's easy for my family members to play - and challenging
  2. Build a game you can put down and walk away from
  3. A familiar tech surface (simple mobile web, native apps)

What is Wordtrak?

Wordtrak is a 1v1 word battle. There's 3 or 5 "traks" - you can pick any trak to play a word on, and your opponent chooses one to play on as well. The winner of a trak is who has the highest point total. There's definite strategy and tension based on what letters you draw, and which tile you picked. Here's an example 5-trak game where shockingly, my mom lost against my dad:

Thanks to Kevin Purdy, I had a tag line too: "Scrabble that doesn't drag". Sadly, I can't trademark that one verbatim. For the game dev curious, here's how I built it from scratch, with a ton of help from Claude and some friends' feedback.

Design, Design, Design

I started first with just laying down the rules for the game with Claude and sticking purely to markdown docs - I'd bounce ideas back and forth with Maya, and try to get to a game loop going. I even had a few practice / "mock" games purely in the LLM to test that out. This phase lasted nearly a week, with no real code being committed.

design markdown ux markdown

Early on I knew that a train theme would help set the tone visually and distinctively from other games on the market. (And besides, trains are awesome.) I've been getting ads for the Vestaboard for months, and figured a split-flap display would be a fun way to show the letters. Combined with the impulse purchase of a new domain, I was committed. Claude helped me out on the visual design side as well:

native design mocks button design mocks

We still haven't written any real code, or a game still, but it looked fun! I obsessed over the split-flap displays, which mechanically operate in a fascinating way, and I wanted to really make pushing these buttons feel...clacky.

split flap

Just get it working!

The next stage brought these mockups to life - I chose development stacks I was familiar with (Rails and expo.dev) and building the game with Claude Code. I opted to go for a hybrid / web stack since I personally play Wordle and other word games on desktop/mobile web frequently - and building the split-flap display interface for each platform sounded like an early optimization.

The first games worked surprisingly well, and I had a very simplistic CPU player that picked any word it could find. I attempted to build a Balatro style "Joker" concept where you could get special powers per randomly picked "Conductor". The scoring and modifier tiles took a while to nail down as well, and I settled on just copying Scrabble's tile scores to start:

wip 1 wip 2 wip 3

We soon realized that some of the conductors were really unfair and effectively required an in-game economy to help balance. On top of that, I wanted games to be fast, maybe only a few minutes long. I scaled that back, found some better fonts, and added a dark mode since I was playtesting pretty late most nights.

wip 4 wip 5 wip 6

I started inviting some more friends to play since it felt more "real", and it needed more human feedback. I mostly lost again to friends - a good sign! The game board still had a lot of scrolling, and scores felt really low. Next, I focused on building out a lobby and stat tracking features since I wanted to see if any patterns would emerge with player behavior. The game also needed a custom dictionary since /usr/share/dict/words was not enough, and it required using a combination of free and publicly available dictionaries. I spent many cycles trying to figure out how players can submit missing words for feedback, which I eventually cut from the app for 1.0.

wip 8 wip 9 wip 11

Around this point I realized that the scores were just too small. A friend on Discord pointed out that triangular scoring is a common game design mechanic to help add another dimension here, so I added that in based on how many letters in a given trak you filled out. If you managed to fill out the entire trak, you got the triangular bonus. I had a strong feeling this was going to be a great mechanic after this play:

wip 13

I'm also particularly proud of the tab icons which I custom made. The friends icons with my kids' initials on them just make me smile.

wip 14

Inspired by Wordle, I added a single player daily game that challenges you to beat everyone else playing. After a few days I realized the leaderboards are going to be a really popular feature. I didn't get time to get Game Center integrated yet, but I am confident this will be a way people break into playing multiplayer matches.

daily wip 15 wip 16

I spent the better part of a week building tile sets for IAP based on cities - but eventually abandoned this work just to get it out the door. I'm not convinced someone will pay $3-5 for their city's colors yet - but would love to be proven wrong.

wip 17 wip 18 wip 19

I didn't even get into the details of the CPU design in this post - I'll do a separate writeup on that in the future. Needless to say - it feels like such a huge part of game design is not falling into endless rabbit holes that don't get you anywhere closer to shipping something fun. At some point I did just need to "call it", and get the game out as a 1.0 so others can try it out.

A few lessons learned

Despite getting off the rails a few times, I felt these were my big takeaways:

  1. Just let people play. A new game from a new developer doesn't need a wait list.
  2. Make the number go up. Players always want a higher score.
  3. Randomness can be controlled. It's not fun to get a hand of all vowels even though that's purely random.
  4. Don't copy every mechanic. There's enough Balatro (and Scrabble) clones out there already. Stick to the basics.
  5. App stores have so many pitfalls. Budget way more time than you think to get through these terrible wizards.

Also understated: watch your parents (or someone over 70+) attempt to install an app on their phone to get a sense of how painful it is to try out something new / experimental. That's the true beta test.

What's next

Perfect is the enemy of done, and in an age of early access games - I wanted to get it shipped first before adding more. What's on my list next:

  1. Ship the Android version to the Play Store
  2. Figure out how to monetize (simple banner ads in the lobby to start)
  3. More languages - which should I do first?

I'd love for you to try out Wordtrak - you can play here in your browser, or download the iOS app here. (Android version coming soon!). Feedback has been so helpful, and I'll need more. Email me or join in Discord to tell me how your game went!

Finally, I want to say thanks to everyone who's helped test and give feedback on Wordtrak so far - it's been fun losing consistently to you all.

Поділитися

Схожі новини