Soft Heads: Custom-Avatar Arcade Brawler

Skills Used: Python, Pygame, OpenCV (cv2), Image Processing & Cropping, UI/UX for Character Selection, Git & GitHub, Cross Platform Debugging, Game Prototyping

Project Description

A chaotic 1-vs-many arcade game built in Python where players punch through waves of enemies using a fully custom avatar created from their own face, or chosen from a library of saved characters.

Problem

We wanted to create a small, polished game that combined fast paced combat with personalized characters. The goal was to let players drop in instantly, turn their own face into the main character (or even the enemies), and survive as long as they could against hundreds of tiny attackers.

Method

Game Engine & Core Mechanics

Soft Heads is built in Python + Pygame for:

The core mechanic is a “1 vs 100000” style brawler, where one oversized character fights off 300+ smaller enemies at once.

My Contributions — Custom Avatar Pipeline

I was primarily responsible for the character selection and custom avatar system, including:

This pipeline is the feature most players interacted with and the one most responsible for the game’s fun factor.

Additional Implementation Work

Results

The final game lets players launch it on Windows or macOS, choose from seven default characters or create their own avatar, and instantly jump into a frantic survival fight against hundreds of enemies.

Playtesting showed that the “your face in the game” feature was the biggest draw players spent time trying different selfies, swapping faces with friends, and watching their own images charge at them as enemies.

We documented installation, dependencies, and troubleshooting on a public website so classmates and others can easily download, clone, and run the game.

Website for game: https://bookish-adventure-nrv5e9e.pages.github.io/

GitHub link: https://github.com/olincollege/soft-heads