Navigation

    Fuze Arena Logo
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Help
    • Discord

    random_set_seed() in Fuze

    Help
    help please
    3
    17
    914
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Rxvlism
      Rxvlism last edited by

      I need help making a random_set_seed function in Fuze, I have no idea we’re to start other then it needs to be a custom function in my project.

      Here is a link explaining what a random_set_seed is.

      https://docs.yoyogames.com/source/dadiospice/002_reference/maths/real valued functions/random_set_seed.html

      pianofire 1 Reply Last reply Reply Quote 0
      • pianofire
        pianofire Fuze Team @Rxvlism last edited by

        @Rxvlism I am afraid that we do not currently have this function. I assume that you want to get a predictable set of random results. For the time being you will have to implement your own pseudo random number generator

        1 Reply Last reply Reply Quote 0
        • Rxvlism
          Rxvlism last edited by

          That’s what I’m asking help with I don’t know how to make it and I wanna understand how to make it lol

          random( seed ) line 67 is supposed to be random_set_seed( seed ), but we don’t have random set seed

          pianofire 1 Reply Last reply Reply Quote 1
          • pianofire
            pianofire Fuze Team @Rxvlism last edited by

            @Rxvlism You could try this one https://mathoverflow.net/questions/29494/pseudo-random-number-generation-algorithms

            1 Reply Last reply Reply Quote 0
            • Rxvlism
              Rxvlism last edited by

              Ima have to sit down and try understand this cuz I don’t get it even after reading the code on the page, time to study I guess lol

              pianofire 1 Reply Last reply Reply Quote 1
              • pianofire
                pianofire Fuze Team @Rxvlism last edited by

                @Rxvlism Yes me too. I will put in a request for a random_set_Seed function but it could be a while (assuming it is accepted)

                pianofire 1 Reply Last reply Reply Quote 1
                • pianofire
                  pianofire Fuze Team @pianofire last edited by MikeDX

                  In the meantime you could generate some random results and store them in a file so that you can read them back into an array.

                  1 Reply Last reply Reply Quote 1
                  • Rxvlism
                    Rxvlism last edited by MikeDX

                    It is a very useful function that and get_perlin_noise

                    I will try that 🤔

                    Lol how would u make it, if u don’t mind me asking lol I’m really stumped

                    pianofire 1 Reply Last reply Reply Quote 1
                    • pianofire
                      pianofire Fuze Team @Rxvlism last edited by pianofire

                      @Rxvlism OK try something like this:

                      maxNumbers = 1000
                      randomRange = 1000
                      numberLen = 4
                      seed = 0
                      nextRandom = seed
                      
                      randomNumbers = []
                      
                      // run this once to store the random number sequence
                      //saveNumbers()
                      // read previously saved numbers 
                      loadNumbers()
                      
                      clear()
                      for i = 0 to 10 loop
                        printAt(0, i, getRandom(6) + 1)
                      repeat
                      update()
                      sleep(3)
                      
                      function getRandom(range)
                        result = int(randomNumbers[nextRandom] / randomRange * range)
                        nextRandom += 1
                        if nextRandom == maxNumbers then
                          nextRandom = 0
                        endif
                      return result 
                      
                      function saveNumbers()
                        handle = open()
                        for i = 0 to maxNumbers loop
                          randomNumber = random(randomRange)
                          write(handle, padStr(str(randomNumber), numberLen, " "))
                        repeat
                        close(handle)
                      return void
                      
                      function loadNumbers()
                        handle = open()
                        for i = 0 to maxNumbers loop
                          randomNumbers[i] = int(read(handle, numberLen))
                        repeat
                        close(handle)
                      return void
                      
                      function padStr(theStr, padLen, padChar)
                        result = theStr
                        while len(result) < padLen loop
                          result += padChar
                        repeat
                      return result
                      
                      Rxvlism 1 Reply Last reply Reply Quote 1
                      • Rxvlism
                        Rxvlism last edited by

                        I will try it out 😂 honestly I don’t know what im doing at this point so hopefully I learn something from you’re code thanks 🙏🏽

                        1 Reply Last reply Reply Quote 2
                        • jmcdowall
                          jmcdowall last edited by

                          I've had success with repeatable random numbers in the past (not Fuze) with a linear congruential generator https://rosettacode.org/wiki/Linear_congruential_generator

                          Good luck!

                          Rxvlism 1 Reply Last reply Reply Quote 1
                          • Rxvlism
                            Rxvlism @pianofire last edited by

                            @pianofire

                            pianofire 1 Reply Last reply Reply Quote 0
                            • Rxvlism
                              Rxvlism @jmcdowall last edited by

                              @jmcdowall thanks I’ll take a look 👀

                              1 Reply Last reply Reply Quote 0
                              • pianofire
                                pianofire Fuze Team @Rxvlism last edited by pianofire

                                @Rxvlism Sorry missed a line when I re-keyed it you need an array declaration near the top

                                randomNumbers = []
                                
                                Rxvlism 1 Reply Last reply Reply Quote 0
                                • Rxvlism
                                  Rxvlism @pianofire last edited by

                                  @pianofire kk now I need to understand how to implement this into my game. If I post it can u help me lol I’ll credit...

                                  Just need to wrap my head around it

                                  1 Reply Last reply Reply Quote 0
                                  • Rxvlism
                                    Rxvlism last edited by

                                    I think this is what it’s supposed to do

                                    pianofire 1 Reply Last reply Reply Quote 0
                                    • pianofire
                                      pianofire Fuze Team @Rxvlism last edited by

                                      @Rxvlism no that doesn't look right!. Did you run the saveNumbers() function the first time that you ran it?

                                      uncomment //saveNumbers() by removing the //. This will save a list of 1000 random numbers to a file. Then comment that line out again so that the next time you run it, it loads the same list of 1000 numbers.

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post