Building a custom arcade game to drive community engagement
Overview
“Roc Klimber” is an interactive arcade installation created for the University of Pittsburgh’s Hillman Library. I initiated the project to address negative student reception to its recent renovation. I led the design and development of the game, collaborating with an embedded software engineer to integrate custom controls and hardware.
problem
Student backlash to library renovations
After a $130M renovation, the University of Pittsburgh’s Hillman Library became a bright, modern space, but many students felt it had lost its warmth and character.
solution
Designing a custom arcade game
I designed and built a custom arcade game to engage students and rekindle campus pride.
Intuitive controls
Universal accessibility with no skill requirement
Quick play duration for passerby
Play as the campus mascot
Play as Roc, the campus mascot
Nostalgic pixel art animation
Compete for the high score
Encourage replays
Generate a sense of community
impact
500+ plays with daily active usage
The actual number is likely higher, as only completed plays are tracked.
Positive community feedback
Featured on display wall, pending article, and in-person buzz from students and faculty.
storyboarding
Visualizing the student journey
My initial concept aimed to transform the library into a more playful, social space. Since the project required both funding for materials and approval to install in a public setting, I created a storyboard to communicate the idea clearly and help stakeholders see its potential impact.
flows
Considering multiple dimensions
I approached the project as a connected system rather than a single game experience. To design for both engagement and longevity, I mapped the flows across gameplay, social interaction, and technical maintenance. This helped ensure the arcade would not only attract students, but also sustain activity and remain operational over time.
front-end development
AI-assisted workflows
I used a multi-tool workflow to explore ideas quickly and refine them efficiently. In particular, AI helped me test variations and stay productive while managing the other technical components. This approach let me focus more on design intent, shaping gameplay and interaction rather than getting stuck in implementation details.
1
Design in Figma
Explored level layouts and positioning
2
Prototype with Claude
Quickly generated concepts
3
Develop in VSCode with React
Built and polished final experience
rapid prototyping
Bridging design and hardware
Fabricating the cabinet took place in the library’s makerspace using its laser cutter and woodworking tools. I collaborated with an embedded software engineer to connect the joystick and button controls through Arduino and configure the game on a Raspberry Pi. The setup required troubleshooting networking and automating startup scripts, which introduced me to the Linux terminal and basic bash scripting for launch automation.
user feedback
Initial reactions
During the first week on display, I paid close attention to how students approached (or avoided) the installation. Their candid reactions surfaced small but meaningful cues that guided the next round of design changes.
design iterations
Overhauling look and feel
To address these concerns, I spent the next few weeks redoing the finish to create a more polished experience. These changes made the installation feel more intentional and complete. Immediately, I noticed more people engaging with the installation without the previous hesitancy.
impact
A renewed sense of community
Roc Klimber has become a permanent fixture in Hillman Library, reintroducing play, familiarity, and pride into a space that once felt impersonal. The installation now draws daily visitors who stop to play, share it with friends, and connect through a shared campus symbol, reviving a sense of community within the renovated environment.
Wishes
What I would have done differently
While this project taught me a great deal about end-to-end design and hardware integration, a few lessons stand out that I’ll carry into future work:
Gather feedback earlier. Instead of overhauling everything at once, I would set up a clearer channel for real-time feedback during testing.
Expand data tracking. The leaderboard captured some analytics, but logging all plays and visualizing usage data would have supported deeper insights and ongoing iteration.
Overall, this project was an invaluable experience that strengthened both my technical range and my approach to iterative design.










