ZS-001 / REV. 0220-04

20-04
Soft Heads: Custom-Avatar Arcade Brawler

Overview

A Python and Pygame arcade brawler with custom avatars created from uploaded photographs or webcam images.

Soft Heads title screen
FIGURE 01 — Soft Heads title screen

Objective

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.

Engineering constraints

Quick player entry, uploaded or webcam-generated avatars, and 300+ smaller enemies at once. The final game includes seven default characters.

My contributions

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.

Game controls and objective
FIGURE 02 — Game controls and objective
Player selection with image-upload and camera options
FIGURE 03 — Player selection with image-upload and camera options
Camera capture interface with circular portrait guide
FIGURE 04 — Camera capture interface with circular portrait guide

Design and fabrication process

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.

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.

Custom-avatar gameplay
FIGURE 05 — Custom-avatar gameplay

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/

Skills and tools

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