/Atari-Breakout76

Simple Breakout clone approximating the original look and feel of Atari's 1976 arcade Breakout game.

Primary LanguageAssemblyGNU Lesser General Public License v3.0LGPL-3.0

Atari-Breakout76

Currently Work In Progress..


Build with eclipse/WUDSN and MADS assembler.

The assembly code for the Atari depends on my MADS include library here: https://github.com/kenjennings/Atari-Mads-Includes.

The MADS 6502 assembler is here: http://http://mads.atari8.info

WUDSN can be found here: https://www.wudsn.com/index.php


This is a simple Breakout clone for Atari 8-bit computers approximating the look and feel of the original arcade Breakout released by Atari in 1976 (without the bugs).

The overarching goal here is to maintain visual presentation and play action as similar as possible to the original arcade game as well as can be done by the Atari computer's capabilities. Therefore, certain clever features of the Atari may not be the preferred choice if the result does not conform to the original game presentation. This version uses only the Atari computer features necessary to mimic the correct look and behavior with as few extraneous bells and whistles as possible.

Or, you could just get an emulator to play the original game.


The real purpose of this is to create a modular framework for working on game projects that I can understand and sustain. (Your Mileage May Vary.)

I had been in the middle of Breakout-GECE, and the debugging effort in that game required copying and pasting code from different places together into one workable test program. This makes the test program very monolithic and complicated to keep everything organized. This was workable when I had time to focus on the program every day, but recent demands on my personal time have reduced the development thinking opportunities -- sometimes to only an hour in a week which is not enough time to re-wrap my brain cells around the game details. Several times I had started working on the project to make exactly zero headway after an hour, or to stupidly make a mess that had to be reworked later setting back progress.

Therefore, the idea here is to force a more stringent modularization of the code and data, keeping visual components entirely separate, so when I need to look at a part of the game, I will know exactly which files and locations to find everything without having to remember what I am looking at. Breakout 76 is the first victim to test this thinking strategy.

The display should be fairly simple to maintain a reasonable immitation of the original arcade Breakout video game. The scope of Atari's bells and whistles will be focused on implementing visuals, sound, and behavior as similar as possible to the original game rather than on unnecessary embellishments.


Section 00: Introduction

Section 01: Display Asset Estimation

Section 02: Audio

Section 03: Gameplay

Section 04: Choosing Atari Parts

Section 04-1: Title Screen Atari Parts

Section 04-2: Game Screen Atari Parts

Section 05: Atari Test Screen

Section 06: Game Screen

Section 07: Title Screen

Section 08: Organizing Memory