For the past couple of months, I’ve been building and refining a couple of “retro” games with my kids. They were all done from scratch with “barebone” 8-bit ATmega MCUs (plus some 74HC logic glue in one instance), and each game progresses through different types of displays (dot matrix, text-based, OLED graphics) and ramps up gameplay complexity.
I have a more detailed summary, including gameplay videos and source code for every variant, here:
For the past couple of months, I’ve been building and refining a couple of “retro” games with my kids. They were all done from scratch with “barebone” 8-bit ATmega MCUs (plus some 74HC logic glue in one instance), and each game progresses through different types of displays (dot matrix, text-based, OLED graphics) and ramps up gameplay complexity.
I have a more detailed summary, including gameplay videos and source code for every variant, here:
https://lcamtuf.substack.com/p/recreating-classic-games-with-a-bare
Plus, a bunch of gameplay videos:
* Snake v1 (ATmega328P, 8×8 dot matrix): https://vimeo.com/789339298/8a9e37172e
* Snake v2 (ATmega644, 16×16 dot matrix + 7-segment): https://vimeo.com/790917534/233b61425f
* Dino (ATmega1284, HD44780 text LCD): https://vimeo.com/789341424/e08cba49e4
* Blockbuster (ATmega1284, SSD1309 128×64 OLED): https://vimeo.com/789343121/f7e2637832
(Vimeo instead of YouTube to spare you ads)
Source code with circuit details:
* Snake v1: https://lcamtuf.coredump.cx/soft/snake.c
* Snake v2: https://lcamtuf.coredump.cx/soft/snake2.c
* Dino: https://lcamtuf.coredump.cx/soft/dino.c
* Blockbuster: https://lcamtuf.coredump.cx/soft/blockbuster.c