I believe that this could have be done ~20 years ago with about the same effort.
Websocket is maybe minimally easier than AJAX + 20 years old javascript, and the newer ECMA standards also have some nice syntactic sugars, but nothing radical. Objects, classes, closures, passing and modifying functions, javascript was so powerful and easy to work with from the beginning. People just didn't used it back then.
I remember playing e.g. travianer 15 years ago, different genre, but the technology was given.