TITLE: Reminiscing about Making My First Computer
AUTHOR: Eugene Wallingford
DATE: April 20, 2013 10:25 AM
DESC:
-----
BODY:
A friend put a copy of GameInformer magazine in my box
yesterday with a pointer to an interview with the Great and
Powerful Woz, Steve Wozniak. It's a short interview, only two
pages, but it reminded me just how many cool things Wozniak
(and so many others) did in the mid-1970s. It also reminded me
of my younger days, coming into contact with the idea of games
and machine learning for the first time.
Woz described how, after seeing Pong in a video arcade, he went
home and built his own Pong game out of twenty-eight $1 chips.
Steve Jobs took the game to Atari, where he encountered Nolan
Bushnell, who had an idea for a single-player version of Pong.
Thus did Woz design Breakout, a game with an especially apt
name. It helped define Apple Computer.
The thought of building a computer game out of chips still
amazes me. I was never a hardware guy growing up. I never had
access to computer chips or that culture, and I had little
inclination to fiddle with electronics, save for a few attempts
to take apart radios and put them back together. When I designed
things as a kid, they were houses or office buildings. I was
going to be an architect. But Woz's story reminded me of one
experience that foreshadowed my career as a computer scientist.
One year in school, I won a math contest. First prize was a
copy of The Unexpected Hanging and Other Mathematical
Diversions, a collection of Martin Gardner's columns from
Scientific American. Chapter 8 was called "A Matchbox
Game-Learning Machine". It described
Hexapawn,
a game played on a 3x3 board with chess pawns. The game was no
more complex than Tic Tac Toe, but it was new. And I loved board
games.
Gardner's article had more in store for me, though, than simply
another game to study. He described how to create a "computer"
-- a system of matchboxes -- that learns how to play the game!
Here's how:
You make one box for each possible board position. In the box,
you put different colored marbles corresponding to the moves
that can be played in the position. Then you play a bunch of
games against the matchbox computer. When it is the computer's
turn to move, you pick up the box for that board position, shake
it, and see which marble lands in the lower-right corner of the
box. That's the computer's move.
When the game is over, the computer gets feedback. If it won
the game, then put all the marbles back in their boxes. If it
lost, punish it by keeping the marble responsible for its last
move; put all the rest back in their boxes. Gardner claimed
that by following this strategy, the matchbox computer would
learn to play a perfect game in something under fifty moves.
This can't possibly work, can it? So I built it. And it did
learn. I was happy, and amazed.
I remember experimenting a bit. Maybe a move wasn't always a
loser? So I seeded the computer with more than one marble for
each candidate move, so that the computer could overcome bad
luck. Hexapawn is so simple that this wasn't necessary --
losing moves are losing moves -- but the computer still
learned to play a perfect game, just a bit slower than before.
This is one of the earliest experiences I remember that started
me down the road of studying artificial intelligence. Reading
copious amounts of science fiction pushed me in that direction,
too, but this was different. I had made something, and
it learned. I was hooked.
So, I wasn't a hardware kid, but I had a hardware experience.
It just wasn't digital hardware. But my inclination was always
more toward ideas than gadgets. My interests quickly turned to
writing programs, which made it so much easier to tinker with
variations and to try brand-new ideas.
(Not so quickly, though, that I turned away from my dream of
being an architect. The time I spent in college studying
architecture turned out to be valuable in many ways.)
Wozniak was a hardware guy, but he quickly saw the potential
of software. "Games were not yet software, and [the rise of
the microprocessor] triggered in my mind: microprocessors can
actually program games." He called the BASIC interpreter he
wrote "Game BASIC". Ever the engineer, he designed the Apple
II with integrated hardware and software so that programmers
could write cool games.
I don't have a lot in common with Steve Wozniak, but one thing
we share is the fun we have playing games. And, in very
different ways, we once made computers that changed our lives.
~~~~
The GameInformer interview is on-line for subscribers
only, but there is a cool video of
Wozniak playing Tetris
-- and talking about George H.W. Bush and Mikhail Gorbachev!
-----