PVP Post Mortem


Project Title: Poly-Vinyl Pests (PVP)
Role: Generalist Designer, Multiplayer Programmer, VFX Artist
Semester: Senior Year, Second Semester (Capstone)


Project Overview

Poly-Vinyl Pests (PVP) was my senior capstone project, a chaotic and quirky multiplayer boss rush game with heavy co-op and competitive elements. While I wasn’t on the original team from the start, I joined the project midway through the semester after my previous project didn’t pass greenlight.

Despite the late onboarding, the transition was smooth thanks to excellent documentation and a clearly defined design vision that was prepared. I was impressed by the team’s organization, which made it easy to jump in and contribute meaningfully from day one.

Steam page: https://store.steampowered.com/app/3554420/PolyVinyl_Pests/

itch.io page: https://jeffreypopek.itch.io/poly-vinyl-pests#:~:text=Poly%2DVinyl%20Pests%2C%20or%20PVP,the%20queen%20of%20the%20anthill.

Trailer:


My Contributions

Multiplayer Integration with PUN 2

My first and primary task was to bring online multiplayer functionality to the game. To minimize technical risk, I chose to use PUN 2 by Photon Engine, a solution I was already familiar with and which fit our development timeline and scope.

Early in the semester, I partnered with another programmer, Tommy Smith, to conduct a technical spike—a short, focused development period to test the feasibility of online multiplayer in our game. I focused on lobby creation, matchmaking UI, and ensuring a smooth multiplayer session flow, while also supporting Tommy with my prior PUN 2 experience.

However, we encountered a major challenge when trying to synchronize boss animations across clients. Our boss behavior was tightly coupled with Unity’s Animator system, and we initially tried to sync it using PUN 2’s built-in animation syncing component. Unfortunately, this led to inconsistent behavior across clients. This could definitely have been solved but the timebox of our spike story ran out. And This issue pushed us to re-evaluate how we structured boss control logic and animation triggers, teaching us a lot about the limitations of real-time animation syncing in a multiplayer context.

Upgrades System & VFX Development

After wrapping up the spike, I pivoted to supporting other areas of the game—specifically, our upgrades system and creating visual effects (VFX) to support gameplay feedback and readability.

Here are some of the effects I created:

  • Healing effect
  • Stat upgrade trigger
  • Garden hose and spray bottle upgrades
  • Fire and poison status effects
  • Boss attacks like the Wax Wyrm’s water gun beam and wing wind attack
  • Unused but fun concepts like a sprinkler VFX

This was a rewarding area to explore, letting me contribute both technically and creatively to the player experience.

Cinematic Cutscene Interstitials

Finally, I designed and implemented the cutscene interstitials that play before each boss fight and PVP scene. These short narrative snippets help ground the player in the world and clarify who they’re fighting and why—enhancing immersion and giving players a quick breather between gameplay sequences.

Before:

After:

Wrong aspect ratio, outdated ants styles, clunky lightning fx, too much negative space, no transition


Reflection

Joining Poly-Vinyl Pests mid-development was a challenge, but it turned out to be one of the most fulfilling experiences of my academic career. I got to flex both my networking and multiplayer programming skills while also contributing on the artistic side with VFX and UI design.

It was also a great reminder of how crucial strong documentation and communication are to collaborative game development—without them, my onboarding would’ve been much harder. I’m proud of what our team accomplished, and I’m even more excited to apply what I learned to future projects.

Leave a Reply

Your email address will not be published. Required fields are marked *