A* History of Computer Games


* hugely biased and selective.

Babbage


Do you know about Charles Babbage?





...and Lovelace












Refs:


More stuff at Sydney's site

I particularly like " The Origin"

And now you can BUY THE BOOK!

Which is great!

(except for the errors in the binary arithmetic on p230)

Philomena Cunk Investigates



Games?


Babbage's Engines didn't run games.

Indeed, within his lifetime, they didn't even run.

But it's striking that Ada saw the possibilities so early...

If you are interested in the, rather technical, details:
Sketch of the Analytical Engine
(with notes by Ada)

And here's some background on how it was written.

Notes For The Tutorial


(This column of slides contains material
that we can talk about in the tutorial sessions,
but will probably skip over during the lectures...)

The First Programmer?


"I want to put in something about Bernoulli's Numbers
in one of my Notes, as an example of how an implicit
function may be worked out by the engine,
without having been worked out by
human head & hands first.

Give me the necessary data and formulae."

-- Lovelace to Babbage (1843)

No Pushover


"By the way, I hope you do not take upon yourself
to alter any of my corrections. I must beg you not.
They all have some very sufficient reason.

And you have made a pretty mess and confusion in
one or two places (which I will show you sometime)
where you have ventured on my M.S.’s to insert or alter
a phrase or word and have utterly muddled the sense"

-- Lovelace to Babbage (1843)

A Grave Mistake!


"I then suggested that she add some notes to Menabrea's memoir, an idea which was immediately adopted. We discussed together the various illustrations that might be introduced: I suggested several, but the selection was entirely her own. So also was the algebraic working out of the different problems, except, indeed, that relating to the numbers of Bernoulli, which I had offered to do to save Lady Lovelace the trouble. This she sent back to me for an amendment, having detected a grave mistake which I had made in the process."

Babbage's memoirs (publ. 1864)

The Bernoulli Program


Mistakes Were Made!


Ada: The First Bug-Writer?


A Video! (for the Tutorial)



Jumping forward 100 years...


World War II saw the development of the first wave of
digital electronic computers. Notable examples include:

  • Konrad Zuse's Z3 (1941) [relays; no "if"!]
  • Atanasoff-Berry Computer "ABC" (1942)
  • Colossus (1944) ["hardwired" programs]
  • Harvard Mark I (1944) [relays; no "if"!]
  • ENIAC (1946) ["hardwired" programs]
  • Manchester "Baby" (1948) [stored prog]


Ref: Wikipedia Article

The Manchester Baby


As reported by The BBC


...who showed the Manchester Machine
performing an exciting prime-number test in 1949.

The misuse of computers for trivial purposes...


The world's first commercially available general-purpose electronic computer, derived from the "Manchester Baby",
was the Ferranti Mark 1 (1951)

And it ran games!

Dietrich Prinz wrote a (very limited) version of Chess for it, and Christopher Strachey wrote a version of Checkers,
both in 1951 or 1952.

Real-Time Multiplayer!


In 1958 a physicist named William Higinbotham, who
had previously worked at Los Alamos on the triggering electronics of the first nuclear bomb, was working at Brookhaven Lab with a Donner Model 30 analogue
computer that was used to compute ballistics trajectories.

He was trying to come up with something "fun" for
the general public to see on Visitor's Day...

Tennis For Two


He connected the computer to an oscilloscope, and made this:

Tennis For Two Background

(via an article by Brookhaven's Peter Takacs)


Another summary, including quotes from "Willy" himself.

Regrets?


Higinbotham is said to have expressed regret that he would more likely be famous for his invention of a game
than for his work on nuclear non-proliferation.

When, after his death, requests for information on his game increased, his son William B. Higinbotham wrote, 

"It is imperative that you include information on his
nuclear nonproliferation work.

That was what he wanted to be remembered for."  

Spacewar!

In 1961, Steve Russell and others created a gravity and
thrust based spaceship combat game on the PDP-1...
It ran in 9KB (article). You can play the emulator here.

Specialised "Video Games"

In 1968, an inventor and TV engineer called Ralph Baer,
who'd been toying with the idea of making "TV Games",
built an experimental device called "The Brown Box":

The Magnavox Odyssey (1972)

The Brown Box was a piece of custom electronics, and is not an actual computer, but it was the first system for "video games". It was commercialised as the "Odyssey", complete with hilarious transparent TV screen overlays:

R.I.P. Ralph

(One of) "The Father(s) of Video Games"

March 8, 1922 – December 6, 2014

Arcade Coin-Ops


Spacewar and the Odyssey both inspired an electrical engineer called Nolan Bushnell to set-up a company in 1972 which would make its own "video games".

He called it "Atari".

They produced a game called "PONG"

...which certainly wasn't a rip-off of anything!

Breakout (1976)


In need of a variation on the PONG theme, Bushnell thought it would be cool to flip it on its side and replace one of the paddles with a destructible "brick wall".

He hired an eager young employee by the name of Steve Jobs to design and build the electronics (once again, a custom job, not a general computer). If you know about Jobs, you'll be able to guess what he did next...

...he got his pal Steve Wozniak to do all the work, while Jobs took all the credit (and most of the money).

CPU-based Coin-Ops


Early arcade machines were still
"hard-wired" using custom TTL circuitry.

However, once companies like Intel started making
single-chip CPU "microprocessors", the games
started to take advantage of those instead...

Space Invaders (1978)


A one-man effort by Tomohiro Nishikado, who designed the game, made the art, and the sounds, wrote the code, and apparently customised the electronics used to implement it.

It was built around a standard "board" from Midway,
using an Intel 8080 core, running at approx 2MHz.


Asteroids (1979)

Created for Atari, using a MOS 6502 CPU and Atari's
own specialised DVG ("Digital Vector Generator")
chip to handle the novel vector graphics.

Pac-Man (1980)


A Zilog Z80 CPU @ ~3MHz
16 KB ROM
2KB Main RAM +  2KB VRAM
224 x 288 pixels (on a 28 x 36 grid)
with 16x16 pixel sprite overlays
16 total colours with 8-bit depth (R3G3B2)
4 colours per object, with table lookup 

Pac-man colour info here

For Too Much Information about Pac-Man, go here.

Computerised Home Consoles


In parallel with the development of CPU-based arcades came the creation of the early CPU-based home machines.

The second* (and most influential) of these was essentially a programmable generalisation of the fixed-function home PONG machines which had come out in the mid 70s.

It was the Atari VCS, later renamed as the Atari 2600.

(*The first such machine was actually the lesser-known Fairchild Channel F).

The Atari 2600 (1976)


8-bit MOS 6507 @ 1.19MHz
2KB ROM
40 x 192 pixel background
(160 horizontal pixels for the sprite layer)

128 BYTES of RAM
(that is less than a single tweet!)

Programmers' Guide to the 2600 aka "Stella"
Your homework for this week is simply to re-read these slides... and follow the links.

Demo!