Announcement

Collapse
No announcement yet.

RNG Update?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • RNG Update?

    Was there and update in RNG? I've saw a guide that explains much about the DN's RNG but I don't know if it is old right now. This link was 5 years ago already so maybe..

    LINK: http://forum.cherrycredits.com/topic...ts-connection/

    Thank you in advance and God bless.
    Page 1 of 14 - Rng: It's Importance And It's Connection - posted in Guides & Strategies: A word from me First of all I would just like to say that while what I am going to talk about is within the realms of computer science, I am only a to-be computer science student. All the things I am about to say are things which I have personally collected with my own research. Thus perhaps (and probably will), some of the things here seem to be incredulous for you. It doesn’t matter though to...

  • #2
    Originally posted by AbyssDeki View Post
    Was there and update in RNG? I've saw a guide that explains much about the DN's RNG but I don't know if it is old right now. This link was 5 years ago already so maybe..

    LINK: http://forum.cherrycredits.com/topic...ts-connection/

    Thank you in advance and God bless.
    Are you expecting an answer from players? You do know this is a trade secret of the hosts, similar to how casinos operate their machines right? :P
    Remmystarr from Eden (Discord: Xenocho #8012)
    Please try to read my guide before asking questions on gear optimisation here;
    Old and outdated Engineer guide here; Selling FDN service for FDN weaps (Read here!);

    Comment


    • #3
      That guide doesn't mean anything at the end of the day. It is far too abstract to even be useful, and as I recall my first few forum posts were a criticism of that "guide". If you want something remotely useful regarding DN's server-side RNG, I've posted all the relevant disassembly at the bottom of this thread: http://forum.dragonnest.com/forum/se...rlin-simulator

      Now granted, I don't expect you to be able to comprehend assembly, but if you can or are willing to learn it, that's still much more specific than that post by someone who was, at the time, still a CS undergrad.

      Honestly speaking, I can still remember the impression that post gave me 4 years ago. The honest impression that I got from it was that the OP learned about PRNGs in class one day and, in a burst of self-admiration, decided to write down everything he or she learned that day in the context of DN. The end result left was too vague, impractical, and left too much to be desired. The OP may not have seen this at the time, but I can definitely see a plausible reason as to why he or she decided to suddenly vanish sometime down the road. Such a post is not something one would be particular fond of after obtaining their degree.

      Comment


      • #4
        Noob question. >.<




        Based from this table, the chance of getting a Lv 95 epic plate with 3rd stat 566 FD is 0.03%.
        That's 3 out of 10,000 or 1 out of 3,333.

        Does this mean if we get this plate on the 1111th craft, we won't get it on the next 2222?

        original table can be found here: https://www.facebook.com/halonsvanz/...57297341326171
        Last edited by BabyKuri; 10-07-2017, 04:05 AM.

        Comment


        • #5
          Speaking strictly in terms of mathematical probability, your reasoning is correct, however in reality it is still random, and you may get more than one within that range, or none at all. You get the idea. The MT19937 implementation they use, albeit not fed through a uniform distribution, will still equalize at the chance of 0.03% over enough calls to mt19937_uint32_rand(). Note that I said equalize. This is not the same as "you are guaranteed to get 1 every 3,333 attempts". You could get 0 on one set of 3,333 attempts, and get 2 on the next. It will still equalize to 0.03% at the end of the day. This is what a uniform distribution helps with - to make your "luck" more uniform / "even", so that you will actually have more of a guarantee that you will get 1 every 3,333 attempts. As it stands, DN simply applies a modulus on the output of mt19937_uint32_rand() to clamp it down into a range of their liking instead of passing it through a uniform distribution, thus you should not expect your luck to be as "even" as it could be per se. On the contrary, my Berlin simulator does feed its output into a uniform distribution.

          Now before people start writing this off as "it was too hard so they didn't implement it", no. Uniform distributions are not rocket science. The DN server binaries statically link with Boost, so they always have Boost.Random at their disposable even if they choose to live in the stone ages of the original msvcrt.dll. If they so choose to upgrade (which they may have since then), there's the entire standard <random> header at their disposal.

          It sometimes disappoints me how so few other people besides myself flip on -std=c++1z -fconcepts -fgnu-tm, but that's a story for some other time. Concepts are simply heaven-sent after years of putting up with boilerplate SFINAE code. Some people don't even know what they're missing out on.
          Last edited by Riugа; 10-07-2017, 04:46 AM.

          Comment


          • BabyKuri
            BabyKuri commented
            Editing a comment
            Thanks!~
            Your explanation is too technical and nerdy but I've got the gist of it. (I'm quite a nerd myself lol)
        Working...
        X