Don’t starve, Diablo – Parallax 7
simonschreibt.de
simonschreibt.de
If someone knows how the sky of world of warcraft is made (and to a lesser extent the ground of warcraft3 which I think is a clever use of marching squares), please let us know, Ive been wondering for 10+ years. It has an incredible amount of features (day, night, clouds, moon, stars, etc), it's gorgeous, light, updates beautifully every other frame or so and no, it's not rendered-to-texture. Well pretty sure it's not. It's so smooth, you dont see a poly nor a texel. It also runs on a 2002 computer. A marvel of tech-artistery.
Cant upvote enough.
Ground textures, cliffs, and ramps are tiles.[1] A heightmap modifies tile corners.[2] Everything else is an individually-placed object.
[1] https://www.hiveworkshop.com/attachments/wc3search-tutorial0...
TLDR. it’s multiple skybox meshes layered
Even now, I still have the memory and nostalgia of walking down the twisting steps from the Pandemonium Fortress and being blown away by the beautiful (macabre is maybe more fitting) graphics.
Mode 7 essentially is a primitive 3D accelerator, it renders a single textured plane with various transforms. I think in principle it's just as "real 3D" as a modern GPU, it's just very very limited and less accurate.
The cool 3D hack comes from co-processors in the cartridge: Games like Super Mario Kart use extra chips than can quickly compute new mode 7 parameters per scanline: If you change the zoom and translation of mode 7 on every line (but keep the rotation the same), you can get the typical tilted 3D look by having the upper lines zoomed out (smaller) and the lower lines zoomed in more (bigger).
This "change the zoom on each scanline" trick is very different from what modern GPUs do and not an arbitrary transform, e.g. with the scanline trick you can only rotate the plane around the horizontal axis, but not around the vertical one.
Super Mario Kart needed the co-processor for determining things like how to draw the karts depending on their position and distance from the player. Pilotwings used the same co-processor for similar things (essentially, tracking objects and perspective in 3D space).
F-Zero managed to do the “change zoom on each scanline” trick without a coprocessor in the cartridge, didn’t it?
Mode-7 scaling can be modified per scanline to get the textured-plane effect seen in many games (e.g. F-Zero), without any additional hardware.
Look at NVIDIA. They pretty much just lucked out that the same architectures would be useful for machine learning and "artificial intelligence" in it's initial iteration, but the entire company was founded on computer graphics.
I think (think!) this is necessary to simulate a vanishing point "below" the ground for vertically-oriented sprites. If the three pikes rotate out at the top, the bottom has to rotate a bit with it. A skew transform wouldn't look right.
The 3dmax scene didn't show much of it b/c it was straight-on with the viewport and with square textures a skew looks ok.
In the moving example, the three stakes would indeed spread out w.r.t. the eye position in real-ish life as you got closer. The 3dmax render does not illustrate this well.
Multiplane cameras from Disney and their predecessors are almost 100 years old. You can do a lot of trickery with 2d images to construct scenes with depth.
Also a key different is pre-rendered sprites. In games like Roller Coaster Tycoon or Diablo, models were made on expensive dedicated computers and then rendered into sprite sheets. Objects may look 3d but were usually shipped as flat assets. Some modern pixel art games will do stuff like ship a normal map with the sprite so you can do dynamic lightning on a 2d sprite.
Modern games that use parallax could easily be just rendering flat objects in 3d scenes, but 20 years ago graphics pipelines were way different so you had to be clever if you wanted 3d effects.
Maybe a designer said, it looks better.
Joke aside, I throw in one-off/random code into my games here and there. Feels bad from an engineering point of view, but sometimes the games just need this to feel better, Idk.
So I did enjoy TFA a lot.
[1] https://commons.wikimedia.org/wiki/File:Moon_patrol_original...