6,596 karma · joined February 20, 2007
To whomever that has read upto here: you hereby implicitly agree my EULA, in which you swear to enjoy each of your scientific pursuits with intensity and to your fullest degree; and sometimes even to a dangerous degree, if the mood carries you thus. Additionally, you agree to never allow an employer, family member, or any other authority to break your intrinsic spirit; for they have no means of dominating your spirit except that which you subconsciously allow them. You shall be true to yourself and to your own principles, regardless of society (though in privacy). You shall hereby refuse to believe any scientific statement as "true", however benign, except those in which you alone have proven to yourself to be true, by your own hand and evidence. (Though it doesn't hurt to check out what other people have to say on the subject, from time to time; in fact, it turns out to often be a more valuable course of action, for the careful analysis of a close friend can often reveal subtle flaws in your process and in your logic, while occasionally forcing you to re-evaluate your core reasoning for choosing that process in the first place, which always leads to the path of learning and thus improvement and satisfaction.) You agree to eventually die with no regrets. Let no one impose themselves upon your judgement without merit. You shall endeavor to enjoy life to the fullest extent of the law (where applicable), and to realize that money is merely a means, not an end unto itself. In your spare time, you shall research that which is impossible, but intriguing, in order to always have something to strive for, thereby improving your skill and your spirit. You shall follow your curiosity wherever it leads (but keep both eyes open for signs of danger).
Most importantly: thou shalt enjoy every week, else thou shalt fix your life's situation regardless of how immutable it may seem.
=======
Oh...
A perfect assessment.
It's why I keep learning about every field --- there are so many areas that turn out to be applicable in different domains.
For example, "variance shadow maps" create soft shadows using statistical analysis. (I wish they were practical. It's just an example.)
I'll check out the Skein function, thanks.
I don't suppose you have the code lying around...? Even if it's not pretty, it would still be a big help! =)
For example I once modeled raindrops as falling billboards that struck the ground at some random (x,y) in your field of view, followed by a "splash" animation billboard where it struck the ground. I started by using C rand() to determine the random (x,y) of the raindrop. And it looked terrible! The raindrops would mysteriously clump together in sinewave-like patterns, and seemingly avoid some spots altogether.
I dropped in a Mersenne Twister RNG and the problem instantly went away. I didn't change a thing except the RNG.
So yeah, a few arithmetic ops gets you rand() quality. But humans are unfortunately good at noticing the overall bias in the resulting patterns.
And you'll run into similar problems when e.g. trying to implement a non-repeating perlin noise function on a GPU. I tried it with a weighted combination of several different perlin noise textures... but I had to be very careful about aliasing artificts in some of the more interesting effects; while also being careful of avoiding visually-repetitive patterns (which almost always occur).
The value of Intel's RNG, I'd imagine, is that it's uniformly random and also unbiased -- meaning repetitive moire patterns won't show up in your results.
Of course it's not deterministic, which is tricky, but I can still think of several use cases for something like this.
For example, adding a tiny amount of film grain to the final rendered image would most easily be done with RNG.
Another example: it's common for renderers to accumulate the scene's illumination into a HDR texture, and then radially blur it. The goal is to approximate the halo you observe around light sources at night time. The problem is, a Gaussian blur is perfectly smooth --- so the resulting glow typically ends up being a perfectly smooth blurry circle of light. But a real photograph of the same scene rarely has smooth glows. The image exhibits all kinds of subtle noise in the light's corona. After all, a photograph results from interaction of light with the camera lens, multiple scattering in outdoor scenes, chromatic dispersion, interaction between polarized light and certain materials, ... and many, many more phenomena.
So rather than try to model each of those physical lighting effects in realtime, it would be wonderful to have a "RNG()" shader function to simply add a smidgen of unpredictability to our realtime rendering techniques. The closer your final image resembles nature, the better it looks --- and nature is many things, but she is not a perfectly smooth BRDF lighting model!
So yeah... It would be frickin' sweet to have this RNG on a GPU.
Must be some pretty dense code!
On 64-bit, you won't. =)
What's that got to do with strategy? Or are we claiming that it's "okay to lie" about why someone is being fired..?
One obvious exception to this is Einstein coming up with relativity before it was ever observed in nature and approximated by people. But if you think about it, Einstein wasn't proving aximos; he was presenting a theoretical model (a guess) which turned out to precisely correspond with nature. It was still a guess.
So my point is... "results" are subjective, and don't require proofs. Proofs are very useful for checking your theories, but probably not for discovering new phenomena.
I appreciated your work, for what it's worth.
2) However, he's not "complaining" about duplicates in those links. He's cross-referencing previous discussions in order to let people learn from them.
3) For what it's worth, he's been here almost two years -- you've been here barely half a year.
I read through his history and found this really cool submission: http://news.ycombinator.com/item?id=2878264 Computer Graphics? Or Real? "Ultimate Batting Practice"
Which led to the analysis of the video: http://m.wired.com/wiredscience/2011/08/exposing-a-fake-vide...
Which led to another analysis, "Water Slide Jump" http://m.wired.com/wiredscience/2010/05/preemptive-mythbuste...
http://scienceblogs.com/dotphysics/2009/08/more-on-the-giant...
It pretty much demonstrates just how difficult it is to apply mathematics to analyze real-world problems, which is really interesting and thought-provoking IMO.
Anyway, my point is, Colin has good taste, and you're doing him a serious disservice. He does good, helpful work, and I hope he doesn't stop, and doesn't straight-up leave, because the community would be worse off. I'd certainly be tempted to leave after reading something like what you wrote.
On the other hand, whoever's taking care of him behind the scenes has done an incredible job. I'd even say Aidan's "set for life"; that might seem over the top, but consider... this link will forever be associated with his name. It demonstrates that even at age 13, he was a very capable real-world problem solver, while also showing off his ability to perform and present his own original research in ways that other people can build on.
That's going to impress virtually everyone he ever meets, probably. Admissions boards, employers, investors, etc. Obviously that assumes he plays his cards correctly going forward. Still, though... this will always be a future de-facto "get-his-foot-in-the-door" for him, regardless of whatever it is he's trying to do. Except maybe pickup chicks.
I just hope he doesn't become a victim of his own success. Hearing "you're such a genius!" from everyone around him would not be good for his future self.
Is it very expensive?
This is actually very important, especially in RTS games! If you have a unit selected, and he's standing near the edge of a cliff, and you right-click off the edge (intersecting lower-elevation terrian), then the naive Astar algo would make the unit run away from your mouse cursor, because it would search the whole map for a valid way to get there --- however the player very likely wanted to get as close as possible to the edge, e.g. to attack an enemy he spotted.
(In other words, when pathing to different elevations, the the player almost always wants the unit to "run up as close as possible" to the edge, not try to find a valid path all the way around the map.)
It's actually a very tough/interesting problem, because it's probably impossible to "always do what the user intends in every situation" by merely looking at his mouseclicks.
That seems very similar to real life heuristics, actually...
"Holy crap, that guy in front of me just got blown away!" runs out the back door
It's hard to explain. You could only really understand if you'd played the game. "DOTA" roughly means "A highly/specifically competitive game, wherein that game also includes specific heroes and items which competitive players have spent years practicing with and the community in general have come to expect". For example both DOTA and HoN have an item which grants you 10 seconds of magic immunity on use, and can't be used again for more than 1 minute. So if your game doesn't, then it's probably not "a DOTA".
HoN and DOTA both share about ~75% of the "details" (and almost 100% of the details that matter) so it's very much "a DOTA". Whereas League of Legends shares maybe 5%.
But oh man: Carmack vs Notch. Imagine it.
Nevermind, I hope Bethesda can somehow persuade/pressure/bribe/extort Carmack into that. Because... C'mon. Carmack vs Notch.