nicklockwood / RetroRampage

Tutorial series demonstrating how to build a retro first-person shooter from scratch in Swift

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Part 5 - Footnote 1 inaccurate

dleehr opened this issue · comments

Thanks for the tutorial, really enjoying it.

One correction/note on part 5. According to footnote 1:

Long before modern GPU technology, consoles such as the SNES included built-in support for scaling and rotating sprites instead of just moving them around.

The SNES Mode 7 could only scale/rotate backgrounds - specifically not sprites. See the linked https://en.wikipedia.org/wiki/Mode_7#Limits:

Mode 7 can only work on backgrounds, not sprites; therefore, any object that does not rotate or scale with the background must be a sprite, even items that would normally be thought of as part of the background, such as fixed platforms.

While mode 7 is still relevant/interesting, sprites were used in the same way you describe them for enemies and items in Wolf3D. For example, Super Mario Kart uses Mode 7 to scale/rotate the course as a background, but the characters in their karts are sprites pre-drawn at different sizes/angles. Later games that included specialized DSP chips were able to sprite scaling/rotation, but that's not Mode 7 and not built in to the console :).

@dleehr thanks for the correction, I've fixed it 👍