Behind the scene changes
There are a lot of "behind the scene" changes in a MMO server.
For example, one of the things I don't like about how the EL server handles stuff is the way it sends the bags to the players.
Right now, whenever you enter a map, the server sends you ALL the bags on that map, which is a waste of bandwidth. Each time a map is added or destroyed, the server sends that message to everyone on the map, which, again, is a waste of bandwidth, and it is a minor security problem. For example, I am sure that there are some modified clients which scan for such messages, and can tell a player if a spawn is taken or not from the frequency and location of those bags. (If you are a 'hax0r' and think that it would be a good idea to implement this in an illegal client, don't bother, it will be fixed soon.)
The cheating potential is relatively minor, which is why I didn't really bother to fix this problem. A fix is pretty time consuming, so I always did other things instead.
This is about to change, however. Before the Engineering skill, the problems were: extra bandwidth + slight cheating potential.
Now that we plan to add land mines, and later on the player built city stuff, we need a more flexible way of determining what a player sees in terms of dynamic map stuff (dynamic stuff includes bags, mines, and city buildings).
So what I need to do is actually add a mechanism similar to the code on how a player sees another player.
Each map has a list with all the bags that are on that map. Soon there will be another list for the mines, and later on another list for city objects.
Then there will be a super list that contains all those other lists, with an index to point out to the actual object (the actual bag, building, etc.), object type (bag, mine or building), it's location, and some other data.
Then each player, whever they move one step, will go through that super list and determine what objects they can see, and only those objects will be shown. That list will be cached on a per player basis, to speed up the processing.
Speaking of processing, this new system will increase the CPU usage by maybe 20%, but that's OK, because right now the EL server usually runs at 10-11% of the CPU, so with those new changes it will run at under 15%. Even with an estimated 1.5K players online, we should still have plenty of CPU left.
Furthermore, the whole calculation can be done in parallel with the player vs. player seeing distance calculation, since this two routines do not depend on eachother.
For example, one of the things I don't like about how the EL server handles stuff is the way it sends the bags to the players.
Right now, whenever you enter a map, the server sends you ALL the bags on that map, which is a waste of bandwidth. Each time a map is added or destroyed, the server sends that message to everyone on the map, which, again, is a waste of bandwidth, and it is a minor security problem. For example, I am sure that there are some modified clients which scan for such messages, and can tell a player if a spawn is taken or not from the frequency and location of those bags. (If you are a 'hax0r' and think that it would be a good idea to implement this in an illegal client, don't bother, it will be fixed soon.)
The cheating potential is relatively minor, which is why I didn't really bother to fix this problem. A fix is pretty time consuming, so I always did other things instead.
This is about to change, however. Before the Engineering skill, the problems were: extra bandwidth + slight cheating potential.
Now that we plan to add land mines, and later on the player built city stuff, we need a more flexible way of determining what a player sees in terms of dynamic map stuff (dynamic stuff includes bags, mines, and city buildings).
So what I need to do is actually add a mechanism similar to the code on how a player sees another player.
Each map has a list with all the bags that are on that map. Soon there will be another list for the mines, and later on another list for city objects.
Then there will be a super list that contains all those other lists, with an index to point out to the actual object (the actual bag, building, etc.), object type (bag, mine or building), it's location, and some other data.
Then each player, whever they move one step, will go through that super list and determine what objects they can see, and only those objects will be shown. That list will be cached on a per player basis, to speed up the processing.
Speaking of processing, this new system will increase the CPU usage by maybe 20%, but that's OK, because right now the EL server usually runs at 10-11% of the CPU, so with those new changes it will run at under 15%. Even with an estimated 1.5K players online, we should still have plenty of CPU left.
Furthermore, the whole calculation can be done in parallel with the player vs. player seeing distance calculation, since this two routines do not depend on eachother.
8 Comments:
Hi Radu,
do you also have the exact position of monsters/other players available when a player enters a map? Because it would be very nice to have a sort of "radar" spell showing where creatures/players are on the map. It could open a small borderless window in one corner of the main window, and use red dots for monsters, green for players.
Rehdon
There's nothing in the game at the moment besides leveling and economy. Where's the RPG in MMORPG gone!? At the end both leveling and economy come to the same thing, numbers, click get one number, click get another number.
This is supposed to be a RPG so.. it's about time to add something rpgish to it. _WHAT HAPPENED TO QUESTS?_ Do they even exist anymore?
The RPG part does not imply quests, it implies role playing (playing with a character that is not you, and interacting with the world and other characters).
There will be some new quests, but none are planned for the time being, due to our limited resources.
@Rehdon Yes, I did think of a similar spell or even a device, and most likely we will implement something like that in the future, but I don't know how soon.
Hi Radu,
thanks for your answer, looking forward to it. On second thought a better solution would be to have three different colored dots: red for (aggressive) monsters, green for animals, blue for other players.
About role playing in EL: I've been thinking about this aspect of the game for a while, IMHO a way to improve it (besides adding more quests) would be expanding the way players do role playing in EL. At the moment this is limited to little more than story telling (as far as I have seen), it would be interesting to give players the ability to create and do their own quests, with a player doing the Dungeon Master role (with some resources to allocate: plot, monsters, treasures, etc.) and the others following his directions to solve the quest.
I can elaborate on this if you're interested, thanks for your work.
Rehdon
Players are welcome to create quests and contests. There were a few times when we had totally player supported quests, and it works great. But we can't force anyone to do that.
Radar sounds great and good to hear such feature will most likely to be added. It'd be cool if the radarmap could also separate your own guild's members.
Oh, EL is my first MMORPG game I've ever played. And I'm hooked. Keep up the good work!
~Leonius
Why not make special INSTANCE maps where one player alone or few of them in a party have to fight throigh their way and solve riddles to complete the level/DUNGEON. Of course some of these would be easy and short, others would require few days to complete. No restocks available, once your out you are out of that instance. Let's say you also need a level to enter one, and good prizes at the end (no not like 2756 exp in some skill that doesn't help you at all or motivates you). Prizes could range from expirience points (nice amount of it, depending on dungeon lvl) to armor and other items. Make a boss guardian at the end of each dungeon or something similar. I think this would add much needed action in the game.
Instances:
I don't like the idea of instancing, my personal oppinion is that they are inconsistent with the MMO idea, where everything should be in the same world. Yes, I know, other games do it, and players are happy, but I just don't like it.
Vista problems:
If people couldn't help on our forums, perhaps you should contact Microsoft or your video driver manufacturer.
The problem with Vista is that for the time being, the default video drivers are buggy and out of date. Downloading the drivers from your video card manufacturer usually solves this problem. Also, try to enable the compatibility mode for el.exe
Post a Comment
<< Home