Scotty Hoag
Programmer Portfolio  (209)-298-2622

STARMAC: Capture the Flag

One of my undergrad research projects was with the Berkeley EECS Hybrid Systems Lab. I worked under Prof. Claire Tomlin and then-graduate student (Now PhD) Haomiao Huang to develop a version of the game "Capture the Flag" that could be played with the STARMAC quad-rotor UAV robot drones. Human players use an Android cellphone app that I developed to communicate with the quad-rotors and send them reconnaissance commands. The phones also used the embedded GPS to display a map of the playing field and draw live visual overlays of the game state. Players are then given cues on the map that explain which direction they should be running in to play optimally. I took this class alongside a parallel computing course and used skills from that course to parallelize the contour data plotting code in native C code.

Publications and Presentations:

2015, March 11th - Department of Electrical Engineering and Computer Sciences, UC Berkeley
    "Hybrid Systems in Human-Centered Automation"
    Claire Tomlin (I am cited for my research work on page 17)

2012, August 20th - Center for Hybrid Software Systems
    "BEARCAT: Student Outreach and Human/Automation Systems Research"
    (Haomiao Huang, Claire Tomlin, Zhengyuan Zhou, Andrew Sy, Scott Hoag, Steven Xu, Ayushi Samaddar, Catherine Pavlov)

2012, June - Ph. D. dissertation for project leader Haomiao Huang
    I am cited for my undergraduate research on page 7/vii: PDF

2011, April 19th - UC Berkeley Undergraduate Research Poster Session,
    "Automation-Assisted Capture-the-Flag: Reachability-based Decision Aids for Human Agents"
    (With Andrew Sy)

Map display

The phone displays a map of the playing field, active players, and UAVs using GPS.

Reachability Set

As the player moves, the server recalculates the reachable set of positions the player can transition into.

Phone in hand

The player can see the map and reachable sets directly on their mobile phone.


The STARMAC UAVs will be used for enemy surveillance and reconnaissance.

Canadian Flag

We said that it was capture the flag, but we never said which flag...

Contour Plot

Sample data visualized with a contour plot.

Contour Plot

Calculating contours using parallelized native C code on Android.

Contour Plot

Viewing the contours with the raw data points.