This is a game that I made to showcase my Game Development skills, where I implemented gameplay mechanics in a multiplayer game. You may find bugs and the game UI & art may not be good enough as I developed this game in my free time after my full-time job as a Game Developer, so I used to get very little time to focus on this game. I am open to your feedback, and please feel free to comment if you find any bugs or have any suggestions for me.

Yes, this may seem to be a straightforward game, but this simple game has a solid core logic implemented inside it, which makes the game possible.

As this game is meant to be a multiplayer game, so code optimization plays a very important role while implementing complex logic to achieve the core game logic. Also, I had to take care of the smooth data transfer through the cloud between clients and servers for a smooth game experience.

Let's discuss the game and you can follow the DevLogs to learn more about the development process in a very detailed way, where I have explained all the strategies I have applied to acquire the core logic of the game including the challenges I faced during the development and also included all other aspects.


About Game:

It is a 2D game where the map is based on a grid system.  

The player has to expand the territory while eliminating another player. The player who owns the highest number of cells on the map wins. 

At the start of the game, the player will have a small territory to begin with. where the player has to expand it.   

The Game will run for a fixed period of time with 2 players, once the time ends the player with the biggest territory wins.

Upon elimination, the player will respawn at a random location within their territory to restart. This allows both players to continue playing while trying to defeat each other to win, enhancing the competitive and fun aspects of the game.

Gameplay mechanics:-

1) Basic movements for player control: 

This allows the player to move in four directions(left, right, up & down) while restricting the opposite direction to switch directly(Example: If a player is moving towards the "Up" direction, then the player can't directly switch to its opposite direction which is "Down".  To move toward the "Down" direction the player has to take a U-Turn, Which is "Left/Right -> Down" ).

Input Keys: "A, W, S, D " or "LeftArrow, UpArrow,  DownArrow,  RightArrow ".

2) Drawing Trails to expand area:

The player has to draw trails to cover the boundary of the upcoming newly acquired territory, The trail will start to draw automatically once the player goes out of his/her territory. Once the player returns to their territory the trail will enclose the newly acquired territory, then the new territory will be successfully owned by the player.

3) Auto-fill owned area:

Filling an area happens automatically just after the player encloses the trail by returning to their territory. It shows the expansion of territory by filling the newly acquired area.

4) Sprint to move fast:

This is a simple feature, which allows the player to move faster in the map. can be used in many cases like escaping a trap created by an opponent, terminating the opponent, etc.

Input Keys: "SpaceBar"

5) Player Termination:

Termination is a feature where every player has to be careful, staying long without getting terminated allows the player to increase the chance of winning the match. Let's talk about how a player gets terminated and how a player can terminate another player. 

Case 1: A player can terminate an opponent by just cutting the opponent's trail and to cut the opponent's trail the player has to touch the trail of the opponent using their head. 

Case 2: A player can get terminated if the player loses all of their territory.

Tips: Player will be safe while staying inside their territory, but be careful if you stay inside all the time you can't win the game, you have to go out to expand your area while competing with your opponent.  If you stay outside for long that also increases the chance of getting terminated by your opponent. so try to maintain a balance of all aspects.


Technologies and tools to develop the game

Unity Game Engine, C#,  Mirror Networking for multiplayer.


Algorithms and Mechanisms used

Map:

Algos used to auto-fill an enclosed boundary:


Player related:

Game related:

  • Singleton Pattern,
  • The Observer Pattern is only for some specific scenarios,
  • AWS EC2 Dedicated Server deployment.

MapUI:

  • Debug Map for debugging purposes using normal Draw Line and TextMesh. Actual Map for user view using Tile Map-based.


Updated 12 days ago
Published 14 days ago
StatusIn development
PlatformsHTML5
AuthorGoutamraj
GenreStrategy
Made withUnity
TagsIndie, Multiplayer, Ninja, Pixel Art, Top-Down, Two Player, Unity
Average sessionA few seconds
LanguagesEnglish
InputsKeyboard
MultiplayerServer-based networked multiplayer

Development log

Leave a comment

Log in with itch.io to leave a comment.