Run through the 5 layers of the network stack as Packy the data packet. Answer real EC 441 midterm questions mid-jump, correct answers earn networking-themed power-ups, wrong ones trigger penalties.
1. โฌ๏ธ Download the DMG from the latest release
2. ๐ Open it, drag Packet Quest to your Desktop or Applications
3. ๐ฑ๏ธ Right-click the app โ Open the first time (Gatekeeper bypass)
4. ๐ Done, runs fully offline
โฌ๏ธ Download the latest DMG
โ ๏ธ Apple Silicon (M-series) Macs only, not Apple-signed because this is a class project.
You play Packy, a tiny data packet running across 5 hand-designed levels, one per layer of the network stack. Each level has its own visual identity tied to the layer:
| # | Layer | ๐จ Theme | ๐ Visual concept | ๐ Topics |
|---|---|---|---|---|
| 1๏ธโฃ | Physical | ๐ Amber | Sine cables with bits flowing along them | CSMA/CD ยท backoff ยท Manchester |
| 2๏ธโฃ | Link | ๐ข Green | PCB circuit board with MAC bus traces | MAC ยท CRC ยท Ethernet ยท switches |
| 3๏ธโฃ | Network | ๐ต Cyan | 5-router mesh with TTL-labeled packets | IP ยท CIDR ยท routing ยท NAT |
| 4๏ธโฃ | Transport | ๐ฃ Magenta | TCP segment pills with field text | TCP ยท UDP ยท ports ยท congestion |
| 5๏ธโฃ | Application | ๐ก Gold | Cityscape + HTTP/DNS/TLS request cards | HTTP ยท DNS ยท TLS ยท DHCP |
Level 1 - Physical layer. Bits flow on amber sine cables. The Network Stack sidebar tracks your position. The Wireshark ticker shows real tshark-style packet captures.
Mid-level you'll run into glowing ? blocks that trigger real EC 441 questions, the Intermediate tier is pulled from Midterms 1 and 2.
Hit a glowing ? block, gameplay freezes, and a question pops up. Answer with the mouse or 1 / 2 / 3 / 4.
| โก Bandwidth Boost +55% run speed ยท 8s |
๐ก๏ธ Firewall Absorbs one hit ยท 12s |
๐ฆ Multipath Routing Three air jumps ยท 10s |
| ๐ข Lagging โ50% run speed ยท 6s |
๐ Malware 7 enemies appear nearby |
๐ Buffer Overflow Controls inverted ยท 2s |
Same 15 question slots โ three pools depending on tier:
| ๐ข | Beginner | Fundamentals โ "What does this layer do?" |
| ๐ก | Intermediate | Midterm-level โ pulled verbatim from EC 441 MT1 + MT2 |
| ๐ด | Advanced | Expert-level โ Shannon, BGP, AIMD, CUBIC, TLS 1.3, HTTP/3 |
Letter grade A+ down to F, topic-mastery bars per layer, and you sign the report card to save your run to the leaderboard.
Per-difficulty rankings, filtered tabs, and gold/silver/bronze styling for the top 3. Persisted to disk between sessions.
A button on the title screen reveals the entire question bank, all 45 questions with correct answers highlighted and one-sentence explanations.
| Action | Keys |
|---|---|
| ๐ Move | A / D ย orย โ / โ |
| ๐ฆ Jump | W ยท Space ยท โ ย (hold for higher ยท tap mid-air for double-jump) |
| โ Answer | Click ยท 1 / 2 / 3 / 4 ยท A / B / C / D |
| โธ๏ธ Pause | Esc |
| ๐ Mute | M |
| ๐ Native shell | Electron 28 (Chromium 120 + Node.js 18) |
| ๐จ Rendering | HTML5 Canvas 2D โ no game engine, no WebGL |
| ๐ป Game logic | Vanilla JavaScript โ no React, no TypeScript, no jQuery |
| ๐ Audio | Web Audio API โ every SFX and music note synthesized at runtime |
| ๐พ Persistence | localStorage + Electron IPC โ JSON file in userData |
| ๐ Size | ~5,500 lines of JS across 13 source files |
| ๐ Network | None โ connect-src 'none' enforced via CSP |
The Content-Security-Policy in
index.htmldeclaresconnect-src 'none', so the renderer literally can't make network requests. Combined with procedural audio and local-only persistence, the app is provably offline by construction.
If you want to hack on the code rather than just play:
git clone https://github.com/halkuwaiti/EC-441-PacketQuest.git
cd EC-441-PacketQuest
npm install
npm startTo rebuild the DMG yourself:
npm run dist # Apple Silicon (default)
npm run dist:intel # Intel Mac
npm run dist:all # Both architectures.
โโโ ๐ main.js Electron main process
โโโ ๐ preload.js IPC bridge for leaderboard
โโโ ๐ index.html Single-page DOM shell
โโโ ๐จ styles.css All visual design (~1,400 lines)
โโโ ๐ผ๏ธ build/icon.png Custom 1024ร1024 app icon
โโโ ๐ฆ src/
โ โโโ ๐ ๏ธ utils.js rng, math, AABB, helpers
โ โโโ โ questions.js 45 EC 441 questions ร 3 difficulties
โ โโโ ๐ audio.js Procedural Web Audio synthesis
โ โโโ โจ particles.js Particle system
โ โโโ ๐ฅ effects.js Screen shake, flash, glitch
โ โโโ โจ๏ธ input.js Keyboard state
โ โโโ ๐ฆธ player.js Packy: physics + power-ups
โ โโโ ๐ enemies.js BugWalker, Spike, Packet, etc.
โ โโโ ๐๏ธ levels.js 5 hand-crafted levels
โ โโโ ๐ช ui.js All overlay logic
โ โโโ ๐ฎ game.js Main orchestrator
โโโ ๐ DEMO_GUIDE.md Demo-day reference for the team
โโโ ๐ DEMO_GUIDE.pdf Polished printable version
- ๐จ Design & Engineering - Hamad Al-Kuwaiti , Deniz Oge, Arav Tyagi
- ๐ Course - EC 441 Computer Networking, Boston University, Spring 2026
Every networking question is sourced from the actual EC 441 midterms or course material
CC BY-NC 4.0 - see LICENSE. Free to fork, study, and adapt for personal or educational use.
Made with โก at Boston University ยท ๐ Spring 2026




