Sentences That Actually Make Sense, a Countdown Toggle, and Where to Find Us
Three things shipped this week. One of them I should have fixed ages ago.
The Sentence Problem
TypeVelocity has a Sentences mode where you type full sentences instead of single words. The old version grabbed a random subject, random verb, and a random word from the main pool of ~1,000 items. That pool was built for Words mode. It had actual nouns in it, sure, but it also had stuff like "the", "be", "of", "is" -- function words that make zero sense as the object of a sentence.
So the game would spit out "they walks be." Or "I runs the." Or "she creates of."
If you played Sentences and something felt off -- yeah. The grammar was broken in two ways at once.
Verb Agreement
All the verbs were stored in third-person form. "Runs", "walks", "creates", "flies." Fine for "she" or "the cat." Broken for everything else.
"I runs." "They walks." "We creates." Not great.
The fix: a toBaseVerb() function that strips third-person verbs back to base form. "Runs" becomes "run", "flies" becomes "fly", "watches" becomes "watch." Sounds simple until you realize English has about fifteen edge cases hiding behind what looks like one rule. Words ending in -ies need to become -y. Words ending in -ches, -shes, -xes need special handling. There's an exceptions list for the truly irregular ones. The function checks the subject first -- if it's "I", "they", "we", or "you", it uses the base form. Third-person subjects keep the original.
"She runs" stays. "I run." "They walk." "The dogs catch the ball." Grammar that actually works.
The Object Pool Was Wrong
Even after fixing verb agreement, sentences still read like gibberish. "She runs the." "We build of." The problem was the object -- still pulling from a pool that was never designed for sentences.
I built a dedicated noun list. 255 words, all hand-picked. Things that work as sentence objects: "book", "table", "concept", "bridge", "engine." No more function words appearing where a noun belongs.
Then articles. "The" gets picked 70% of the time, "a" or "an" the other 30% depending on the noun. Tiny change, but "she reads a book" reads like English while "she reads book" reads like a telegram from 1920.
Templates
With grammar working, I added structure variety. Three weighted templates so you're not getting the same pattern every time:
- 50% basic: subject + verb + article + object. "He builds the house."
- 25% adverb-first: "She quickly reads a book."
- 25% adverb-last: "The teacher explains the concept carefully."
40 adverbs in the pool -- silently, eagerly, precisely, that kind of thing. The sentences come out feeling like something a person might actually write. You still get variety and challenge, but you're not wondering why the game wants you to type "I flies the."
Good invisible change. If I did it right, you don't notice. Sentences mode just feels normal now.
Countdown Toggle
Small one. The results screen auto-restarts after a countdown. Used to always be 5 seconds, no way to change it. Now there are three buttons right on the results screen: 10s, 5s, Off. Your pick saves to localStorage so it persists. A few people in the Discord asked for this -- specifically the "Off" option, since some people want to sit with their results for a minute without the game restarting on them.
Social Page
Also added /social. One page with all the links -- Discord, X, DEV.to, blog. I got tired of answering "where do I follow this project?" with a scavenger hunt through old blog posts. Now it's just /social.
Try the new sentences. See if they actually make sense now.
Play TypeVelocity