The client java engine we’re using currently has two key issues: 1) it’s a software rendering only engine, which can make it slow in situations with lots of on screen objects or running in a large resolution browser window. And 2) it was officially abandoned by its creators a few weeks ago as they move on to new things (best wishes to them in their future projects).
So, it’s time to switch to a new client engine. I initially toyed with the idea of dropping Java entirely, but decided a full rewrite would take entirely too long. So I’ve compromised, and am investigating a popular hardware accelerated Java engine libgdx, backed with the also popular lwjgl rendering system.
Most notably, the new hardware accelerated engine will make these things a reality:
- Desktop client edition of the game – run from desktop, possibly without having to install Java first
- The game will run fast even if you are surrounded by regions filled to the limit with objects
- The game will run fast even in large resolutions
- Fullscreen mode
It also means the following are possible down the line, but I’m certainly not promising them at this point 😉
- Fancy eye candy, like depth of field blur when really high up, or smooth zooming between zoom levels
- Increase to the region limit (we will have to do some testing here to find out how much/if it can be bumped up)
- Zoom out farther
- Android phone edition eventually?
One week into the rewrite, and I’ve already got a player able to wander around the world! But there’s still lots of port work to be done, especially in the UI. Fortunately, a lot of the client code works as-is, which means we’re only a couple weeks away from this being done.
TL;DR: I’ll be primarily working on the new engine portover for the next 2 weeks, and then there will be a new fancy version of the game ready for private beta testing. If you’re interested in helping me beta it, lemme know in the comments. In the meanwhile, thanks for your patience… I promise it’ll be worth it!
Also, next week I’ll be doing a little load testing & checking that the multi-servering system still works. I’ll try to do it one of the evenings when there’s usually fewer people on. 🙂
UPDATE: Answers to a couple questions I’ve seen so far in IRC:
- You will still be able to play in the browser window if you like (via java applet per usual)
- This doesn’t affect the server at all, you won’t lose items or have to start over because of this. This is only a client change.