View Poll Results: Which single basic server/client function needs to be addressed first?

Voters
92. You may not vote on this poll
  • Lack of fall damage.

    1 1.09%
  • Monster collision detection.

    12 13.04%
  • The spawning system.

    42 45.65%
  • The frame rate.

    29 31.52%
  • Other

    7 7.61%
  • None, engine is fine as it is.

    1 1.09%
Page 1 of 3 123 LastLast
Results 1 to 20 of 49

Thread: Room for improovement: BASIC server/client foundation. Which first?

  1. #1

    Post Room for improovement: BASIC server/client foundation. Which first?

    1) Fall damage- there is none.
    2) Monster colision detection- there is none.
    3) Spawn system- slow/unpredictable.
    4) Frame Rate- improoved since last patch (Thanks!), but still sub par in comparison to any other MMORPG.

  2. #2

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Register spawning PLEASE!!! arg so frustrating to have 50 dudes just "appear" around you..

    Then framerate... oi i'd love a decent frame rate.

  3. #3

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    of those id say spawn rate and monster collision detection/path finding

    but i think there is still a memory leak in the client somewhere (unless last patch fixed it) which could do with patching have had memory use of horizons.exe go to 2+ gig though not a huge problem as took ages to do it

  4. #4

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Spawning is the issue I would like to see handled first out of the mentioned ones.
    It's so annoying to have monsters pop up around you in an area you though was safe when you moved into it a few moments ago.

  5. #5

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Yar I also checked my memory usage yesterday and found that I was using 2.5 gigs at the end of the day. I was logged in for about 10 hours straight (I was afk while doing RL stuff most of that time, but still logged in). That's one heck of a memory accumulation.

  6. #6
    Member C`gan's Avatar
    Join Date
    Oct 2004
    Location
    Acul, Trandalar and Tagath's in Mala, Genevia Island
    Posts
    3,246

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    I'm voting for Other. Too many things we're looking at for suggestions are beginning to hinge on the in-structure occlusion. To some extent, getting this part fixed may even help with the collision detection.
    C`gan Weyrsinger, blue Tagath's rider, WorldProjects Team Lead Emeritus
    Tagath, blue Lunus "for the breath weapon"
    Located in sunny Acul on Trandalar, Order shard

  7. #7

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Quote Originally Posted by gopher65 View Post
    Yar I also checked my memory usage yesterday and found that I was using 2.5 gigs at the end of the day. I was logged in for about 10 hours straight (I was afk while doing RL stuff most of that time, but still logged in). That's one heck of a memory accumulation.
    I have 2 gigs of ram on this PC. When I log in memory is usually around 68% of that or so. After a few portals I'm usually up to 75% or greater. Yeah, it's a memory hog.

    I've had it explained once why this is. Most games are pretty much static. This allows textures to be reused in a lot of situations through strategic placement, however because of Horizon's capability to have structures modified by the players, the devs have no controll of where textures are going. This in turn causes tons more textures to have to be loaded by your video card at the same time than most games, after a while your card runs out of video ram, and it starts using your PCs memory. This also hurts frame rate because now your video card has to go to your slower PC memory as well to retrieve textures.

    This is where these "Leaks" come from. I think these textures are accumulating in memory and not ever getting cleared out.

    Correct me if I'm wrong anyone, but this is a combination of what I have had explained to me as well as my own knowledge of PC hardware and programming.

  8. #8

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Music bug, where it stutters/loops/dies.
    "Ohoh...someone is actually trying to sell something, I see an attunement coming. LOL" - Teto Frum


  9. #9

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Memory Leakage:
    When the game shuts down (or crashes) it doesn't free up the used memory all the time. I usually have to reboot to clear out memory before I try any other game or try reloading HZ.

    Just a thought, but Memory Management is probably one of the most common programming mistakes done in any programming. It is also one of the easiest to avoid if you pay attention while you're writing your code. Repairing it, however is hang-nail tuff heh.
    Starmind: Member of Scions on Order Shard; Helian Ancient Dragon 100/100/100
    Starmind's Crossroads: Harro, Just Uphill of the Binding Shrine

  10. #10
    Member Kulamata's Avatar
    Join Date
    Oct 2004
    Location
    Northern California
    Posts
    1,161

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    In a (DB??) post long ago, memory leaks were considered a continuing issue, and were more or less "always" being tracked down. Good exercise for those who would otherwise frivolously use their lunch hour chompin' a sammitch or some such.
    ____Kulamata Quality Armor___
    None Genuine without this Pawprint `',''

    Achiever 86%, Explorer 60%, Socializer 46%, Killer 6%.

  11. #11
    Member
    Join Date
    Oct 2004
    Location
    Dralk and in my lair, where else?
    Posts
    2,029

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    It is also one of the easiest to avoid if you pay attention while you're writing your code. Repairing it, however is hang-nail tuff heh.
    I beg to disagree. Entire languages / frameworks, including Java and Dot NET and PHP have been created to introduce easier strings management, object orientation, portability and automatic memory managers, because complex software, expecially when interacting with 3rd party libraries / DLLs / hardware and multi-threading become a dang curse to debug for memory leaks.

    <--- Currently debugging a Siemens protocol converter with memory leaks.
    Last edited by Vahrokh; September 21st, 2007 at 06:57 AM. Reason: Did they put the whole dictionary.com in the censored words?
    Vahrokh Vain - Ancient dragon level 100 adv 100 craft 34M of untainted, fireworks and other crap free hoard.
    Isarion - Reaver Healer Spiritist, many craft classes.

  12. #12

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Quote Originally Posted by CallakDW View Post
    After a few portals I'm usually up to 75% or greater.
    I take that back, last night while running around istaria with an alt doing the Darkstaff scholar Ale party quest on an alt with some friends, my 2gig memory usage ended up at 95% and the frame rate was getting so horrid I could barely follow the people I was doing the quest with.

    Also the delayed spawn in was a nightmare for doing this quest. It was all about actually trying to beat the spawn engine since it was so slow, and it ended in a whipe eventually even though we had a level 100 with us because they popped in all around and swarmed us at one point. To do a quest like this where avoiding the enimy is key, the monsters HAVE to allready be there so you know where to go to try to avoid them.

  13. #13

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Just a reminder, I said it's easier to handle memory leaks while in initial coding. Debugging memory leaks, however is like pulling teeth out of a dragon (A real dragon, not the weakened shriveled mockup of dragons Istarians are forced to be)
    Starmind: Member of Scions on Order Shard; Helian Ancient Dragon 100/100/100
    Starmind's Crossroads: Harro, Just Uphill of the Binding Shrine

  14. #14

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Well I'm only back a couple days so, take my response in that context

    1. Enemy spawning - I had a few times where I was running through an area that was barren of mobs, only to stop and check the map for where I needed to go and suddenly there's mobs all around, looking at me.

    2. Memory Leak - haven't experienced it myself yet, that I can tell, but I agree if it's an issue it should be dealt with.

    3. Music starting/stopping/looping. I love the music in this game, but not enough to hear the first 10 seconds of a song over and over. I've actually considered queuing up some of my favorite tracks from the game in WinAmp and just looping that while playing.

    4. Performance. Though it's improved *drastically* since I last played, the game could probably squeeze out more FPS. I know they're adding occlusion into the terrain code which should make a huge difference. And, if possible, adding dynamic LoD to it as well (if it's not already in there) could also help.

  15. #15

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Quote Originally Posted by Lupine73 View Post
    And, if possible, adding dynamic LoD to it as well (if it's not already in there) could also help.
    dPVS is in and functioning, but many of the models need to be heavily optimized and their cull boxes adjusted. It's a lot of work, but doable in time.
    "We live only ONE REAL DAY, during which we recall false memories of living many more."
    Is it today?
    "No."

  16. #16

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    I think its funny that several people still think of the client having a memory leak.. There is no "real" leak. It is only presumed as a leak because the way the client doesn't readily release your memory back to your system. The terrain update fixes most of that because of the way they adjusted the way it utilizes the data. Previously.. it wanted to hold all the graphics data that it was given for your current journey through Istaria. It now enables the client to release data for areas in which you are no longer near. This does 2 things.. it frees up your memory.. but it also requires your HDD to work more when you are trying to port all over the place transporting goods.

    Memory leak it was not.. memory hog.. it was...
    Elated that HZ is no longer in the hands of the Infidels.

    Now.. I may have to split my time between 2 games... CS:S and HZ...

  17. #17

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Quote Originally Posted by Fratricide View Post
    I think its funny that several people still think of the client having a memory leak.. There is no "real" leak. It is only presumed as a leak because the way the client doesn't readily release your memory back to your system. The terrain update fixes most of that because of the way they adjusted the way it utilizes the data. Previously.. it wanted to hold all the graphics data that it was given for your current journey through Istaria. It now enables the client to release data for areas in which you are no longer near. This does 2 things.. it frees up your memory.. but it also requires your HDD to work more when you are trying to port all over the place transporting goods.

    Memory leak it was not.. memory hog.. it was...
    id say you could argue that both ways depending on how you define

    "memory that it doesn't need" you can argue that it doesn't need to store things that you near, but you can also argue that it does in case you want to go back there.

    personally id say that it is probably a bit of both, as I dont think can really justify it "needing" 2+ gig of memory .5-1 gig maybe but 2+ is two much.

    edit: you could argue that it is not a leak because it is not an un intentional use of memory but you could also argue that you wouldn't really intend memory usage to grow to that much

    but i don't really think this thread is intended for the discussion of the techicalities of what exactly constitutes a memory leak or a resource hog
    Last edited by fireblade; September 21st, 2007 at 04:22 PM. Reason: missed something

  18. #18

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Quote Originally Posted by Fratricide View Post
    Previously.. it wanted to hold all the graphics data that it was given for your current journey through Istaria. It now enables the client to release data for areas in which you are no longer near. This does 2 things.. it frees up your memory.. but it also requires your HDD to work more when you are trying to port all over the place transporting goods.
    Okay, just going to throw my two cents on the current state of the client. This is all my own opinion formed from a few brief chats with the last person to work on the client and a few observations.

    1)The Horizons client is zoneless world

    The "zoneless" approach to a game has its ups and downs. The biggest benefit is that you can walk anywhere without ever hitting a loading screen and the world truly is seamless. The downside is that you can't neatly define what resources need to be loaded for a particular area and other optimizations you can use for a static, zoned world become unavailable.

    The new terrain engine does a much more efficient job of managing this constant loading and unloading of information and should be a major improvement, but there will always be a large memory footprint as the client balances loading and unloading while still getting frames rendered.

    2) Player avatars are extremely customizable and hit hard on resources for both the client and server

    Despite being an older game, there is a _lot_ of texture data associated with player characters, especially bipeds. Just the base character textures for all races (no armor, geometry, monsters or weapons) sits at almost half a gigabyte of data. Each time a player or an NPC is loaded more and more resources are going to be pulled into memory and sucked into video memory when needed. Each option you can pick when designing your character constitutes a unique texture, and there is little that can be done to optimize the process.


    Finally, on top of all the above features that make the game unique you have other components of the client that were rushed out the door during inception and still need work today. Things like the net layer that can take up ridiculous amounts of system resources for the brief moment when it is loading uncached terrain from the server, resulting in those short hangs when entering an area you've never visited before.

    What I took away from it all is that the client is all going to be about small gains over time. Blaming poor framerates on a "Memory Leak" is a misnomer, Horizons is simply very, very different than other game engines out there that still needs some tweaking.
    Last edited by Hal`cyon Sskyler; September 21st, 2007 at 05:37 PM. Reason: added one last line
    "We live only ONE REAL DAY, during which we recall false memories of living many more."
    Is it today?
    "No."

  19. #19

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    The deal is, regardless of the cause, on the best systems out there, it still becomes unpleasant, or near unplayable after 2 - 3 hours of a complex quest as I demonstrated earlier. I applaud ANY effort into improoving this, but from what I saw last night, even after the terrain modification, they have a very long way to go before it's even remotely pleasant to do any kind of large scale traveling for any reason in the game.

    Dispite what I have stated above, I believe the current spawn system works fine for hunting in a spot, but not for adventuring, pretty much makes it pointless IMO. I'd rather see this fixed before anything else.

  20. #20

    Default Re: Room for improovement: BASIC server/client foundation. Which first?

    Quote Originally Posted by CallakDW View Post
    The deal is, regardless of the cause, on the best systems out there, it still becomes unpleasant, or near unplayable after 2 - 3 hours of a complex quest as I demonstrated earlier.
    It's worth taking a look at your display settings. Back on my old PC with only a gig of ram and an old Radeon 9700 Pro I could stay logged in for days at a time without too much buildup. The biggest problem people seem to have is having too many max detail characters set to display. I'm not sure how the adjustments work ever since the direct "Number of max detail characters" slider went away, but dig around in your client_prefs_graphic.def (pulling from memory here) and fiddle with some of the character display settings.

    For a while I used to keep two hotkeys handy, one to set the max detail characters to 1 when I was walking through a town (and bombarded by NPCs and players) and another to bump it up to 10-15 when I was out in the wilderness and needed to keep monsters in view. With that setup I kept myself from loading any superfluous character textures (these are huge) and there was less shuffling of memory that kept things running smooth. EDIT: I'd have to dig around in my game files I get home, but you can modify how many remote characters are displayed with a /setpref command
    "We live only ONE REAL DAY, during which we recall false memories of living many more."
    Is it today?
    "No."

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •