SONETTO
Elegance in Design + the Joy of Interactive Gaming
Fall 2022
Course: Physical Computing
Instructor: Tom Igoe
Partner: Joann Myung
Ideation
The concept for this project is simple, straightforward, and, hopefully, fun: a game console that allows users to physically control the joystick, sliders, buttons, and keys to play games designed in p5.js using serial communication. The idea started with some initial sketches.
Option 1: A box with a screen, possibly an iPad connected to the Arduino via Bluetooth, allowing for the removal of the screen. In this scenario, the screen's resolution and the game's resolution need not be a primary concern.
Option 2: The screen can be fixed, depending on the type of screen and the project's resolution. Alternatively, a pixelated bouncing ball game could be developed in p5.js, although it may seem somewhat limited.
Option 3: A game box equipped with sliders, buttons, keypads, and possibly a mounted joystick on one of its surfaces. Users can open p5.js on their computer, connect it via cable, and play the game. This option offers the most versatility, allowing for the incorporation of multiple games that require inputs from sliders, buttons, or keypads. Each slider, button, or keypad can be accompanied by an LED light to indicate when it is in use. Alternatively, each physical component can be surrounded by a soft, warm-colored light bar. Ultimately, a webpage will be created, housing a series of p5.js sketches, enabling players to choose the game(s) they want to play solely by physically interacting with the game box.
Items needed include a toggle switch, slide potentiometers, push buttons, keypad (numbers only), joysticks, and speakers with volume controllers (for option 2 only).
The objective is to design and create a highly delightful and delicately crafted project. While the 'comp' aspect does not require excessive sophistication, the 'p' component — the quality of the box — is of utmost importance and takes precedence. Selecting the ideal sliders, switches, buttons, joystick(s), and keypad is critical. The project aims to bring users joy and pleasure. The physical interaction components should be robust, constructed from metal such as brass or cast iron. Regarding the color theme, a combination of off-white and retro-style colors can be employed if plastic is chosen, without appearing garish or contrived. Alternatively, a preference for hardwood and brass can be adopted (which is personally favored). Considering how to manage the wires and connections is also a crucial aspect of the design. The interior should be orderly, well-organized, and aesthetically pleasing. Overall, the project must be executed tastefully.
Prototype
A prototype was crafted for our game console. We acquired plywood from the local art supply store, joysticks and sliders from Amazon, potentiometers, push buttons, stand-offs, and screws from the shop, and, finally, a keypad from an online store. According to our plan, which involves five games, we decided to incorporate 4 buttons, 3 sliders, 2 rotary knobs, 2 joysticks, and 1 keypad in the prototype. Some of these items will be reused in our final product.
We took measurements of the parts and proceeded to create the layout. Following that, we laser-cut the box and initiated the assembly process. The microcontroller utilized was an Arduino Mega, and we employed two breadboards, each carrying different voltages (3.3V and 5V, respectively). The entire process of measurement, design, and assembly spanned approximately 12 hours.
‘Sonetto’
The layout of the game console underwent a redesign based on feedback from playtests. For the final model, we chose popular wood and translucent white acrylic as the main enclosure, with black cast iron buttons, metal knobs, customized keycaps, and wood joysticks as the controls. The codes in both Arduino and p5.js were updated several times to optimize serial communication and enhance users' gaming experience.
As mentioned, this project not only focuses on interactivity and games but also on fabrication. Personally, I believe we spent too much time on fabrication – which, in a way, is good, as the final model exceeds our expectations – but not entirely necessary. A nearly perfect fabrication left us little time to work on the technical aspects of the project. I still believe representation is crucial in a project – I agree. However, in future projects, I will manage my time more effectively and balance both technical and aesthetic aspects.
I sincerely appreciate the efforts of my partner, Joann. The project would not have been completed without her contributions. Also, I deeply appreciate the valuable suggestions and criticisms from my professor, Tom Igoe, and my colleagues. It has been a pleasure working on this project.