40+ Games on a Mini STEM LED Game Platform
Introduction: 40+ Games on a Mini STEM LED Game Platform
I developed 40+ games, challenges and miscellaneous activities for the “mini STEM platform”, as an aid in advancing STEM education (which was introduced here: https://www.instructables.com/Mini-STEM-LED-Game-Platform/ ).
Beyond the sheer challenge and enjoyment of playing these games and applets, the intended purpose is mainly for the coding of these to be used for inspiration and as a basis for instruction of makers, student scientists and programmers.
These games provide a wealth of coding techniques, problem solving, mathematics and algorithms utilized in games and activities which young programmers may find more interesting than pure code examples. Yet most of these are fairly simple, limited and stand alone, while quickly, once realized, providing interactive fun, along with feedback and validation of students’ efforts.
The source code has plenty of comments containing descriptions of what the code is doing as well as alternate example coding fragments.
Note: I adapted and improved, but did not originate the Arduino implementation of "Simon Says". You can find that else where in Instructables. As for all of the rest, I often took inspiration from all over, but I designed and developed the implementations that I am providing here for your use.
Supplies
* A “mini STEM platform”, as depicted in the photo above and defined here: https://www.instructables.com/Mini-STEM-LED-Game-Platform/
* The herein provided source code files ‘Mega_Games.ino’ & 'Mini_STEM_Platform.h'
* A computer with the Arduino IDE installed
* The operation manuals (find below). If you're in it for the Fun of it, you're all set !
* Student(s), given your interest is the education of others.
Step 1: Educator Guidance
Student programmers should not be exposed fully straight away to the complete software source. Playing a game is acceptable before they try their hand at coding it up. Over exposure may cause a student to feel incapable of ever producing similar or as plentiful. I myself conceived, designed and developed many of these games over decades while working professionally as a software engineer. 769
During my retirement I have spent time over the last couple of years putting them together and polishing them up. Culminating in this release. So please pace your instruction of students, such that they are succeeding and have fun as they go.
As these games were originally implemented at different times (and in different environments) they use un-common, to each other, techniques and support routines. So expect to find some global irregularities and redundant functionality.
Several of the games I ported from an earlier 12 LED project; adapted them to be independent of the number of LEDS and made further improvements on them.
One game at a time can be used as an example to center instruction around or as a production goal of a coding workshop.
And of course the games can simply be downloaded and used for entertainment, straight away.
Step 2: Using a Game As an Educational Project
Given a game's intended function and behavior a beginner programmer can generally come up with a basic working model, which they can improve on with some coaching and/or examples from its full implementation within this set of source code. Students should be provided with the full hardware support include file (Mini_STEM_Platform.h), along with a starting framework (setup(), loop() …)
The average size of these games is over 100 lines of code. You can strip one down, removing commented out statements (often prints), extra versions and options as well as non mainstream functionality (eg: changing speed, switching player turns or reporting scores). Even some of the feedback audio/visual could be removed. All of this should get the heart of a game down to <50 (maybe even <30) lines of code, making it easy to digest and build on later.
For an example of how you might do this sort of thing with the ‘Fortune Teller’ code, refer to the stripped down version and subsequent directions in Steps 16 &17 of this Instructable:
https://www.instructables.com/STEM-Game-Platform-Lesson-Plan/
Step 3: Downloading and Running the Mega Games on a STEM Game Platform Device
Download the attached sketch ‘Mega_Games.ino’ plus ‘Mini_STEM_Platform.h’ and place them in an appropriate folder. Using the Arduino IDE, compile and download to your mini STEM unit.
If you are not sure how an Arduino sketch is setup and works see: https://www.arduino.cc/en/Guide/ArduinoNano#toc2
The games, challenges and other activities are organized into groups of no more than 8 per. 226