A 1D Pong game implemented with an Arduino and NeoPixels.
MotivationFun
- 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
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 / IdeasMK 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).




_ztBMuBhMHo.jpg?auto=compress%2Cformat&w=48&h=48&fit=fill&bg=ffffff)




Comments