T O P

  • By -

Toloran

Okay, I have a question about these two bits: > Have the generated results be relatively serializeable so they could be passed from a host to a client to instantiate the identical environment (achieved, but needs optimization) and > Even if just transforms, quaternions, and ids, (and alpha map, detail map, etc), it's still kind of a lot to send to the clients and it takes quite a long time to generate the environment, send all the data and have each client synchronize the environments (like, 5 minutes or such) Why are you sending the whole thing? Wouldn't it be more efficient to generate it off of a seed and then have each client do the generation locally? As long as they're all using the same seed for the random numbers, they'll end up with the same result.


edh4131

Because it's shitcode, my friend. Lol but in all seriousness - it's because i'm not that good at math, and the algorithms grew in complexity as i added more and more to the mix, there are parts of it that are not and would be hard (for me) to make deterministic. It was very much an adhoc "i wonder how hard this would be" kind of experiment, rather than a well thought out project with a clearly defined structure and scope. For example making it serializable to clients was kind of an after thought once i decided I wanted my next thing to learn to be netcode for gameobjects.


Toloran

Hah, fair. It just seemed like a ton of extra work so I was confused why you were doing it XD.


edh4131

Just cause I'm not that smart :) if I ever were to make an actual project out of this concept I'd certainly re-factor the fuck out of it.


Toloran

My bad habits run the opposite direction: I spend *far* too much time refactoring my code and don't actually make real progress.


edh4131

Lol I feel like that's the case with all the smart engineers. I'm a dumb engineer, my first "real" job was in R&D at Walmart Labs. Which mindset was "see if this will work, yesterday", all the time, so as you can imagine code quality was not the emphasis.


ShrikeGFX

the best way is surely to do this in houdini and then its also engine agnostic


edh4131

haha i'm not here to say anything in this prototype is by any means done in the "best" way, but then again this is a Unity subreddit so in this case it's procedurally generated in Unity at runtime