Joseph Sak
Game/Project Highlights
Plunder Panic
Genre: Multiplayer Arcade Action
Platforms: PC, PlayStation 5, PlayStation 4, Xbox Series X|S, Xbox One, Nintendo Switch, Steam Deck
Role: UI and Data Programmer
Development Time: 5 years
Team Size: 12
Plunder Panic is a swashbuckling action-arcade game for up to 12 players. Fight on teams of up to six players in online or local play to become the superior pirate crew.
I started working on the project in July 2021, joining the team to program the User Interface (UI) and cloud save data. I creating all of our UI scripts and systems that continue to be used today, for both online deterministic UI and local UI. After this, tackling the cloud data using Playfab and implementing full stat tracking throughout the entire game, learning Photon Quantum to do so. I continued to add new features for the first half a year to flesh out game systems.
At that point we released into early access on Steam, and the console porting went into full swing. I was in charge of Technical Requirement Checklists (TRC) on all platforms, becoming the go to person for greenlighting features once they met compliance. I was personally in charge of making the modifications for PlayStation consoles, every console required a plethora of work due to the mixed online and offline nature of our game, while supporting full cross-play between all consoles.
Throughout the development process, we took the game to multiple conferences, at all of which I was in charge of the booth and enticing people in to play the game, during PAX East 2022 alone I taught over 1,300 people how to play our game personally during my booth shifts, collecting feedback and converting attendees into customers and fans.
Positives: I have experience working with and publishing on all consoles now. Working with the same team and codebase for over a year has also proven that it was worth spending extra time making robust systems to be expanded upon in the beginning, as I've been able to build another year's worth of development on top of my initial UI scripts without needing to rewrite or refactor them.
Future Improvements: We're continuing to work on the game still, adding new items, maps, and game modes. We're still pushing to flesh out the active player base to sustain the matchmaking queues better outside of our gathering times when players get on to queue up. Marketing has been a struggle, we show very well at in person events, but online traction has been slippery at best.
What I Learned: Console porting and all the challenges that come with meeting each platforms technical requirements, many of which are incompatible with other platforms requirements. I also learned about making Elo and matchmaking systems for our ranked queue, along with leaderboards for a variety of stats, which is something I've been wanting to learn for a while.
Star Strikers
Genre: 3rd Person Online Dogfight
Platforms: PC
Role: Programmer
Development Time: 4 months
Team Size: 9
Star Strikers is a 3D multiplayer dogfighter where you play with up to 3 others in 2v2 combat. Fly around with full degree of motion as you shoot down your friends while trying to stay alive yourself.
The multiplayer is possible thank to Photon.Pun, so working on this has involved learning a new codebase and deterministic workflows. My work has been on hit registration and gameplay loops over the network, making sure that damage is counted and kills given. The little things that we all take for granted in the games we play until they stop working. Was my first online multiplayer game I worked on, and was my final project I worked on at University. The game was made with industry oversight from Bungie to help us create a better product for our final work as students.
Positives: Created an online multiplayer game! Also got to work through the pains of being entirely remote for the project. Ended up being a fun if short experience to play with friends. Working out all the debugging issues with networking and going down the entire rabbit hole of online gaming was super inciteful.
Future Improvements: The game could definitely use better systems outside of the gameplay loop for playing with others. Something that isn't peer to peer would also help make the game be stable enough for more than four players.
What I Learned: Online multiplayer and all the pains that come with it. Hit registration, aggressor's favor, and so many issues I see in AAA games make so much sense now and it was good to try to address them and implement/come up with solutions.
Mail Snail
Genre: Puzzle Platformer
Platforms: PC, Mac
Role: Programmer
Development Time: 3 months
Team Size: 9
Mail Snail is a peaceful puzzle platformer where you deliver mail to a wide cast of snails in this miniature world of wonder. Crawl on the floors, walls, and ceilings of this 2D world to make all of your deliveries and return home for a well earned rest. I worked with two other programmers to create the game, myself handling player controls, water, and simple machines.
Positives: Working entirely remotely with two other programmers and collaborating to create the game was a great learning experience. Implementing movement controls for any orientation felt natural.
Future Improvements: Expanding the game and greater implementation of 2D lighting would be the next things to expand upon.
What I Learned: Collaborative work from an entirely remote environment. Unity 2D systems/physics.
The Perfect Run
Genre: Casual/Puzzle
Platforms: PC, Mac, Linux
Role: Programmer/Designer
Development Time: 3 months
Team Size: 1
The Perfect Run is a puzzle game where failing has no downside. Whenever you hit an obstacle you leave a burn in time which you can jump back to whenever you want rather than take damage or lose the level, keeping all positive progress you made and undoing any negatives. If you reach the goal of a level while still having burns remaining, AKA your starting line isn't your ending line, you then get to go back through and connect your lines, healing the burns, and perfecting the run. Every level in the end will have a single, perfect, unbroken line from start to finish. See how much you can improve your times through intentional burns and warping, and see how much you can improve the final length of your line by shortening it. Enjoy a low stakes, no pressure journey through 40 levels of particle filled wonderland.
Positives:
I created a game myself! This entire project is a laundry list of things I learned while making. From proper use of static scripts, to rudimentary saving, through deploying a game to the internet. Optimizing for lower end hardware was really successful in the end since the game has a plethora of particle effects at all times.
Future Upgrades:
More levels and online leaderboards for times would make the game much more interesting. Literally any marketing would help as well.
What I learned:
The entire process of development from planning, prototyping, playtesting, and publishing. Through two weeks of getting the movement to feel how I wanted it to. The importance of making it functional before making it pretty really shined on this project. Level design was an interesting thing to tackle, and could use some revisiting in the future.