This would cause it to keep drawing sprites below the bottom border. The sprite hardware would then not get the signal to stop drawing after the last line since that presumably already happened with fewer lines to display. This was done by waiting for the GPU to start drawing the bottom line of text on the screen and then switching to a mode with one less line of text. Speaking about the C64 the exact instruction timing was also key to the two rather clever hacks to put sprites outside the nominally drawable 320x200 pixel screen area.įirst in the top and bottom border. A single divide per pixel would blow your entire clock budget! "Perspective correct" texture mappers were not common in the 90s, and games like Descent that relied on them used lots of approximations to make it fast enough. The hard part was dividing, which is required for perspective calculations in a 3D game, but was super slow and not amenable to fixed-point techniques. The other big challenge was that floating point was slow back then (and certain processors did or didn't have floating-point coprocessors, etc.) so we used a lot of fixed point math and approximations. With those techniques, you could make a game where the graphics were 3D and redrawn from scratch every frame. You also had to keep overdraw low (meaning, each part of the screen was only drawn once or maybe two times). With 34 clocks, you could write a texture mapper (in assembly) that was around 10-15 clocks per pixel (if memory serves) and have a few cycles left over for everything else. memcpy'ing each line of a sprite) so we could beyond 2D mario-like games to 3D ones. 34 clocks was way more than needed for 2D bitblt (e.g. In the 90s we got to the point where you had a pentium processor at 66 Mhz (woo!) At that point your 66Mhz / 320 (height) / 200 (width) / 30 (fps) gave you 34 clocks per pixel. The led to games like donkey kong where there was a static world and only a few elements updated. So you had to do stuff like only redraw the part of the screen that moved. Before the 90s it was hard to even update all pixels on a 320x200x8bit (i.e. We thought about things in terms of how many instructions per pixel per frame we could afford to spend.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |