Really nicely done! It's always surprising to me how often computer graphics isn't "one weird trick" and more like "5 layered tricks." Doing it with cross-browser compat is an additional challenge.
Do you have a sense of which aspects are the most resource-intensive? Naively I would guess it's the backdrop-filter.
Omg, I was not a BERT coauthor! But thank you so much for writing this, I had no idea that other post could have accidentally implied this. I will revise that section.
Same. North America performance (US and Mexico) had ~200ms+ latency per query, spiking to 500ms or higher in the test application I made using workers and D1. Their support channel was a discord, so I posted in it and never got a reply.
I was surprised because Cloudflare’s central messaging is that their network is fast, and disappointed becuase I’m a happy user of their other products (domains, DNS, pages, and R2).
In case you're interested: there's an option in the settings to give yourself more time.
I've also wondered about disabling the timer entirely. Have you ever had the experience in real life of being hyper-aware of your own "reply timer" during a conversation?
Getting to speak any time is super interesting feedback, you're the first one to suggest that. It would be really cool if you could even interrupt them! Super mind-bending for me to think of how I'd handle that with prompting and scoring. Thank you for this!!
Yang Li is divisive. You are not alone :-) If it helps, she disappears for quite a while after the intro.
Thank you, and thank you for the reference! I hadn't seen "Eliza," the emotional dashboard was really interesting / creepy / cool.
1. Exactly yes. The frontend is a light-ish amount of JavaScript + React, with a relatively enormous pile of my own janky CSS on top of (Framer) Motion, DaisyUI, and Tailwind.
2. No plot branching. Would love to add, but focused only on exploring the mechanics of conversational gameplay. Perhaps if it is ever successful enough for a sequel (ha!)
Thank you for the kind words, vision, and feedback! Will be thinking more along the direction of true 'life situation rehearsal.'
Re: taking too long, I 100% agree. Wrestled with what to cut. Do you think skipping all the setup screens and story intro would have worked well for you, dropping right into Vincent('s missed birthday)?
Hehe, I've been surprised how speaking makes the social pressure real. Thank you for the feedback, it makes me think I should add some more lighthearted challenges earlier.
Too late to edit, but I realized I should have mentioned: I'm happy to answer any questions, and field suggestions, about the tech stack or game design.
The tech especially isn't rocket science (first time using Tailwind, FastAPI, and sqlite, which have all mostly delighted). While the game design isn't either, it's been interesting to think about how to do (LLM) conversations as actual gameplay, as opposed to purely ornamental. I think the tasks must feel objective and fair enough to be engaging as a challenge, while still being open-ended enough to reward creativity.
This comment single-handedly made me do an enthusiasm 180. I'd find it helpful if the developers responded to it.
Just to give a bit more meat to my comment: these experiences are really helpful when you're in the position to adopt a potential time-saving (stack-cutting/unifying) technology. I find I get a huge benefit from word-of-moth experiences from others who have tried such frameworks. Specifically compared to takes on the _idea_ of the technology.
Funny coincidence, was just reading through an amazing thread on the three.js form a couple days ago about a web graphics implementation of virtual geometry (nanite). webgl, 2021:
https://discourse.threejs.org/t/virtually-geometric/28420
it's closed source, but I found the discussion and description of the tradeoffs interesting
I've almost used these in projects many times when I wanted to add basic animations quickly. Credits to the authors for making a library with a nice CSS API, good docs, and a nice demo website.
... but I've always found the defaults too loud for my taste. Kind of like most Power Point animations --- only usable now to be satirical or intentionally corny. That, and the provided animation flavors are never quite what I want. Once I consider considering customizing them, I decide to just go with something else.
For me, this approach works great with one enormous exception: I must already know exactly what I'm going to write about.
I have tried outlining my writing countless times. But inevitably, the real work of thinking meticulously comes with the writing itself. In composing prose at the finest level of detail, I discover the true shape of the topic through its nuance.
I always throw out my outlines, no matter how many times I have iterated on them. My high level thinking couldn't sufficiently understand the topic.
PG expressed this well: writing is thinking, at least for some of us.
Good question! I was (am) using FastAPI, not Django. Another decision that was easy to get started with, but I think is turning out to be more difficult to scale. Maybe.