DEV Community

Yashar Dabiran
Yashar Dabiran

Posted on

The Best Game I've Ever Made

Background Story

When I took the Introduction to Game Development course in Fall 2019, I had no idea I would be making a game with this complexity. Thanks to the course format, my team and I were free to choose whatever we wanted to make so we came up with an ambitious idea.

What is this game?

It is called Catastrophe, and it's an online multiplayer third-person shooter that revolves around "capture the flag" game mode idea.

Alt Text

There are three teams in the game. The first team that takes the flag and brings it to their base is the winner.

Alt Text

Check it out!

Here are the links to the game's website:
https://luna-interactive.herokuapp.com/

and the GitHub repo:

Catastrophe

Catastrophe is an online multiplayer tactical shooter developed by Luna Interactive where the first team (of three) to capture the flag and return it to their base wins.

https://luna-interactive.herokuapp.com/

Bring it home!

Table of Contents

  1. Development Team
  2. Installation
  3. Reporting a Bug
  4. Requesting a Feature
  5. Contributing
  6. Credits

Development Team

Member Role @GitHub
Corentin Artaud Lead Programmer @corentinartaud
Gabriel Noriega QA Lead @gnoriega27
Hongbo Liu Art Director @i5un
Lyonel Zamora Music & SFX Lead Designer @lyonelz96
Miguel Jimenez Project Manager @mjimenez98
Steven Zanga Lead Gameplay Programmer @stevau5
Yashar Dabiran Lead Backend Programmer @yshrdbrn

Installation

  1. Install Unity Hub.

  2. Install Unity 2018.4.11

  3. Clone the repo using your preferred method.

HTTPS:

git clone https://github.com/Luna-Interactive/catastrophe.git

SSH:

git clone git@github.com:Luna-Interactive/catastrophe.git
  1. On Unity Hub, go to Projects -> Add and select the directory you chose when cloning the repo.

  2. Open the project.

Reporting a Bug

If you found something that should not have happened while you were…

How hard was to it build?

We built the game using the Unity game engine. For the multiplayer part, we were searching for a framework that was relatively easy to use (because of our time constraints) and was performant enough for a shooter, so we picked Photon Bolt.

My main contribution was to integrate our logic with Bolt and synchronize the data between the players. As it turns out, developing a multiplayer game is not as easy as writing multiplayer_framework.MakeGameMultiplayer()! I spent lots of hours fixing synchronization issues that constantly came up.

Thanks to my well-organized team, we had so many playtests that by the time we presented the game to our class, it had no issues in the 10 minutes we demoed it live.

What did I learn during this project?

Coding-related stuff aside, I learned that making a multiplayer game is hard! After going through all sorts of troubles to just make our game playable, I'm starting to appreciate all the hard work that has gone into developing multiplayer shooters like Fortnite and Apex Legends. I hope I can be part of one someday!

Top comments (0)