Your lessons are really great, you have all my congratulations.
I'd like to comment a few things :
Quote:
You take the player’s height (x location) and subtract a certain number of pixels (let’s say 10). Then in the next frame you subtract 9, then 8, then 7, then 6… etc. Then when the number hits 0, you just add them back on until you get back to 10. This doesn’t tie exactly to actual physics, you’d really want to change the value by a multiple of about 1.33 per frame, but it’s close enough for government work.
In fact it IS like real physics, see
uniform acceleration. The value you add to the position is speed (position is integral of speed over time) and the value you remove to the speed is the acceleration (speed is integral of acceleration over time). The only reason player can jump higher than their own height in video games is that 1) the gravity is always much lower in video games than on earth and 2) characters are often super-deformed
Quote:
The NES’s processor doesn’t do multiplication, so if you want to multiply numbers, you have to add them together a bunch of times
This is WRONG !! Because the NES processor doesn't have an instruction that does the multiplication automatically doesn't mean it can't compute multiplications without LUT. Addind a number a bunch of times is a SHIT way to do it. You just have to perform a multiplication by colum, do a loop that shifts and add numbers.
Quote:
How does this play into Grand Theftendo? I’m colorblind, so i can’t tell if the screenshots abide by the 13 color limit, but it certainly doesn’t abide by the 16×16 grid layout for the background palettes. There are a few other problems with the screenshots, mostly involving how the game’s sprites are arranged. The NES does not have sprite rotation, what you draw is what you get. If you look at the screenshots, there are cars twisted every which way. While it’s possible to store all of those rotations in the CHR ROM, no programmer would ever do it because it’s a huge waste of space.
I think grand theftendo was going to use the MMC5, which has an optional mode called EX-Graphix or something like that which allows you to trick the NES to have each tile use it's own color (instead of 2x2 tiles like usual). Very few games used this, Just Breed and Metal Slader Glory are the only examples I can think off right now.
It's true the NES have no sprite rotation, but nobody prevents you to pre-rotate sprites. Solar Jetman did this so it's definitely acceptable in wases of spaces. I did a program to rotate an image on the NES, but it was SO FREAKING SLOW taking about 150 frames to scale/rotate a 32x32 image, which obviously would have no use in a game. The reason is is this slow is because it needed 32x32 matrix multiply, which means 32x32x4 = 4096 16-bit multiplications to be done.