Return to “Announcements”

Post

Re: Limit Theory @ PAX South!

#62
Talvieno wrote:
JoshParnell wrote: Pffft too easy :geek: Surely you guys want to see some AI and weapons and stuff :squirrel:
If it's so easy, why haven't you done it yet? :ghost:
Man I was watching systems generate themselves for hours today on my TV while I coded up a storm. I didn't get all the fun stuff happening yet. But just generating a pretty world...you guys know I'm...pretty darn good at that.

(Or did you mean, why did I not put up the livestream yet :ghost:)

PS ~ Stop distracting me, PAXers are getting robbed of fun features because of all this forum goodness :V
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Limit Theory @ PAX South!

#64
JoshParnell wrote:
Silverware wrote:Woo! Flat, get photos with Josh, prove that he isn't a bot! :D

Josh, heres an idea for later, a test bed, a single camera orbiting a star, every two seconds you increment the system seed by 1 (starting at 0), and regenerate it, the camera orbits the central point of the system (the star) at like a tenth of a degree per 2 seconds or something.

Put that on a machine you arent using for a few hours, and upload the resulting footage as either a live stream, or as a YT Video.

Would be amazing to sit there and just marvel at the universe you generate. :D
Pffft too easy :geek: Surely you guys want to see some AI and weapons and stuff :squirrel:
No, what we want to see is endless pretty.
You should know this by now, with all our requests for screenshots. :D

Seriously if you set that up and left it to run on livestream or something, I would be very very happy with watching that for a few hours. :D
°˖◝(ಠ‸ಠ)◜˖°
WebGL Spaceships and Trails
<Cuisinart8> apparently without the demon driving him around Silver has the intelligence of a botched lobotomy patient ~ Mar 04 2020
console.log(`What's all ${this} ${Date.now()}`);
Post

Re: Limit Theory @ PAX South!

#66
Talvieno wrote:Exhibit A:
JoshParnell wrote: PS ~ Stop distracting me, PAXers are getting robbed of fun features because of all this forum goodness :V
The part of your post that was completely ignored. :roll: :lol:
Come by the IRC, (/me crosses fingers) we wont distract you there... not one bit. Promise. :D
°˖◝(ಠ‸ಠ)◜˖°
WebGL Spaceships and Trails
<Cuisinart8> apparently without the demon driving him around Silver has the intelligence of a botched lobotomy patient ~ Mar 04 2020
console.log(`What's all ${this} ${Date.now()}`);
Post

Re: Limit Theory @ PAX South!

#69
Maybe I'm the bot. :twisted:

Also, ninja'd by Josh Himself on how pseudorandom number generators work. :D Just to add to that, though, it would actually be perfectly OK for a random number generator (RNG) function to produce 0 or 1 as its first result, as long as the many hundreds or thousands of subsequent calls to the RNG return different and impossible-for-a-human-to-guess result numbers.

As long as your program doesn't insert a new seed value in between calls to the RNG, then you get two useful results:

1. Each subsequent number is virtually impossible to predict from the previous number. (This is what makes these numbers appear to be "random.")
2. As long as you start with the same initial seed, the sequence of random numbers generated from each call to the RNG will be exactly the same each time.

These two features are what allow every new system generated from a different starting seed value to look very different (because the pseudorandom numbers are different on each run), but for every system generated from the same seed value to look identical (because the sequence of random-looking numbers is always the same).

Here's a version of the Park-Miller & Schrage RNG method I use:

Code: Select all

seed = 123459876 + Date.getSeconds() * 0xFFFFFF + Date.getMinutes() * 0xFFFF;
A = 16807;
M = 2147483647;
Q = floatFix(M / A, 0);
R = M % A;
oneOverM = 1.0 / M;
mask = 123459876;
seed ^= mask;
hi = floatFix(seed / Q, 0);
lo = floatFix(seed - hi * Q, 0);
seed = A * lo - R * hi;
if (seed < 0)
    seed += M;
result = oneOverM * seed;
seed ^= mask;
I defy you to eyeball that and tell me whether 0, or 1, or 63285462855, or (the real problem) multiple input seed values will all produce the same result number. ;)
Post

Re: Limit Theory @ PAX South!

#70
Definitely hard to say without knowing what on earth 'floatFix' is.

I certainly can't tell what the output will be, but for sure this would not pass the gauntlet of 'is it really random' tests...I can almost understand what it does and that's not a good sign :P Still no idea what floatFix is though. I see INT_MAX and a high power of seven in there though, which I'm not particularly fond of (why not primes?) But anyway. Probably better than rand()'s LCG.

FWIW Mersenne starts (typically) with ~624 loops of state 'twiddling' based on the seed immediately when it's constructed, so you get a good distribution right off the bat. I actually noticed a significant improvement in the 'randomness' of various things in LT when I switched from crippled-old rand() to Mersenne. Weird.

Speaking of which (well, not really....at all), a data-driven approach to handling the problem of "LT has too much stuff going on" may be a piece of the puzzle. I figured, with function call & hotspotting overhead in LJ, my best approach was to go for data-driven this time since I get to start clean with my entity system. (Simple) logic on a couple thousand ships seems to indicate good things. Always cautious though :ghost:

I really need to work or Flat is gonna be disappointed tomorrow. But I've been working for over 52 hours now :S I know I shouldn't do it...I promise brain, I will treat you so well after today :3
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Limit Theory @ PAX South!

#73
So super fun new development.

I just burnt my graphics card out. Like, literally, I killed it with the demo / some things I was trying (luckily not my new laptop...but still, it was the faithful old desktop with the 560GTX that's been with us since the beginning). One minute things are beautiful, the next the computer is crashing and the screen is blocky with graphics glitches, restarted and everything has gone to hell, can't boot anymore (or do anything useful, because the GPU is clearly done).

FUN TIMES.

So, I'm just going to say 'screw it' and leave for San Antonio and hope that tonight I can work a lot on my laptop a lot in the hotel, because I'm still not where I want to be. And the universe continually insists on making things as hard as possible for me :ghost:

What doesn't kill you makes you stronger. But what if it kills your GPU? :cry:

Pray for me :V

<3
“Whether you think you can, or you think you can't--you're right.” ~ Henry Ford
Post

Re: Limit Theory @ PAX South!

#75
Well, Josh, you could look on the bright side of things. This means you have to upgrade your work computer. Upgrading your work computer means LT will run faster. LT running faster means less work to get it to run faster. Less work to run faster means less stress, and faster release!

I know I'd be devastated if anything burnt out in my laptop, but... just trying to look on the bright side here while there is one :P

On the other hand, maybe it's a sure sign you should get some sleep. :wtf:
Have a question? Send me a PM! || I have a Patreon page up for REKT now! || People talking in IRC over the past two hours: Image
Image
Image

Online Now

Users browsing this forum: No registered users and 20 guests

cron