This project has 3 main parts to it, with a game controller, an interfacing box and the gaming software. This makes up the open-source gaming platform I wish to develop for use with junior secondary school aged students. It will engage them as it directly links to a pass time that is already popular for their age bracket. Therefore, helping students to make better connections between programming and electronics, with the ability to interact between the two.
The project starts with a simple game controller that students are able to construct with a paper template, cardboard, pine timber and adhesive copper tape, that needs to be glued together, cut to size and fitted. Once the controller is constructed it will need to be wired by preparing and soldering on the hook up wire. I would suggest a set design for the students first, so that they have a greater chance of success at getting it to work, before they could be allowed to modify or come up with their own design.
The next part would be the development of the interfacing box, that is the bridge between the game controller and the game played on the computer. The interfacing box is simply an Arduino Nano placed in an adapter board that has screw terminals to easily allow the hook up of the wiring from the game controller, and an Arduino cable to connect to the computer. The interfacing box will require a 3D printed case for presentation, safety and to keep it clean. This will require the design of a case in Tinkercad to be exported as an STL file for printing on a 3D printer. The Arduino can then be screwed securely to the printed case for safe usage.
The hook up wire from the game controller is then screwed into place on the Arduino adapter board, paying special attention to which pins they are attached to. The interfacing box is connected via the USB cable to the computer. A serial sketch will need to be developed which tests to see that the buttons on the game controller work and work correctly. The game controller will have some sort of directional control buttons as well as other function buttons for other actions required by the game played. They are all essentially simple push switches.
The last part of the project is the game program. Processing 3 will be used due to its ease of use by students. A simple test sketch needs to be developed that listens for serial communication. Likewise, the Arduino will need a sketch that takes the input from the controller and sends a serial signal to the computer through the connected USB cable.
Once the serial communication is successful and an action can be enabled then other actions such as directional movement can be calibrated in with specific serial signals. This may be tested by way of moving box around the Processing window. Following this, the other buttons are to be calibrated for control.
With successful serial communication between the controller, interfacing box and the Processing program, a start-up game can be used by students to get a feel for the controller. Something along the lines of Pong or Snake. From here games such as Space invaders and alike can be developed and built upon.
The opportunity for students to experiment with the creation of a self-designed gaming platform with their own branding, along with the chance to develop or customise games themselves. This will help to engage students in both fields of study.
How will the original problem be solved?Students will be more engaged and see the connection between programming and electronics which essentially underpins the whole gaming field, giving students understanding and buy in, to the importance of technology in their daily lives.
What impact will this development have?As stated, the students will have a greater sense of purpose in applying the skills they have learnt in the two somewhat separate modules, but with more students involved in this platform a community of makers can be established beyond the walls of a single school.