# Mattel Auto Race

Mattel Auto Race est un jeu électronique de poche sorti en 1977 et produit par Mattel. Il s'agit du premier produit d'une longue série de jeux Mattel Electronics. Auto Race est considéré comme le premier jeu électronique entièrement numérique, n'intégrant pas de composants mécaniques autres que l'interrupteur et les contrôleurs.

## Histoire

En 1976, lorsqu'Auto Race est commercialisé, Mattel est à l'avant-garde des jeux vidéo portables$^,$. Le jeu est parfois éclipsé par son successeur bien plus populaire, Mattel Football, sorti un an plus tard. Les graphismes du jeu sont rendus par des LED rouges et les effets sonores se limitent à des bips. Le jeu en lui-même tient sur 512 octets de mémoire.
Les ventes d'Auto Race dépassent les attentes du constructeur. À l'époque, Mattel est surtout connu pour ses gammes de jouets à succès comme les poupées Barbie et les voitures Hot Wheels. L'entreprise marque un certain scepticisme vis-à-vis des jeux électroniques, notamment à cause de leur prix considéré comme trop élevé (24,99 USD). Le succès d'Auto Race convainc finalement à poursuivre le développement de jeux électroniques. Par la suite, Mattel Football est mis à la vente et devient tellement populaire qu'il est souvent en rupture de stock. Pour pallier des problèmes d'approvisionnement, Mattel crée sa division Mattel Electronics en 1978.

## Développement

George J. Klose, un ingénieur en développement de produits travaillant chez Mattel, a l'idée de recycler les composants d'une calculatrice classique pour créer un jeu électronique. Les segments de l'écran alphanumérique serviraient à représenter des formes qui se « déplaceraient » sur l'écran. Il conçoit alors le système de jeu d'Auto Race, inspiré par les jeux de course automobile qui sont communs dans les salles d'arcade des années 1970. Klose doit d'abord démontrer à Mattel la faisabilité de son projet. Il construit pour ce faire un prototype muni d'un écran LED, capable d'afficher et de déplacer un point lumineux sans l'aide d'un microprocesseur. Puis il part à la recherche d'un fabricant de circuits imprimés qui pourrait lui fournir des cartes de dimensions adaptées à un boîtier compact. Klose et son manager Richard Cheng prennent contact avec la division microélectronique de Rockwell International, leader dans le domaine des puces de calculatrices, pour fournir Mattel et lui apporter une assistance technique$^,$.
Mark Lesser, un ingénieur en conception de circuits chez Rockwell International, saisit l'opportunité de programmer le logiciel d'Auto Race. Pour commencer, il revoit la conception d'une puce de calculatrice existante et lui ajoute un dispositif d'affichage à multiplexage et un pilote audio adapté à un haut-parleur piézo-céramique. Ensuite, il écrit un programme en assembleur, contraint par la capacité de 512 octets de la puce. N'embarquant pas d'électronique dédiée au traitement du son, l'appareil doit contrôler le haut-parleur depuis le programme en utilisant des boucles préintégrées.

## Système de jeu

Le jeu est une simulation de course automobile. Le véhicule du joueur est matérialisé par un point rouge (un tiret vertical) situé en bas de l'écran. Le joueur doit atteindre 4 fois le haut de l'écran pour gagner, mais alors qu'il remonte progressivement la piste, il doit esquiver les autres voitures. Un bouton localisé en dessous de l'écran lui permet de changer de voie. Si la voiture heurte un obstacle, elle est repoussée vers l'arrière jusqu'à ce qu'elle change de voie. Le but du jeu est de remplir l'objectif en moins de 99 secondes (maximum d'affichage du compteur à deux chiffres), puis le plus rapidement possible. La voiture du joueur offre 4 rapports de transmission, et l'augmentation de sa vitesse entraîne l'accélération des voitures adverses.
Le schéma ci-dessus reproduit l'écran du jeu. Le I représente le véhicule du joueur, et les i les voitures concurrentes. Les | représentent les lignes de délimitation de voie et les — représentent les bords de la surface de jeu. Le compteur affichant le temps restant est situé en haut de l'écran.