History of Technology in Games Themes the Early Days Hardware
Total Page:16
File Type:pdf, Size:1020Kb
Themes History of Technology in Games ! Technology’s impact on game design The Beginnings ! Hardware vs. Software (cyclic) CMPUT 250 ! Specialization vs. Generalization (cyclic) Fall 2007 ! State vs. Dynamics (cyclic) Tuesday, October 2 ! One Person vs. Teams (progression) CMPUT 250 - Fall 2007 Lecture #8: History 1 The Early Days Hardware vs. Software ! The very earliest video games (pre-1975) ! Early switch to microprocessors were custom built machines ! General-purpose hardware that runs software ! Designed/built by engineers (like a TV) ! No need to engineer every game from scratch Tennis for Two (Brookhaven Labs,1958) Gunfight (Taito, 1975) CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Pong (Atari, 1972) Lecture #8: History 1 Software-Based Games Development of Early Games ! Once microprocessors were used for games, ! Programs written by one individual programmers took control ! Graphics, sound, controls, rules, AI… ! The advent of personal computers (~1976) …all by one person opened up the field to “amateurs” CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Development of Early Games An Early Graphics Innovation ! Games were simple Breakout (Atari, 1976) ! The machines were simple ! Very limited storage and speed ! No “pictures” or recorded music ! Focus on moving small things around on the screen ! Only so much one could do ! More people would be a waste of effort Boot Hill (Midway, 1977) CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Game Technology State vs. Dynamics ! Fundamental distinction in computing Input Processing Output ! State: All information that describes the game at a given moment ! Dynamics: The way one state turns into another CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 State Dynamics ! Game entities: positions (and velocities) ! Agents moving due to player controls ! Map: walls, platforms, powerups ! Agents moving due to artificial intelligence ! Resources: health, magic points, money, fuel ! Agents moving due to “physics” ! Points: score, tokens collected, goals achieved ! Agents not moving due to “collisions” ! Inventories: weapons, magic items, gadgets, food ! Updating view of the world ! Switches: doors locked or opened, levers pulled ! Health changes from damage/healing ! Personalization: character names, stats ! Special powers/actions executed ! Much, much more… ! Everything that changes from one state to another CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Memory and Processors Processor Speed ! Two main parts of a computer: ! Processors are rated by how quickly they can perform calculations on things in memory ! Memory stores state ! A program is a set of instructions that tells the processor ! Processors change memory (dynamics) what to do with what’s in memory ! The main processor in a computer is called ! Programmers write these instructions the central processing unit (CPU). ! Late 70’s: 1.19Mhz (Atari 2600) ! “1+ million instructions per second” ! Today: 3.2Ghz (Xbox 360) CPU Memory ! “3+ billion instructions per second” CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Memory Size Storage Types ! Memories have a size ! Storage can be fast or slow ! In the 70’s, measured in kB (kilobytes) ! Video memory for showing graphics and doing ! In the late 80’s and 90’s, measured in MB (megabytes) calculations is fast (it can be accessed quickly) (1 MB = 1000 kB) ! Hard drives and DVDs are much slower but ! Late 90’s to present day, measure in GB (gigabytes) hold much more (1 GB = 1000 MB) ! Storage can be read-only or read-write ! Early games had as low as 4 kB ! Read-only memory (like a game’s DVD) ! Games today will cheerfully use several GB cannot be changed ! A factor of one million (1 DVD holds over 4 GB) ! Read/write memory can be changed CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Storage Types Storage for Games ! More Distinctions ! RAM chips: volatile, read-write ! Volatile: erased when power turned off ! Microchips for running game ! Non-volatile: retains information unpowered ! Part of game machine ! Moving parts: can reduce reliability ! ROM chips: non-volatile, read-only ! Expensive per amount of memory ! Microchips: store game programming CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Storage for Games Storage for Games ! Cartridges ! Cassette (magnetic tape): non-volatile, read-write ! ROM chips in a plastic case ! Moving parts, not very durable ! Durable, portable, and purchasable ! Early personal computers ! Cartridges with save memory ! Sequential access (must rewind/fast forward to reach ! ROM chips + non-volatile, read/write memory chips different information) ! Allows storage of saved games/high scores ! Floppy disk: non-volatile, read-write ! Memory cards ! Moving parts, not very durable ! Cartridges with non-volatile, read/write memory chips ! Early personal computers ! Used to save games when cartridges went out of style ! “Random” access (can quickly access any piece of information) CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Storage for Games Storage for Games ! Hard disk: non-volatile, read-write ! Magnetic stripe cards: non-volatile, read-write ! Moving parts, expensive ! Arcade for saving stats/games (Initial D, F-Zero AX, Tekken 5) ! Later personal computers and XBox ! Very limited storage ! Much larger storage and faster access than floppy ! Very cheap ! Laser disc: non-volatile, read-only ! CD-ROM: non-volatile, read-only ! Moving parts, tons of storage ! Moving parts, lots of storage ! Able to store full screen video ! Cheap to mass produce ! Expensive (videophile technology) ! Arcade (Killer Instinct) and later personal computers ! Arcade (Dragon’s Lair, Mach 3, Space Ace) ! Consoles (3DO, Saturn, Playstation) CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Storage for Games Game Technology ! DVD-ROM: non-volatile, read-only ! Moving parts, tons of storage Input Processing Output ! Cheap to mass produce ! Personal computers ! Consoles (XBox, Playstation2, Gamecube) ! Coming up: DVD-HD and BluRay (PS3) ! Even bigger DVD CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Cathode Ray Tubes (CRT) Diagram of CRT ! Braun (1897): CRT oscilloscope ! Zworykin (1929): kinescope (early TV) ! Du Mont (1931): first commercial TV tube CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Diagram courtesy of Wikipedia Lecture #8: History 1 Lecture #8: History 1 CRT in Action CRT in Action Video courtesy of the University of Illinois, Dept. of Chemistry CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Diagram courtesy of Williamson Labs Games with Vector Graphics Vector Graphics (gone after 1985) ! Use CRT’s beam like a pen ! Asteroids (Atari, 1979) ! Turn beam on and off to draw lines ! Lunar Lander (Atari, 1979) ! Use magnets to guide it ! Battlezone (Atari, 1980) ! How many lines you can draw depends on ! Red Baron (Atari, 1980) ! how fast you can move the beam around ! Tempest (Atari, 1980) ! how long the image is on the fluorescent screen ! Space Fury (Sega, 1981) ! Draw all lines for one frame… repeat ! Star Wars (Atari, 1983) CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Cool Things About Vector Issues with Vector Graphics Graphics ! Time to draw depends on the complexity of ! Wireframe (3D!) the frame ! Smooth lines (even diagonals) ! Beam moves in arbitrary pattern ! It’s all green and glowy and stuff… ! Different patterns possible for same picture ! What’s the best (fastest) pattern? ! Programming directly controls the beam CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Raster Graphics Raster (aka Bitmap) Images ! Basis of TV and almost all graphics today ! Treat screen like a “grid” ! Move beam in a fixed pattern lighting up the screen in little dots ! These dots are called pixels 0 0 0 0 ! Change beam intensity to make pixels 0 1 1 0 brighter or darker 0 1 1 0 CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 0 1 1 0 Lecture #8: History 1 Lecture #8: History 1 Rendering the Screen CRT Screen Refresh 0 0 0 0 Video Hardware 0 0 0 0 0 1 1 0 Screen Image 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 Image Buffer 0 1 1 0 Game Software CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Grayscale Colour Pixels Additive Colour 0 0 0 0 0 100100 0 0 50 50 0 0 10 10 0 CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 Diagram of Colour CRT RGB Images 0 0 0 0 0 0 0 0 0 0 0 0 0 100100 0 0 100100 0 0 100100 0 0 50 50 0 0 50 50 0 0 50 50 0 0 10 10 0 0 10 10 0 0 10 10 0 CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 RGB Images How Many Pixels? ! If we make pixels smaller, we can fit more! 0 0 0 0 0 0 0 0 0 0 0 0 ! Fineness of grid called resolution (width x height) 0 100 0 0 0 100100 0 0 100100 0 ! Typical television resolution 0 50 0 0 0 50 50 0 0 50 50 0 ! grid of 648 x 486 (~300,000 pixels) 0 10 0 0 0 10 10 0 0 10 10 0 ! Computer screens, HDTV ! 1024 x 768 (~780,000 pixels) ! 1280 x 1024 (~1.3 million pixels) ! 1600 x 1200 (~1.9 million pixels) ! Old games ! Space Invaders 224 x 240 (53,760 pixels) CMPUT 250 - Fall 2007 CMPUT 250 - Fall 2007 Lecture #8: History 1 Lecture #8: History 1 How Many Colours? Colour Depth ! Suppose we’re using grayscale.