4 ms·
What the article is speaking of is setting one sprite to two different positions on alternating frames to provide the illusion of two separate objects, which wi
by tenebrisalietum 6y ago
What the article is speaking of is setting one sprite to two different positions on alternating frames to provide the illusion of two separate objects, which will flicker.
I never saw C64 games do that much, but Atari games did. Adventure being a good example - it effectively only has 2 "sprites" but flickers when more than 2 are in the frame. An infamous example would be the Pac-man ghosts, flickering 1 ghost across 4 frames and looking overall terrible (this is on top of all the other problems Atari Pac-man had).
At least a few NES games made extensive use of this. The bullets in Contra flicker for this reason I believe. I think 1990 Batman and Return of the Joker also did this for the full screen to provide an illusion of two mixing backgrounds.
- zeta0134 6y agoIt's worth calling out here that for games that maintain a steady 30 Hz flicker (very common on NES, and even carried over to SNES in a few titles) played on an original CRT, the effect really works quite well, in part due to the slow response time of the hardware, and also in part due to persistence of vision. On most real CRT monitors, a properly rendered 30 Hz flicker (ie, when the game isn't delaying frames due to lag) closely approximates a 50% alpha blend against the background. This was often confounded on NES due to the 8-sprites-per-scanline limit, so your memory of Super Dodgeball's "flickery nightmare" is accurate. A modern flat LCD panel has a much faster response time for the individual pixels, making the effect seem harsher even when the software works correctly. Complicating matters, many emulators of older game systems struggle to push out exactly 60 Hz (sometimes on purpose, to correctly simulate the original hardware's non-60 Hz timings) which can introduce additional artifacts and make the result look messy.
- bitwize 6y agoI'm not sure how you figure? Have you ever seen slo-mo of a CRT television set? The pixel would be lit by the beam instantly and fade back to black before the scan line is completed; the only reason we see a rectangular image on a CRT instead of a scanning dot is persistence of vision. Wikipedia[0] confirms that the response time for a CRT was 0.01ms on the top end and could be less than 1 µs; typical LCD panels have response times between 1-8ms. I could definitely perceive a 30-Hz flicker as such on an ordinary CRT television. You may be confusing that with the fact that thin 1-pixel lines of alternating colors tended to smear into blended colors on a CRT in games like Sonic the Hedgehog because the chroma channel of a composite signal was of lower resolution than the video hardware's output. [0] https://en.wikipedia.org/wiki/Comparison_of_CRT,_LCD,_Plasma,_and_OLED_displays https://en.wikipedia.org/wiki/Comparison_of_CRT,_LCD,_Plasma...
- ako 6y agoIt was used quite a bit, as far as I can remember, and there was no flickering: the switching is synchronized with the crt drawing the screen.
- nicetryguy 6y agoNo flickering is an overstatement, but yes, the signal is 256x240 lines and alternating frames draw on alternating vertical lines of the 480 "visible" scanlines of a CRT (+/- minus overscan). The "no flickering" has more to do with the mental illusion of persistence of vision and the quality of the glowing phosphor on the glass excited by the beam on a particular CRT.
- ako 6y agoYes, any crt has flickering, but that is not relevant nor related to this approach. This approach ensures a sprite is drawn in the multiple places of a display every time the crt updates the display.
- bitwize 6y agoSuper Mario Bros. 2 did this, "toggle-plexing" entire objects if enough of them appeared on one scanline to exceed the NES's 8-sprite-per-scanline limit. The game also slowed down considerably when this happened.
- guidedlight 6y agoPac-Man was terrible mess. Interestingly it was the best selling Atari 2600 game of all time. https://www.youtube.com/watch?v=HL2p2ANFlQ4 https://www.youtube.com/watch?v=HL2p2ANFlQ4
- mlyle 6y ago> What the article is speaking of is setting one sprite to two different positions on alternating frames to provide the illusion of two separate objects No.. it speaks of setting sprite 0 to a new position on the screen midway-through a field. So you can use sprite 0 for a plane at the top and scenery in the middle and for text at the bottom. > which will flicker. No flickering involved, except for the "afterburner" variant of this.
- egypturnash 6y agoIt starts out talking about multiplexing sprites by changing their position mid-screen, yes. Then it goes on to discuss also “toggle-plexing” sprites by using them for two different images and objects on the same raster line on alternating frames, with a diagrammatic example of a laser and an afterburner.
- mlyle 6y agoCommenter said: > > is setting one sprite to two different positions on alternating frames to provide the illusion of two separate objects, which will flicker. Which is not something described here. Two things are described: * Multiplexing sprites by changing their position mid-screen (no flicker). * Animating sprites by toggling between sprite variants on alternate frames (and -not- changing their position). (Flicker only to the extent -desired-). And I said: > No flickering involved, except for the "afterburner" variant of this.
- masswerk 6y agoIt was a common technique on the Atari VCS (2600), generally called interlacing. On the VCS it may be a bit more straight forward, as you have to write the entire kernel (the code for rendering a video frame) anyway, hence assigning alternating pointers for sprites in between frames doesn't result in much of an overhead or specialized code.