Operation: Make Faster Game

Discussion in 'PlanetSide 2 Gameplay Discussion' started by codeForge, Sep 10, 2013.

  1. [HH]Mered4

    The reason the HUD eats FPS is partly because of recursion.....
    LOL

    Infinite loop? Your programmers created an INFINITE LOOP? WHAT?
    I've been programming for 3 years - and I do not make those types of mistakes anymore on a FINISHED product. You guys have been at this for at LEAST ten years, heck, probably a HUNDRED years experience combined!

    I understand that the more complex programs get, the easier it is to accidentally create a recursive function, and that it also gets difficult to identify these issues, especially when they do not affect the visual game itself.

    But still.....sigh.

    *rant over*

    POSITIVE SECTION:

    SOE, this exceeded many of my expectations. Keep this up!

    In other words,

    THANK YOU!

    [IMG]
  2. MichaelS

    and tbh, its full of BS. there is nothing in it that we don't know already. But the biggest sarcasm is the sentence where he told us that he has been given time now to do that things. i just wonder who was able to give my paid gametime to them? Gametime i purchased, based on the roadmap.

    So this is the first video: how many do we need to see until we get content?
  3. Dr. Curiosity

    As long as it's not too much of a trade secret, I'd love to hear/see more about what kind of instrumentation you have and what kind of features you focus on getting out of your data. What can you inspect live versus capturing for later? Can you do high-level time sequence visualisation to see how things like alert events go, for example?

    I know I'd love to be able to do things like browsing alert replays, showing per-grid troop/vehicle concentrations and flows over time alongside graphs of faction population, respawn and resource gain/burn rates, etc.

    (I'm happy to admit that I'm a horrible nerd about game design and analytics, and my idea of fascinating might be someone else's idea of drying paint, but hey...)
  4. Luperza Community Manager

    This thread is about our optimization and performance patches, so there hasn't been any major discussion about bugs and crashes within this thread.

    We are definitely working on those issues though. We want to eliminate them. It'd be silly for you to think we don't want to remove those. ;)

    The best way you can help us is by letting us know when this is occurring for you, with added detail, whether you report it in-game with our in-game bug reporting system or if you toss us a post in our Gameplay Bugs forum.
    • Up x 3
  5. knapkins



    If you've been programming for 3 years you should know that recursion is not just an "infinite loop" and is done intentionally for certain situations. In this instance I assume they did it that way and are now realizing it could be done more efficiently. Know your stuff before you rant.
    • Up x 3
  6. BITES

    Awesome, any updates are always appreciated. :)
    • Up x 1
  7. [HH]Mered4

    Look, I will keep this short: A recursive function is a function that, at some point, calls on itself. The way the engineer guy put it, it was a recursive function that continually called upon something (the server maybe?) and contributed to the FPS drop and some other performance issues. That sounds exactly like an infinite loop.

    And yeah. It can be done more efficiently. He said that. It just should have been obvious.....from the beginning.....using recursion is a fantastic tool in the right situation, but it can easily turn into a horrible mess.

    I am also wondering how such an error (no matter how subtle on a top-of-the-line rig) got past the double-check phase. This does not bode well for their organizational skills, in my book. Sorry Sony.

    Also, can I say thank you for publishing this and optimizing again?

    THANKS!
  8. [HH]Mered4

    Holy -

    A developer in the forums!? WHAT IS THIS BLACK MAGIC?

    Who are you and what did you do to the real SOE?!

    Awesome btw. I totally thought that camera focus blur and obvious hints at the cameras were on purpose *wink*

    Currently, you guys are unfortunately snowballing towards the ultimate closure of the PC version of PS2. A good solution would be for Sony to throw money and people at this game until it works, has an actual strategic purpose, and makes massive profit. Hardly possible, ofc. The Right Hand that Writes the Checks has always been notoriously pessimistic. :O

    I appreciate your participation sir. *bow*
  9. technopredator

    My 2 cents:

    When a mosquito fire rockets at me, my frame rate goes to 1 FPS, and I'm using medium settings mostly and 85% rendering quality, I get 20-30 FPS on most situations, I'd like SOE to look DEEPLY into this.

    There is a bug that was never fully fixed, I don't get zoom the first time I enter a turret/vehicle/aircraft, I need to exit it and re-enter, reported it like 100 times, do you ever check the bug reports from the client side? Not a big bug granted, but again, I don't think it'd be a big deal to fix it, so since it's probably easy and fast, it should be priority; and all the bugs alike.

    I have seen some annihilator missiles go 90º straight up after getting near a mosquito, and I have read how chaff works on the VR and they don't seem to work this way, this is not described properly or a new cheat.

    C-4 now blows a sundy, change or cheat?

    IMO, enemy ammo drop packages shouldn't be compatible to re-arm you and they should be destroyable.

    Better aimbot/cheat detection:
    - a guy with a rocket launcher on a 'harraser', the driver running like crazy, bumping and jumping around, and the guy never misses a shot, he fires as soon as it reloads, that's a clear aimbot.
    - I'm running, sliding, moving around to avoid fire and a guy 30+ m from me, never misses or all his shots are headshots, that's easy to detect, specially if the guy gets reported, but I see some of this people not banned, you actually ban cheaters? where can I see the ban list? looks like the ticket system is a joke on the honest reporting players.

    When I get revived by a medic and I press 'M' I get a bug where I can't get out of 'M' map, looks like is lag-related, the server doesn't send the order to reviveme, because of my high lag, almost 2-3 seconds sometimes, so the client revives me but is has queued a the 'M' map, so it shows without realizing it is active, so I can't get it off, I have to wait to get killed or logout and login again, waiting to get killed works mostly.

    I get a bug on the text message where instead of letting me type, key strokes are passed as commands, as when I don't have the text box active, bug introduced like 2 months ago, reposrted a few times, never fixed.

    I liked your video, funny ending, glad you're listening the community.
  10. The Reveller


    I think you'd better do a few more years before you decide that recursion and infinite loops are at all related.

    Many algorithms are very succinctly expressed as recursive functions, like the Tower of Hanoi, or QuickSort, or, as is possibly the case here, space partitioning. For example perhaps he wrote an algorithm that successively divided the screen into half, then half again, etc etc, to find the topmost HUD image or something like that.

    Writing something recursively means the code is simpler, and can be more easily reasoned about when reading the code. As the simplest code is usually the best, its a good bet to do this. Nothing about recursion suggests an infinite loop, because as long as you can prove that each recursive call takes you closer to the base case, you can be sure that it will terminate. It's obvious there is not an infinite loop in the code here because if there was the game wouldn't work at all.

    The drawback with recursive definitions is that they use more stack space at runtime - e.g you are trading simplicity of code for space in the call stack. This uses more memory and has to be unwound when you reach the terminating call. All recursive algorithms can be rewritten in an iterative way with looping, stacks etc, but doing so is more complex and more prone to errors such as... infinite loops. So, changing something recursive to be iterative is often done when you know that performance is an issue and you wish to optimize. Such as now.
    • Up x 2
  11. Zolton34


    I have posted in the technical support forums as many others having these issues. And quite frankly it baffles me how they could been left to go on this long. But i have a good question for the optimization. you plan to keep the old system requirements i assume correct? If so then please explain what those are. If you get a chance or can get a tech support guy to get off the can long enough to reply to my post here:

    https://forums.station.sony.com/ps2/index.php?threads/closing-to-desktop.146272/#post-2152424

    It would be greatly appreciated. In the post i ask a lot of hard questions about the current requirements including gpu's being on both the unsupported and the supported list at the same time such as the nvidia geforce gt 630 which says its unsupported yet it is a rebranded gt 440 which is on the supported list.

    Then we move on to the AMD Athlon II X2 which is better then the lowest Phenom II X2's yet it is said that it is not supported either.

    Then we move on to 2 things that are the same. Windows xp when installed ram of 4 gigs it then becomes around 3.12 gigs of ram as the 32 bit windows xp only supports a max of 4 gigs. You say that the minimum is 4 gigs yet to get 4 gigs to show on your system you need 5-6 gigs to read 4 gigs and this is not made clear in the requirements. Even in other windows to get 4 gigs to show as what you have you need 5-6 to register above 4 gigs minimum. So if the lowest windows needed is indeed windows xp then why not say you need 64 bit? as that would register the higher ram.

    i understand you want to keep the requirements low to appeal to a larger audience. But in this case you can't exactly have your cake and eat it to. So long way around but will these optimizations help out the minimum requirement players to be allowed to play without the constant irritation of crashing at any given moment? I think a lot of the crashes are happening to many people do to large populations of players in one area. So maybe an even lower setting to cut down on some of the explosions would be nice.
  12. ohmikkie

    programming for 30 years. agreed.
  13. LtFox7

    just release hossin please =3
  14. PreVoiD

    What you're doing is wrong, and nothing more than a mere humiliation towards your community and players who still hang around, even though most of their friends left PS2 a long time ago. You basically admitted PS2 is on a downward spiral, and you need to squeeze every cent out of the game before you pull the plug. Or is it just me feeling the déjá vu here?

    You don't have to be a rocket scientist to understand that all of your staff have been pulled from their current tasks, simply to rush the "optimization" for the upcoming PS4 release. I'm sure SOE is hoping to make some easy money on the new console, but when the "NEW" players finally understands what's actually going on, and what the terrible state the game is in, with basic features (server change in august, anyone?) still missing - they'll understand that they've been fooled with and simply move on.

    As I said, easy money - but in the long run...? I don't think so.
  15. NC_agent00kevin

    They had a new game in a new genre and wanted to sell it. Its a F2P game and everyone who spent money on stuff never had to do so. It was a choice - they could have played for free. Everyone could have played for free.

    That said, I am not defending the sequence of events here. The game needed a lot of polish before it went live but they probably ran out of funding or had some deadline to meet. I get garbage framerates and Im not happy about it either. Its a F2P game and the min system specs are completely unplayable. F2P games typically try to cater to the widest audience possible, but only those with pretty damn high end rigs can run the game acceptably smooth - even then requiring a bit of overclocking.

    My sig show my PC outperforming an I7 and coming close to the single threaded performance of a FX 8150 - and Im running a Phenom II x4 with some hefty overclocking. And it still runs like garbage. There is a mess of code to fix and its not happening fast. I understand this though Im still not happy. They have however acknowledged the problem and are focusing fully on fixing it which I do agree with.

    Again, not defending whats happened here. Im just kind of looking at both sides objectively.
  16. St0mpy

    My biggest worry is theyll fix and remove all these hard to find bugs and their cruddy commit process will leak them all back in again as time goes forward, just like all the other once-fixed-but-back-again bugs we see GU after GU.
    • Up x 1
  17. redmamba

    Well if more ppl would participate on test servers for new stuff this wouldn't happen now would it. So bl(sh)ame on you :)
  18. St0mpy

    Pardon? And how would you know I dont have characters up to lvl10-11 on the test server? Shame for your poor assumptions aside, the fact is even when things are reported as broken on test feedback they still hit the live grid just as broken.

    Additionally, getting them to admit they have a problem with bug x or y is easier when they are clearly reproduceable however getting them to admit they have a problem in their build process is much harder. That was the point of my post above, something you also seem to have missed in your haste to (mistakenly) point a finger at me for not participating in test builds :)
  19. redmamba

    Maybe you should build MMO FPS bug free game your self and put SOE out of business?
    Just remember where the idea came from when you're rich and famous!
  20. MichaelS

    Ah, the last few patches were not on the testserver or without patch notes. And don't forget all the specials that are pached on top of the test server patch.
    You don't test everything with every patch. Nobody would test mines if nobody touched an involved mechanic. There may be hidden things, but this needs to be sorted by the QA team.