Skip to content

JeremyLoh/Breakout

Repository files navigation

Breakout

Breakout is an arcade game developed and published by Atari, Inc., and released on May 13, 1976. It was conceptualized by Nolan Bushnell and Steve Bristow, influenced by the seminal 1972 Atari arcade game Pong, and built by Steve Wozniak.

Local game files for the game's highscore are kept in the folders shown in https://love2d.org/wiki/love.filesystem

For example, in Windows, the files are created in %appdata%\breakout\ after the game is first launched.

To open the AppData folder on Windows 10:

Open File Explorer/Windows Explorer.
Type %AppData% into the address bar and hit enter.

Downloading the Game

You can download the latest release of the game by following the instructions posted at https://github.com/JeremyLoh/Breakout/releases

Game Screenshots

main menu screenshot paddle select screen player serve ball state brick collision game over screen enter highscore details screen highscores list

Learning points

  1. Sprite Sheets

    Sprite sheets already exist since the first days of computer games. The idea is to create one big image that contains all animations of a character instead of dealing with many single files.

    https://www.codeandweb.com/texturepacker/tutorials/how-to-create-a-sprite-sheet

  2. Procedural Layouts

  3. Managing State

  4. Levels

  5. Player Health

  6. Particle Systems

  7. Collision Detection Revisited

  8. Persistent Save Data

Breakout State Flow

Credit for music:

Credit for graphics:

Some of the graphics, hearts.png, background.png, arrows.png were made in Aseprite: https://www.aseprite.org/

The remaining graphics were obtained from:

Libraries used (in lib)

  1. class.lua - Matthias Richter (vrld)

    https://github.com/vrld/hump/blob/master/class.lua

  2. push.lua - Ulysse Ramage (Ulydev)

    A simple resolution-handling library for LÖVE

    push is a simple resolution-handling library that allows you to focus on making your game with a fixed resolution.

    https://github.com/Ulydev/push

About

Made using Lua and Love2D.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages