“In 1999, Rockstar Games and Rockstar North (then known as DMA Design) furthered the groundbreaking gameplay concepts established just two years prior in the original Grand Theft Auto – with the release of GTA2. GTA2 expanded on the top-down, open-ended crime world gameplay formula with a host of new features including the advent of multiple rival gangs – seven, to be exact, including the Yakuza, Scientists, Looneys, Rednecks, Zaibatsu, the Russian Mob and Hare Krishnas. Earn your respect with each gang. Reap the benefits with all manner of shady work-for-hire gigs contracted your way. And climb your way to the top of the criminal pile.
Now, longtime Grand Theft Auto fans can revisit this classic entry in the series – and new jacks who missed out on this early franchise title can further discover Grand Theft Auto’s roots – absolutely free. GTA2 has been completely optimized for play on modern PCs and is available gratis for all registrants to the Rockstar Games mailing list (rest assured your information will not be shared with any third parties, you will only receive information from Rockstar). Simply fill out the form below and check your email for a direct link to the file (353 MB .zip file, includes install .exe, readme .txt file, and a .pdf of the original PC game manual).”
SuperJer just had some time to spare and before getting bored he started to write a raytracer from scratch and write about it on the intertubes:
“Ray-tracing works sort of like a camera in real life, but in reverse. With a camera (or your eyes, for that matter), rays of light from the environment enter the lens and hit the film/digital chip/meaty eye cells. Something magical happens where the light hits and we get an image!
With ray tracing, we start at each point on our “film” or image, and blast a ray out of our camera lens and see what it hits. What it hits determines the color and brightness at that spot on the film. Of course by “film” I mean digital image, and by “spot” I mean pixel.
I decided my entire program would be centered around one function, called raytrace(). The idea is this: You give raytrace() a starting point and a direction, and it follows that ray until it collides with something in my virtual environment. It returns the color of the object it collided with.
When generating a 3D image, raytrace() will find the color for just ONE pixel in the result image. By running raytrace once for each pixel, we can get the whole scene! Ray-tracing is kind of slow because, for example, in a 1 megapixel image you’d have to run it 1 million times.”
He even has put up some pictures and videos:
You can even get the whole sourcecode (C++ with no dependencies whatsoever) from his site. Continue at source…
Lutz Roeder just released version 5 of the fabulous .NET Reflector tool. Go and get it!