Final Project

Mockups:

*Generated with CanvaAI for mockup and reference purposes only, unless otherwise stated.

Concept: As a final project, I have decided to make an infinite 2D driving game set in a desert. The player drives along an infinite stretch of highway, with tasks and layovers appearing intermittently. These objectives include passive tasks like birdwatching and buying cacti from shops on the highway, and eating at restaurants, to more complex tasks like taking up small gigs at each stop, such as cleaning dishes, cooking, and replacing car tires.

Players also have the option to customize the model, make, and color of their cars. The highway is divided into 2 lanes, with forward heading traffic in both. The player may occasionally find a slower car in front of them, and can switch lanes to overtake.

Design & Description: The style of the game is simple, with pixel art-style, simple movement and task-completion mechanics. The game’s graphics and core processing will take place on P5js, while an Arduino setup will feature a makeshift steering wheel and buttons for the controls.

Aspect Ratio: 16:9

Potentially Challenging Part: I anticipate that the most challenging part of this build would be the Arduino components, setting them up and connecting them correctly, and allowing for serial communication to occur properly between my laptop (which is not particularly known for its compatibility) and the Arduino Uno board.

One thought on “Final Project”

  1. For the steering wheel input I would recommend using a potentiometer. You can have a look here at how to send values from the Arduino to a p5 sketch (look at the serial pot and bidirectional examples)
    https://github.com/mangtronix/IntroductionToInteractiveMedia/blob/master/lectureNotes2.md#serial-communication

    For example if you have the steering wheel potentiometer and three buttons as inputs (start, gas, brake) you could send serial messages from Arduino to the p5 that look like “{steering value},{start button},{gas button},{brake button}\n”

    So the Arduino could send a stream of messages that look like this:
    512,0,0,0\n (idle)
    512,1,0,0\n (user presses start)
    280,0,1,0\n (steering and gas)
    321,0,0,1\n (steering and brake)

    If you go with the custom controller to p5 it’s ok to focus more on the hardware side and your p5 sketch could be relatively simple. Getting the controller to work reliably over the serial connection can be challenging. You could also build a custom controller and re-use your midterm sketch. It’s ok for this class to use AI for generating media assets – you just need to credit it.

    Making a controller to go with your midterm experience could potentially be more interesting. Maybe buttons to navigate and the potentiometer or a light sensor does some kind of special effect that’s a bit unexpected?

Leave a Reply