Holy Moley - a real life update, since "how long does it take?" is a popular question for people just getting in. I know it was one of mine.
I've been working on my game for just about 18 months. I've written a ton of code, have a good database layout, a thoughtful redis cache, threejs, socket.io, node.js on the server side, and jquery for ease of development. I have a linux build refined just for my game. I've cleared up a lot of my initial security concerns for a web based game, have all my socket/cookie/session issues covered and solid up to this point, moved some code to stored procedures and have done a small round of refactoring.
What I have: register, login, planetary travel (within session and database without error, no visuals), initial inventory and calculations/weighting/character attribute modifiers, dynamic universe map functionality, disconnect procedures, lot's of security checks and some cheese graphics on basic screens for profile/travel/location and game object information. So pretty much all the character location, basic game objects, movement and rate of travel, base modifiers and saving progress under all possible circumstances, is solid.
What I don't have: anything interesting or playable.
Granted I've been doing this part time, but I've really been pumping through sections of functionality and correcting the unexpecteds. I feel that my pace is reasonable and I'm putting in above average hours for a part time endeavor (I have no social life and I work 40-55 hours a week at day job). I am at a milestone though, where I can now spend much more time on the game and game mechanics. I'm looking forward to this part, so hopefully it moves faster.
Funny thing: I started conceptualizing my game board with threejs in the beginning. After being satisfied with a good start on a map/navigation system, moved on to other things. Probably 9 months later it was time to insert the threejs. Well, the threejs crew changed enoughh in that time I had to rewrite things I wrote prior, which was an unexpected time sink.
So I think I'm going to double my estimate and say that it will take 6 years, instead of the initial 3 year estimate to have something playable, and possibly monetizable. I just hope my choice of tools hold on that long.
I may have spent some months interviewing the Unreal engine, Urho3D, and some C/C++ related to a client/server initiative before falling back to a web based model, but I don't remember exactly how long.