Game Randomizer

Goal

Output a "good and fun" psuedo-random list of characters

Software

C++

Hardware

Arduino, Adafruit PCB sized screen, basic circuit parts

Date

Winter 2020

Main Content

Approach and results

During quarantine my roommate and I became avid gamers, especially when it came to fighting games. To spice things up we would pick random characters, but complete randomness just isn't fun. Apple's music app does not use complete randomness because users found it unsatisfying, and we had a similar issue with our fighting games. When we would choose a random option, we would get similar characters, repeats, or characters we frankly didn't enjoy playing frequently. We wanted a randomizer that would give us a psuedo-random character that would hopefully maximize our fun.

This could have been done in a simple Python script, but I wanted more of a challenge. I wanted to create an independent randomizer that didn't need to run off a computer. Like a lot of nerds like myself, I turned to Arduinos. I used an Arduino nano and an Adafruit PCB sized screen to run and display the randomizer. The screen was also a brief introduction to soldering. I soldered the connections and initially failed, but I quickly learned a new skill.

After deciding on equipment I started writing the code. The code used an original but obvious algorthim that used weights to determine the likelihood of a particular character. Each character was assigned a section of the numberline zero to one, and once a random number would be generated, it would be determined what character the corresponding section of the numberline falls in.

The final step was adding input hardware. This was as simple as SPST buttons with a current limiting resistor as to not short out the Arudino. The project still works after many, many uses.