Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
WebGL client + SSL support #1387
I did a little work last year and showed you could render the existing map structure in webGL (using three.js), I actually put the test code in a Git repository. The main issue is the huge amount of work that would need doing to the server code to support web sockets, and i don't know c / c++ well enough to do this work myself however (and don't have the time either!).
There is a Git repository linked with the code in in the forum post below and i'm more than happy for someone to take this and take it further.
Two limitations you will have is i estimate to run a full client in Chrome is going to cause the browser to consume something well over 500mb+ of ram and i have no idea how that would perform or how stable it would be (It currently consumes around 300mb ish and is ok, but there are memory leaks in Webgl in Chrome and Three.js and most likely in my code as well...). I got around loading times by pre-loading all the textures which works well, but consumes vast amounts of ram, and more if higher res textures were to be used.
What I started to play with but struggled with was trying to write some sort of translation layer that takes a web socket connection, and relay's it to an old school socket connection to the existing server which would definitely be do-able (although I never really got this working although I never spent much time on it), but in reality the lag introduced into this may not be workable if the server is handling a mix of Web / desktop clients. The Desktop clients would always have much less lag. It would probably be better to make the existing server support Web-sockets but that is a huge task.
Overall, it's something that's definitely do-able, and i did do a fair bit of research into it but it's just such a big project, you'd almost be better off getting a team together and re-writing the whole server again from scratch to handle this, but use the existing assets, and build it so it is Meridian, but the whole UI / server structure is built around the web. The UI would handle Mobile clients and desktop (and actually my proof of concept does work ok ish on a decent phone).