Check out something like https://krunker.io/ which gives me a surprisingly good FPS experience despite my distance from the server.
Browser gaming does take some thought though, to be sure. UDP via WebRTC is relatively new and isn't trivial. And I know some games get around TCP head of queue blocking by opening up 2+ WebSockets.
Expect to get annihilated by someone who knows the movement system though. You'll know someone's using it when you see it, since they'll be moving at 999 units per second and circle strafing you to death.
A great example is the original Binding of Isaac; written in flash, but near the end everything was so precarious that backups had to be made before certain publishing stages because sometimes it would corrupt the files it was trying to build (Due to the complexity.)
AFAIK, "zero code" systems still haven't reached the level of hypercard (the spiritual predecessor to flash) when it comes to being able to define event->action with a mouse, much less expanding them to the full capabilities of flash.
The best thing is to design your gameplay to be "predictive", that's how we had ~300 player games like Subspace over 28.8/56k way back in the day.
https://www.marksort.com/udp-like-networking-in-the-browser/
I guess it's easier to piggyback on the security model of the P2P handshake than work out a separate model for client-server communication.
I built a pair of libraries for a nodejs<->browser DataChannel, it was a nightmare at the time though, and I'm sure totally obsolete by now.
Given how long it took for us to get %*@!$ data channels, I guess we'll get a simpler way to connect to a regular server in... 2030? (I watched WebRTC very closely from the Ericsson prototype was released... for awhile I was contemplating trying to pass data in the audio or video streams -_-)
It is no surprise that a TCP text-based protocol sucks for realtime gaming purposes.