Twisted Sails

May 10, 2017 0

Team Size: 20
Engine: Unity
Development Time: 8 months
Key Features: Online Multiplayer and Gameplay Systems


We just publicly released our game on Steam, which will be available on March 24, 2018. Check it out HERE!
I was in charge of publishing and uploading the game to Steam as well as currently in the process of integrating the Steamworks API within the Unity project, allowing people to play through the game with their Steam friends and earn achievements!

The game was developed by a group of twenty students for a video game development club at Arizona State University. We called ourselves 25% Games. This was the trailer advertising our playtesting/demo event at Arizona State University on April 25, 2017. We had a turnout of about sixty students who had a blast playing our game and filling out a post-play feedback survey for further improvement.

Twisted Sails is an online swashbuckling multiplayer arena shooter set on the high seas where players select one of four unique ships and battle for glory. The game plays in a similar vain to Twisted Metal— players must whiz by others, collect heavy weapons (which are powerful tools of destruction unique to each ship), and unleash destruction on their foes while maintaining dominance in a particular zone of the map and wracking up thirty kills within five minutes. The game supports LAN multiplayer.

In the club, I acted as the programming lead/technical director where I:

  • Organized programming tasks using Trello
  • Managed the version controlling through GitHub
  • Configured the programming team to be properly version-controlled
  • Underwent weekly code reviews and accepted/rejected pull requests
  • Directed team by estimating effort of tasks and allocating accordingly

In terms of the project, I particularly worked on the “heavy weapon” system, an API-like class that allows designers to easily script their own iterations of the heavy weapon. Using inheritance and event-driven programming, I created a template that designers would extend and inject their own unique values to the gameplay. It allowed for easy trial-and-error testing of fun ideas without the frustration of starting from scratch.

I also pair-programmed and supervised the networking system and manager, which not only allowed players to connect to others, but also facilitated the persistence of data between various play sessions. The game ran smoothly in the end albeit with some latency and seldom disconnections.