Random number generation?

Collapse
X
 
  • Time
  • Show
Clear All
new posts

  • tigpup
    replied
    This overly-deliberate choice of a random-number-generating-algorithm is far too democratic and twin-eyed-biped-centirc to my thoughts.

    My lone voice allows the current RNG to decide it's own fate. If anyone has a team of (randomly chosen) apes with (randomly chosen) typewriters, so much the better.

    I'm prepared to validate each random-number generated under the current system;

    Leave a comment:


  • d_m
    replied
    So, I have an initial version with the the new WELL1024a algorithm plugged in.

    GitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.


    There is still a lot of code in z-rand.c that I don't fully understand yet--which I am working on--but the core RNG has been swapped out. Feel free to clone my repo, build the branch and see how it plays.

    I will try to post an actual build sometime soon.

    Leave a comment:


  • half
    replied
    Originally posted by d_m
    Well, any variant under the GPL can use it.
    OK, that's great.

    Leave a comment:


  • takkaria
    replied
    Originally posted by d_m
    I hadn't thought of it, but technically variants that aren't GPL but want to take code from Vanilla will need to ask the particular author(s) permission for new code, since currently the GPL is the license it's being released under.

    (I don't imagine this being a problem, but it's worth pointing out.)
    That's not a problem, since all the V code is dual-licenced including new code (see copying.txt and the source file headers).

    Leave a comment:


  • d_m
    replied
    Originally posted by half
    Does this mean that variants won't be able to use it? Asking for 'Angband and derived games' might be best. I mention this as it is a legal issue and we want to be careful.
    Well, any variant under the GPL can use it. As far as other variants, I think that the "free for academic and non-commercial purposes" lines up pretty well with the old Angband license.

    I hadn't thought of it, but technically variants that aren't GPL but want to take code from Vanilla will need to ask the particular author(s) permission for new code, since currently the GPL is the license it's being released under.

    (I don't imagine this being a problem, but it's worth pointing out.)

    Leave a comment:


  • half
    replied
    Originally posted by d_m
    Since I specifically asked and got permission for Angband
    Does this mean that variants won't be able to use it? Asking for 'Angband and derived games' might be best. I mention this as it is a legal issue and we want to be careful.

    Leave a comment:


  • grumbleguts
    replied
    I've pretty much resigned myself now to the fact that if zapping a rod fails the first time, no matter what the failure rate it will fail again 7-8 times out of ten. 1 fail and I try another course of action. unless it's a specific function like Id.

    Leave a comment:


  • d_m
    replied
    Originally posted by Tiburon Silverflame
    The page you're linking to actually uses a different license in the source files:

    Code:
    /* ***************************************************************************** */
    /* Copyright:      Francois Panneton and Pierre L'Ecuyer, University of Montreal */
    /*                 Makoto Matsumoto, Hiroshima University                        */
    /* Notice:         This code can be used freely for personal, academic,          */
    /*                 or non-commercial purposes. For commercial purposes,          */
    /*                 please contact P. L'Ecuyer at: lecuyer@iro.UMontreal.ca       */
    /* ***************************************************************************** */
    I did write the authors and get specific permission to use it in Angband under the GPL, but the files they ended up posting to a different website under the GPL used version 3.

    Since I specifically asked and got permission for Angband I am going to include it in my tree, but I'm also going to write to them for clarification and if they say GPL-3 is the only GPL they'll allow then we'll maybe have to do something else.

    Leave a comment:


  • Tiburon Silverflame
    replied
    Looks like it.

    Leave a comment:


  • takkaria
    replied
    Originally posted by d_m
    I just received permission from Pierre L'Ecuyer to use his team's WELL1024a.c implementation in Angband. It uses 1024 bits of state and should perform well for us (better than Mersenne Twister).
    Can we releease that under the GPL?

    Leave a comment:


  • Chud
    replied
    Someone asked a bit ago "how big a deal is this?" -- not very big, really, but *if* it's not difficult to fix (and it sounds like it's not at all) then I would definitely prefer that the RNG be more really random(-like). Not a huge deal in the big picture... but, just one vote.

    Leave a comment:


  • buzzkill
    replied
    I've no idea what most of that means, but I'm excited about the change.

    Leave a comment:


  • d_m
    replied
    I just received permission from Pierre L'Ecuyer to use his team's WELL1024a.c implementation in Angband. It uses 1024 bits of state and should perform well for us (better than Mersenne Twister).

    It will be a change that could break savefiles, however I think it should be possible to detect and update people's saved seed (which has far too few bits).

    So to answer Magnate's question, it should not require too much work at all

    Leave a comment:


  • Magnate
    replied
    Originally posted by takkaria
    Alright, well, does anyone actually object to making the RNG closer to random? If not, we can make it happen...
    How much work is it? If it's a simple drop-in replacement for z-rand.c then I'm all for it - but I wouldn't have thought this was a top priority for anybody, since z-rand.c has served us well enough for however many years. But you're the boss .... ;-)

    Leave a comment:


  • takkaria
    replied
    Originally posted by Chud
    I have to agree here -- especially given that all the hardware Angband is going to be running on these days is so much faster than the earliest versions needed to work with; implementing a computationally expensive (relatively) RNG is no longer a practical problem.

    Or maybe it never was; I haven't looked at how fast the various RNG algorithms are these days--maybe this was never an issue, but in any case it can't possibly be today. And I'd really rather that a given percent chance was honestly presented in the game, if it's going to be presented at all. Bugginess to the contrary might add some character to the game, but in my opinion it's not the sort of character the game wants.
    Alright, well, does anyone actually object to making the RNG closer to random? If not, we can make it happen...

    Leave a comment:

Working...
😀
😂
🥰
😘
🤢
😎
😞
😡
👍
👎