Project showcase
ElBanquos 1D Pong

ElBanquos 1D Pong © GPL3+

A small 1-dimensional Pong game, with some challenging extentions. Implemented to develop a maintainable software architecture.

  • 636 views
  • 2 comments
  • 3 respects

Components and supplies

A000066 iso both
Arduino UNO & Genuino UNO
×1
RingLight/WS2812B-12x
×1
Buttons, Resistors,Jumperwires
×1
Speaker (generic) 8Ohm
×1

About this project

A 1D Pong game implemented with an Arduino and NeoPixels.

Motivation

Fun

  • I have seen multiple implementations of 1D pong and wanted to collect the best ideas into one game.
  • Special gimmicks (Power Pills, Labyrinths, Barriers or life)

Software Engineering

Break down the logic of the core into useful pieces:

  • Keep things readable (reduce the amount of “if” statement hierarchies)
  • Reduce the possibility of uncontrollable “interference”
  • Get a robust process for extending functionality
  • Implement decoupled processes for game logic and game presentation

In my other Arduino projects, I already started to split up the code into core function - input management - output management. I wanted to use this project to give that approach a harder push. The main goals are:

  • See if decoupling is really helping in a more complex application
  • Establish some standard patterns

About the Difficulty

The challance of this project is not the hardware part, but the software. If you just build it up an install the sketch, there is nothing really challenging. If you want to modify this, take your time to study the implementation pattern. After understanding the concept, it is easy to extend (I hope). I am still writing on the descritpion of the architecture.

Roadmap / Ideas

MK 1 - The Tiny Prototype

Initial implementation using a 12-pixel ring. The main effort was to implement a module architecture that can be extended and modified easy with new features. The main challenge was to implement smooth movement with 16-bit integer arithmetic.

MK2 - Scaling Up

Extending the game to a longer pixel strip (depending on the money it will cost). This will give more options for some crazy variations (moving bonus spots, labyriths, magnets, stacking of bonus elements, movement variations).

Code

Schematics

Comments

Similar projects you might like

RING PONG

Project showcase by aerodynamics

  • 5,384 views
  • 2 comments
  • 12 respects

Serial Pong

Project showcase by Cody Brooks

  • 3,173 views
  • 2 comments
  • 12 respects

4D Ping Pong

Project showcase by 4D Makers

  • 2,280 views
  • 0 comments
  • 7 respects

ElBanquos Christmas Light

Project showcase by ElBanquo

  • 953 views
  • 0 comments
  • 5 respects

Arduino Ping Pong Pinball

Project tutorial by joesinstructables

  • 4,495 views
  • 3 comments
  • 10 respects

ARDUINO PONG

Project tutorial by raul

  • 1,719 views
  • 1 comment
  • 8 respects
Add projectSign up / Login