Project: Remaking Asteroids

Try an online port here:
https://freeasteroids.org/

One of the first arcade games, it came out in 1979.

I’m not a fan of the game, and I’m not nostalgic.
I just like it as an example because it’s simple, very easy to break down conceptually, it’s a good way to introduce many game programming patterns.

A Bit of History

Let’s go back in time. What’s the first videogame ever?

Right Answer #1

1962 Steve Russell & al. Bastard child of the military industrial complex. Based on a virtual planetarium. Rand on PDP-1 an early digital computer. Open source-ish collaborative creation (modding). Progenitor of Asteroids and all shooters.
Screen was a WWII radar – its roundness possibly affected the design of the game.

Reading
Fanatic Life and Symbolic Death Among the Computer Bums by Stewart Brand (Rolling Stone 1972)

The interface was a bunch of awkwardly positioned switches. So they had to invent the joystick. Its mapping still dictates much of the movements in game spaces.

Screen Shot 2017-10-12 at 9.43.27 AM

Right Answer #2

1958 William Higinbotham, Robert Dvorak. Analog computer, oscilloscope screen. Pacifist/scientific sibling of Spacewar. Progenitor of pong and all sports games.
Control system based on knobs which spawn a the commercial pong style controllers years later, now out of fashion (but somewhat closer to the analog stick than switches).

In 1977 a million of pong clones flooded the market crashing the young industry
In 1977 a million of pong clones flooded the market crashing the nascent industry

Control interfaces mostly stabilized until the advent of mouse and GUI in the early 90s (fostering less action oriented genres like RTS, puzzles, point and click adventures, and externalizing the look and aim to the mouse).

Game genres developed incrementally mainly by reimagining the relationship between the standard cartesian control system and player/avatar.

SpaceWar was cloned and turned into a coin operated machine. Not super successful but enough for the creators to launch Atari (which then will publish Asteroids).

The game ran on a vector system developed for Lunar Lander (1979)
The vector hardware was chosen because the high image quality would permit precise aiming.

Upon release Asteroids displaced Space Invaders as the most popular coin op game

Problem decomposition

Let’s reverse engineer Asteroids and break it in smaller problems.

– What are the “things” and the “verbs” in the game

– If you are familiar with Object Oriented Programming, what could be the classes/objects involved?

– Let’s try to re-create the ship controls using Unity’s built-in Input and physics.