|
|
General discussion Topics related to various aspects of Champions of Regnum |
|
Thread Tools | Display Modes |
|
11-16-2009, 02:07 PM | #1 |
Initiate
Join Date: Jun 2009
Location: florence, italy
Posts: 150
|
new engine and a hope..
sorry if i open a new thread to just yell my only and unique hope "to see soon"
the "solidity" of the players.. I hope to see this game put off the "ethereal" feeling that so many mmorpg have, this will give a lot (IMVHO) of bonuses to this game: - the zergs will suffer becoming nearly impossible to attack a little group with all the total number.. (with solidity none can stand where i stand.. so i can really be a block to be destroyed before heading mage or archers) - there will be no more ppl passing over you ... maybe also mob solidity? -tactics in fights will be much more deep -zerg (yea again) will suffer also on movin... think on holdin the bridge with a little strong and able number versus a lot of ppl zergin on.. :-D fantastic? just my thoughts.. Mala Tempora (Hunter Ignis) Massenzio Treesimo (Knight Ignis) |
11-16-2009, 05:02 PM | #2 |
Marquis
Join Date: Jul 2007
Location: England
Posts: 2,419
|
As much as solidity would help the game it has be spoken about before and the most we could deal with might be a knight spell to create a sort of "wall" stopping people from passing him untill he dies.
To have everyone 'solid' is to much load on the server.
__________________
Faith 50 Barb Faithless 50 Lock
Umaril 45 Conju Kailas 45 Marks Pel 45 Knight |
11-16-2009, 06:44 PM | #3 |
Baron
Join Date: Jun 2007
Location: Polish Side of RA
Posts: 779
|
That's true, collision detection would really slow down the game and increase lag ;S
__________________
Pizdzius Swedzioszek Leader of CBA
Regnum Comic <- my Regnum Comic , RSS version -> RSS (if you wish to contact me on my other realm character: Ignis - Josephine) |
11-16-2009, 06:49 PM | #4 |
Baron
Join Date: Apr 2007
Location: Svea Rike
Posts: 814
|
Not to mention we wouldn't be able to enter forts due to all the dead corpses (if anyone remembers)
__________________
Eagles may soar, but weasels don't get sucked into jet engines...
|
11-16-2009, 07:14 PM | #5 |
Marquis
Join Date: Mar 2007
Location: Edge of the Abyss
Posts: 2,066
|
perhaps if we could pass through dead bodies but not living
|
11-16-2009, 07:21 PM | #6 |
Marquis
Join Date: Jul 2007
Location: England
Posts: 2,419
|
Because having to make solid entire zergs and run constant hit tests off moving targets wont increase server load?
It would be great if it could be done, but for now the servers just arnt good enough.
__________________
Faith 50 Barb Faithless 50 Lock
Umaril 45 Conju Kailas 45 Marks Pel 45 Knight |
11-17-2009, 01:59 PM | #7 |
Pledge
Join Date: Aug 2007
Location: Wales
Posts: 36
|
|
11-17-2009, 02:28 PM | #8 |
Baron
Join Date: Jun 2007
Location: Polish Side of RA
Posts: 779
|
Tibia does too, but Metin still sucks like Tibia even if it's 3d ;P
__________________
Pizdzius Swedzioszek Leader of CBA
Regnum Comic <- my Regnum Comic , RSS version -> RSS (if you wish to contact me on my other realm character: Ignis - Josephine) |
11-18-2009, 01:32 PM | #9 |
Pledge
Join Date: Aug 2007
Location: Wales
Posts: 36
|
|
11-18-2009, 07:10 PM | #10 | |
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
Quote:
I can't tell you how painful it is to design a reliable, fast and accurate collision & boundary detection algorithm without being too technical, but I'll do my best: First, you have to check if you can move to a certain position, so you have to query the objects along the path (i.e.: if you want to move from A to B and you have a wall in the middle, you shouldn't be able to move, unless you're Chuck Norris or Surak). But that requires you to first calculate the path and then query the objects. With static boundaries it's easy because you can load the map in memory (you don't have to re-calculate them, so why not cache the data?), and pathfinding isn't difficult. The problem is, well, you do this for each movement message the client sends. And that's awful. Now, suppose you have a super-efficient algorithm, but it doesn't do any checking on speed. That's right, you got speedhacks! How can we avoid that? We can calculate the distance over time. Sounds simple, and in fact it is simple, but that adds to your previously super-efficient algorithm, which is now a little less efficient. And you end up having roughly twice the memory footprint than your previous version, because now you have to "remember" your previous position. And add status effects, such as paralysis or slow-down spells. That requires you to do some extra checking. Ok, no problem, we can live with that. Now it comes the really awful part: checking against mobile objects. Now you have to tell your now-a-little-less-efficient-pathfinding-and-collision-detection-algorithm that it has to ask for all the objects along the path, check if there are any of those objects, check if you can move to that physical spot, check your speed, check if you can move and then move. That requires more memory. Well, we could make use of parallel computing and multithreading! Not so fast, buddy. Two objects can't be at the same place, at the same time (unless you make characters non-collisional), so now you have to make your entire movement system thread-safe or process-safe. And that adds more overhead to your now-not-so-efficient algorithm. Split the map, and make boundaries non-safe environments, or maybe define groups based on density and topology and then assign a thread to it. Or just throw your idea away and keep it simple. PS: And remember that you have to flush changes to a database, and that movement functions are called quite a lot per user (and that you may have a lot of users online). PPS: And, just in case, assembler won't do the trick for you this time. It's not worth it. PPPS: You don't have to do all this for each message the client sends, because you should make an equipotential system: that is, ignore repeated or similar messages within a period of time. That period of time may be variable, depending on the ratio of total incoming messages and total repeated incoming messages over time.
__________________
I don't have a solution, but I admire the problem. Last edited by ArcticWolf; 11-18-2009 at 07:22 PM. |
|
|
|