Screen Scrolling in Computer Games


Screen-scrolling in Computer Games



In computer games screen-scrolling refers to the horizontal, vertical or multi-directional movement of the screen in response to player input or automated code. More specifically, screen-scrolling is a 2D coding routine that rapidly updates the on-screen graphics of a discrete viewport in order to represent a much larger, graphically-contiguous, pre-constructed or randomly-generated map.

A viewport resolution might be 512x384px, but the map-size might be 10 times that (e.g.,: Baldur's Gate). Therefore:

The viewport must incrementally update (its graphics) in order to display the map as the player scrolls the screen.

Usually, players scroll screens via directional inputs (mouse, keyboard, joystick), with a controlled avatar-sprite as reference indicator.

In classic shoot 'em ups screens almost always auto-scroll. And in some shoot 'em ups the rate at which a screen scrolls is governed by player input ("pushing the screen fowards or sideways"). Reversing is sometimes also possible.

A discrete viewport is known as the playfield, playing field or field of play, but it is technically (and usually) an assemblage of tiles that make up a large, contiguous bitmap that was drawn, prerendered or envisioned beforehand. cf. Tile-rigged area design.

One 320x240px screen would not even cover a quadrant of this (reconstructed) battlescape. Thus, the screen must scroll.


And boy, did the King-coders at Westwood make Command & Conquer scroll! Blizzard proved to be King-coders as well via WarCraft 2:

Smooth scrolling makes all the difference to gameplay: the ability to seamlessly sweep the viewport over forests, deserts and seas is impressive when we consider the size of the maps and the amount of buildings on and sprites moving over them, replete with fiery AoEs and other spell effects.

Screen-scrolling can be fast or slow, jerky or smooth and avatar-anchored or -unanchored. Arcade-action computer games tend to be anchored; strategy and tactics unanchored.
Slow scrolling is not bad as long as it is smooth. It depends on the gameplay; how much inputting is demanded from players. A slow-scroller could feature finer control and deeper tactics, for example.

Jerky, choppy, motion-blurred or flickering scrolling is undesirable in computer games. In addition, scrolling screens in tile-based (map-square) increments is also undesirable due to the ease with which one can lose their bearings (e.g., 10px jumps across 320px viewports).

Ideally, the screen scrolls (updates) on a per pixel basis at 50-60 FPS by tapping into custom chipsets / VGA display mode. In the early 90s smooth scrolling was achieved in MS-DOS games via non-standard VGA coding routines such as Mode X.

And the Amiga was famous for its ultra-smooth, super-fast hardware scrolling dating back to 1987.

In the early-90s only hard-working and inquiring graphics coders could tap VGA to achieve smooth scrolling. Everyone else tossed smooth scrolling into the Too-Hard Basket. And by everyone else, I mean 90% of "graphics coders".
 
Smoothly-scrolling MS-DOS games were almost wholly confined to arcade-action games, yet it did not have to be that way.


id Software were not just trail-blazers of 2.5D and 3D rendering engines via Doom and Quake): in Commander Keen id Software trail-blazed smooth scrolling on MS-DOS / IBM PC as well.

That is why 1990s Computer Game History proclaims id Software to be the greatest computer-game developers of all-time. Well-designed computer games are not worth a damn if they run like my Aunt May after she's had too much sherry to drink.

As it pertains to coding graphics for computer games, id Software set several 2D, 2.5D and 3D standards within half a decade. And practically everyone else played the catch-up game.
 
Only turn-based computer games can get away with jerky screen-scrolling of the playing field. RTS and real-time tactics computer games such as BattleTech Revenge cannot. Indeed, no real-time 2D computer game should have jerky screen-scrolling.

In 1996 Diablo suffered from non-smooth screen-scrolling while chugging along at a pathetic 25 FPS, yet barely anyone gave a damn or even noticed. You can read about that in Diablo's Place in 1990s Computer Game History.

For those with eyes that can see and brains that can register, screen-scrolling makes or breaks computer games. Smooth scrolling is always preferred regardless of genre, but keep telling yourself otherwise if it helps you sleep at night.

Parallax Scrolling



Parallax scrolling is muti-layered scrolling whereby the foreground layers scroll more quickly than background ones, thereby granting depth-illusion. Shadow of the Beast on the Amiga featured 13 levels of parallax scrolling while sustaining 50 frames per second -- in 1989. On top of that, it employed a VGA-like color range (128 on-screen colors) and massive sprites of up to 220x150px.


