Rebel
Project Image

Semi-Authoritative Multiplayer FPS game

Development Time: 2016-2020

My game dev journey begins with this game. Being my first ever game dev project of this scale, it was a challenging but fun experience. The codebase has many flaws, mainly its architecture, and heavy use of third-party libraries, the maintainability of the code suffers as a result. Nevertheless, this project was a huge learning experience for me; I learned a wide variety of topics like OS, networking, graphics, animation, databases, authentication, and UI-a lot of which are the fundamental building blocks of building any computer program. One of the biggest takeaways from this project is the importance of designing. Now whenever I'm writing code, I always think before heading straight to the coding part.

screentshot
Networking

The game is a "semi-authoritative" game in the sense that it attempts to mitigate cheating by validating the data sent to the server, but without the overhead of running a fully tick-accurate simulation on the server. One additional advantage of such design is that it makes writing the networking code much simpler. An example of this is when a player is in a "room" or a match, the server determines whether the player's state is valid before it relays the data to other players. For instance, a player's velocity will never exceed a certain amount, or a player should never be equipped with a loadout that they don't own.

UI Design & Scripting

In addition to designing a visually appealing on-screen HUD, a collection of UI systems was implemented, including a lightweight MVVM-like data binding UI framework for displaying data, an interactive popup/modal system for displaying customizable content to users.

screentshot
Apple Store Review

Despite receiving a lot of positive feedback upon release, I ended up removing the game from the app store due to increasing server costs and the aforementioned shortcomings.

Some ancient videos documenting my learning progress

Nov 10, 2017

Jun 21, 2017

June, 2018

fps game progress 2

June, 2018

fps game progress 3

June, 2018

fps game progress 4

June, 2018

fps game progress 5

August, 2020