Online 4-In-A-Row

Personal Project
Windows
Unity
C#

View project on GitHub: 

GitHub Repository

Download from GitHub:

Download

Online 4-In-A-Row is a personal project of mine inspired by naughts and crosses and was one of my first attempts to create my own game when I was in college. I revisited it after graduating from university to turn it into my first online multiplayer game and continued developing it as a hobby.

 

This project uses work created by others, such as:

  • Unity's multiplayer packages (Netcode for GameObjects, Relay, and Lobby).
  • Visual effects from the Unity Asset Store.

  • Audio.

  • Fonts.

See the project's README for more details.

Online 4-In-A-Row Default

Core Gameplay

Each player competes to place four of their respective counters in a line, with each player taking one turn after the other. Once a scoring line (4 in a row) is made, instead of restarting the game, all player counters across the grid become inactive and don't contribute towards any more points. The gameplay has also been expanded through the use of power-ups.

Online 4-In-A-Row Power-Up Counters

Power-Ups

Collectible power-up counters are randomly spawned at the end of a turn and displayed on the timeline ahead of being spawned. Players can use power-ups to blow up counters, fling counters across the grid, temporarily change the rules for placing counters, and more.

Online 4-In-A-Row Power-Ups

Mutators

The game introduces new rules and mechanics through the use of mutators such as spawning power-up counters which players can collect to obtain single-use power-ups.

 

Mutators can be enabled in different combinations to create synergies between various mechanics.

Online 4-In-A-Row Gravity

Multiplayer

The game supports up to two players playing online or locally.

 

Through using Unity's Lobby service, players can use the lobby screen to browse and join an existing lobby or create one of their own.

 

Through using Unity's Relay service, the game uses a listen server to connect players and share all of the necessary data between players.