If the screen does not scroll but simply updates to a new screen when its edges are reached, that is called a flip-screen computer game, not a scroller.

Smooth-scrolling VGA Games on MS-DOS


Smooth scrolling existed pre-SVGA. To veteran-gamers that is blatantly obvious, but to most retro-"gamers" that would be a revelation. Indeed, VGA had the capacity for arcade-quality palettes, parallax scrolling and sprites. 1991 example:


Raptor and Tyrian featured high sprite-counts and smooth, parallax scrolling in 1994-95. But in 1994-95, that was not impressive (the Commodore 64 was doing parallax in 1986).


3D Computer Games Don't Scroll


Screen-scrolling is strictly a 2D thing; there is no such thing as "3D scrolling" or "cam scrolling". Instead, 3D computer-game commentary should employ cinematic and 3D terms such as rendering, rotation, trucking, zooming, panning and tilting. If geometry is being rendered on the fly the screen is not scrolling by definition. Not even if the cam is fixed at top-down, side elevation or isometricesque vantagepoints.

3D computer games don't scroll: they render points, lines, polygons and objects in 3D space. Scrolling, on the other hand, employs 2D graphics images. If a computer game simulates 3D objects and space with 2D graphics (sprites and tiles), it is scaling or "super-scaling" (though scalers often feature scrolling as well).

In the late-80s and early-90s screen-scrolling routines were barely acknowledged let alone critiqued by MS-DOS and Windows computer game journalism: choppy screen-scrolling was deemed acceptable by those who were accustomed to staring at ASCII text in spreadsheets, databases and word processors running on office computers with monochrome monitors.

Even some "elite" MS-DOS / Windows computer game journalism of the 80s and 90s barely ever mentioned scrolling routines. Only in multi-format magazines and microcomputer magazines was screen-scrolling sometimes scrutinized by journalists and arcade-game champions. In fact, I only remember these "elite" PC magazines mentioning 3D scrolling in reference to flight sims and the like, but there is no such thing as 3D scrolling. Instead of writing "3D scrolling" they should have just written "framerate" or "real-time rendering" (of wireframe or flat-shaded geometry).

I could cite hundreds of examples of PC-game journalism referring to real-time 3D rendering as screen-scrolling over a two-decade period, but I don't feel the need to prove this point via citations. And besides, I am a commentator not a cataloger or compiler of the errors of others.

But can I just add that most PC-game journalists didn't know about framerates or polygons either; they almost never spoke of geometric complexity or draw distance even in vague terms; they really had no idea about the graphics engines of computer games; they had no eye for such; no language for such; they should have been reviewing desktop publishing programs.

MechWarrior 1 doesn't scroll because it's a 3D computer game:


This tank-sim don't scroll because it's a 3D computer game:


Frontier Elite 2 does not "scroll" because it's a 3D computer game. The terrain below the spaceship is not an assemblage of tiles or a bitmap, it is geometry updating in 3D space. Font aside, everything you see in this image is flat-shaded or texture-mapped geometry that is rendered in real-time 3D. There is no screen-scrolling whatsoever going on.


In Conclusion


Imagine that your 20-year career involved writing about computer games and yet all the while you were clueless on the basics of computer-graphics coding and technology.
 
As an Arcadian and Amigan it always astonished me that the vast majority of PC gamers and commentators tolerated non-smooth scrolling of playing fields for three decades and counting: as it pertains to 2D computer-game performance the vast majority of PC gamers and commentators have traditionally had low or no expectations; certainly, not on par with Arcadians, Amigans or even console gamers.

Thus, PC-game developers that employed smooth screen-scrolling and sprite-shifting in their computer games stand as Heroes in my book. Especially the ones that did so in the 80s and 90s, pre-DirectX.

You were not getting the polygon-pusher, Falcon 3.0, on the Sega Genesis in 1991; nor were you getting the super-scroller, Sonic the Hedgehog, on MS-DOS in 1991.
But the difference is: Non-standard VGA coding routines of the early-90s were technically capable of replicating Sonic 1:1, but the Genesis did not have a hope in hell of running Falcon 3.0 at anything above ¼ frame per second on its 7 MHz 68k.

cf.


No comments:

Post a Comment

Note: only a member of this blog may post a comment.