Hi thought i’d make a topic about a game that kind of stands out for Java. I think it’s complexity and amount of content is impressive and that it’s server can handle 2000 simultaneous players. I think it’s bad points are the mindless grinding of levels that u can do for years and still kind of lacking a high detail graphics mode. What do other think? Can anybody figure out how it can handle 2000 players per server at the amount of content?
Java is plenty capable of handling lots of connections - check out Project Darkstar.
As for your other questions - they seem more opinion-related than technical-related? Which is fine, I guess, but you probably won’t get much discussion here about the balance of different games. You’d probably have a livelier discussion on gamer forums for that.
maybe with chewwinggum
how can u handle 2000 players who can choose from 10000 different actions and update it realtime
My main thought about Runescape is that they have done it, they have built a successful and popular Java applet proving that the technology does work well for real products.
what part of network are you wondering about ? 2000 does not seems to be something impossible
im wondering about how its built up to handle all the possible actions each player can perform and environment can perform against player while having so many players and realtime update.
probably something that look like the following picture, util/game logic bandwith may not be huge even for hundreds of players, also users will only receive information they are interrested in (player near them / global informations)
after that for 100000 players doing 1 action every 5 sec the game server only have to treat 20000 actions/ops / sec. on a strong server or cluster is should not be an issue but it all depend of the game
EDIT:
starting from this basic network architecture , there are severals possible improvments you can make like for example a local readonly copy of game state on frontal server and many other things to reduce badwith / cpu & latency
I may be wrong, but I thinkt hat ruenscape is a pretty good illusion of a constant world. It is asctualyl divided up into small sections. that is why eveyr like 30 steps it has to load again, becaseu you are changing rooms. so it is like have a ton of games running on a server, when you reacht he border, jsut takes your info, and moves it over to the other section.
btw: there is a lot more than 2000 players ona t a time, it has to proccess/send out all of the data for all of the monsters ;).
severals years that i did not play itn! last time i tried it was stil & only a software engine, and dont know why but I got bored after just one hour of play (but I never seen those monster so now you mentione monster I’d like to try again :))
Mostly. There’s a bit of JNI for non-blocking network IO (doable with NIO now, but RS predates NIO).
monsters are the main purpose of the game.
also, never play it again, it is a useless drain of life…
How come it dosn’t give a popup when it uses jogl with hardware? Does anybody know any of the jagex game programmers, would be interesting to hear their tricks.
they cant, this is possible only if you check “always trust” the first time you get it
screenshot below is made with java 6.-15
Oh okay. I wonder if the programmers are even allowed to talk about their work to outside people.
I doubt that they are. atleast not their secrets and such.
Industry secrets very rarely have to do with how you did something. Typically they’re related to new features or IPs. There’s no block against saying, “I used NIO to do the networking, but we put such and such hook to do X and Y before it existed.” Why? Because there’s no reason to make that secret. Really, it isn’t a secret at all - probably most of their techniques you can find papers on. Sharing actual source code is another thing entirely.
I think the main reason you wouldn’t hear an account of theirs is because they probably don’t want to spend the time explaining it. Most complicated code things can’t be explained easily in words - you’d need to attach source and at that point they’re breaking their NDA.
by secrets and such I mean like psuedo code and taht kinda thing.
It would usually be fine for someone to give you anything original that came out of their experiences, including pseudo code. The only problem is directly taking stuff from the company, or doing anything that can be considered taken from the company (in court).
ahh ok. thx for enlightening me ;).