It's been said before and it will be said again: It's impressive how JavaScript has gone all grown-up on us and what people are creating with it. This is really nifty, a lot of work has gone into it and they have obviously paid attention to detail. Small things like trees not appearing out of nowhere, but with a visual feedback in the form of bouncing when they land and such. I like small touches like that.
The last punch-line of the video with "but does it scale?" did not really impress me, though. I see roughly 30 clients and to be honest, sending off new position of your avatar and a chat of some 60 bytes + headers a couple of times per second does not say anything about scaling. Even if you pass over tiles and map to the clients on-demand.
A lot of work goes into the server in a game like this (more than most people think) due to the fact that you want the server to make all the decisions and calculations of what is going on in the world (to know state and to prevent cheating). Add to that verification of all data to see if what you just received from a client is reasonable.
I have always had a huge interest in multiplayer roleplaying games (massive or not), it goes back to before I started playing MUDs in the beginning/mid 90's. One thing these guys might want to investigate to use for the server-side code is a project called DGD (Dworkin's Generic Driver). It was originally written for MUDs, but its capabilities stretch way beyond that since a server really only serve bits and bytes (graphics not needed). It was always open-source but under a rather restrictive "not for commercial use" license, and there were few companies that could afford buying it. (edit: But it is since a few months back FOSS (AFL)).
I'd love to see this project being used for something like this and I have been tempted beyond belief to start something like this myself.
I am not affiliated with the project in any way except that I've been writing LPC on and off for some 15 years. The project is not very good at selling itself, but rest assured that the codebase is very stable.
hey there, the punchline 'does it scale' in this particular case was more referring to the client side of scaling rather than the backend. That being said, we are doing some pretty crazy stuff in the backend involving server-side JS to get things up to speed, but still need to collect actual numbers.
Neat! I hope we get to hear some details on this in the future! I was impressed with the video, can I ask what kind of machine the demo was recorded on? :)
Yes we're using node.js on the server-side with a combination of long-polling and normal polling (for slower devices like iPhone). I can't talk about any other server components as much of it may change. We'll post details when we think it's good to go!
Comments
It's been said before and it will be said again: It's impressive how JavaScript has gone all grown-up on us and what people are creating with it. This is really nifty, a lot of work has gone into it and they have obviously paid attention to detail. Small things like trees not appearing out of nowhere, but with a visual feedback in the form of bouncing when they land and such. I like small touches like that.
The last punch-line of the video with "but does it scale?" did not really impress me, though. I see roughly 30 clients and to be honest, sending off new position of your avatar and a chat of some 60 bytes + headers a couple of times per second does not say anything about scaling. Even if you pass over tiles and map to the clients on-demand.
A lot of work goes into the server in a game like this (more than most people think) due to the fact that you want the server to make all the decisions and calculations of what is going on in the world (to know state and to prevent cheating). Add to that verification of all data to see if what you just received from a client is reasonable.
I have always had a huge interest in multiplayer roleplaying games (massive or not), it goes back to before I started playing MUDs in the beginning/mid 90's. One thing these guys might want to investigate to use for the server-side code is a project called DGD (Dworkin's Generic Driver). It was originally written for MUDs, but its capabilities stretch way beyond that since a server really only serve bits and bytes (graphics not needed). It was always open-source but under a rather restrictive "not for commercial use" license, and there were few companies that could afford buying it. (edit: But it is since a few months back FOSS (AFL)).
The project: http://dgd-osr.sourceforge.net/
I'd love to see this project being used for something like this and I have been tempted beyond belief to start something like this myself.
I am not affiliated with the project in any way except that I've been writing LPC on and off for some 15 years. The project is not very good at selling itself, but rest assured that the codebase is very stable.
hey there, the punchline 'does it scale' in this particular case was more referring to the client side of scaling rather than the backend. That being said, we are doing some pretty crazy stuff in the backend involving server-side JS to get things up to speed, but still need to collect actual numbers.
Neat! I hope we get to hear some details on this in the future! I was impressed with the video, can I ask what kind of machine the demo was recorded on? :)
Yeah, new details are definitely coming up! This was the first public demoing, so watch for more.
For recording, we used a 27" iMac (slow version of it), but really, it runs almost flawlessly on an iPhone and crappy netbooks.
So you're using node.js on the server? How do you store the model of the world: Redis?
Yes we're using node.js on the server-side with a combination of long-polling and normal polling (for slower devices like iPhone). I can't talk about any other server components as much of it may change. We'll post details when we think it's good to go!