I wanted a random number generator so that I can take a predefined seed and turn it into a much larger number to work with, while still being consistent as to what number I get as an output. That way the dungeon is the same every time it is loaded.
That's how all random number generation libraries work (there might be some exceptions of course). For example, with the one provided by Unity, you use
InitState(seed) to seed the generator.
What I want to know is how to use the seed in order to create a randomized, yet consistent, dungeon.
The seed is just an input given to the generator to control the output. Forget about random number generators for a second - imagine instead you had a program that took any number given, and used in a basic math function like x*100
There obviously isn't anything random about that - if x is 2, the output is always 200. If three it's always 300. 4 it's always 400 and so on, an easy pattern to see.
Now let's pretend that each time after the first you called for a new random number, the generator added 1 to the last number used for the seed.
So if your original seed was 2, the first time you called for a number you would get 200 (x = 2), the second 300 (x=3), third 400 (x=4) and so on. As long as the original seed is the same, the outputs you're going to get from the generator remain the same.
This is essentially how random number generators work - they take a number you give it (the seed), and use it in some mathematical functions. So if you give it in the same seed, it's always giving you the same pattern like the stupid example above. The seed isn't helpful for you beyond knowing that if you give the generator seed X it will give you the same outputs every time your program runs.
Now, as to how you use random numbers generated to build your dungeon - that's a far more complicated matter. Picking random points in space isn't going to get you anywhere IMO. The "normal" way would be to use random numbers to chose assets. For example, say you started with a hallway piece, you know there are 2 open ends, so you have the random generator decide what goes on each end - maybe it picks a wall for one side, a room for the other (repeat until you have a dungeon - it's so easy
). random numbers could also be used for deciding textures, monsters, loot and so on.
keep in mind that procedural generation is not a magic bullet - it's very hard, probably harder than just manually building something like a dungeon.
This article might help you wrap your mind around the problem.
I would also suggest that maybe you don't just dive right into procedurally generating 3D dungeons. Following something like a tutorial for a traditional 2D roguelike might be better.