Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

39 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฎ Rival Rush

A fast-paced multiplayer competitive runner built in Unity, inspired by Fun Run.

Players race through obstacle-filled levels while using offensive and defensive powerups to sabotage opponents and secure first place. Every match is designed to be short, chaotic, and highly replayable.


๐Ÿš€ Overview

Rival Rush is a production-focused multiplayer game project built with:

  • Unity 6
  • Netcode for GameObjects (NGO)
  • Unity Transport (UTP)
  • ScriptableObject-driven gameplay systems
  • Event-driven architecture
  • AI fallback players
  • Object pooling for gameplay performance

The goal is to create a highly replayable competitive racing experience where movement skill, timing, and powerup usage determine the winner.


๐ŸŽฏ Core Features

Multiplayer Racing

  • 2โ€“4 players per match
  • Host-client networking architecture
  • Lobby system with ready checks
  • Scene synchronization handshake
  • Race countdown synchronization
  • Finish order tracking
  • AI fills empty player slots

Movement System

Players continuously auto-run forward and control:

  • Jump
  • Double Jump
  • Slide
  • Wall Cling
  • Wall Jump
  • Air Dive

Movement includes:

  • Tick-based timing
  • Jump buffering
  • Coyote time
  • Ground grace periods
  • Physics-driven traversal

โš”๏ธ Combat & Powerups

Combat is entirely powerup-driven.

Current powerups include:

Powerup Type Description
๐Ÿš€ Rocket Offensive Homing missile with AoE explosion
๐Ÿ”ซ Revolver Offensive Bullet rain attack
๐Ÿชš Sawblade Offensive Bouncing projectile
โšก Shocker Offensive Area-of-effect electrical pulse
๐Ÿชค Trap Offensive Ground trap placed behind player
๐Ÿ›ก Shield Defensive Temporary invincibility
๐Ÿ’จ Speed Boost Utility Temporary speed increase

Design goals:

  • Instant readability
  • Chaotic interactions
  • Fair targeting rules
  • Server-authoritative kill validation
  • Shared kill feed across players

๐Ÿค– AI Opponents

Rival Rush includes AI players that can replace empty lobby slots.

AI Personality Types

  • Balanced
  • Aggressive
  • Defensive
  • Risky

AI Architecture

Perception โ†’ Context โ†’ Strategy โ†’ Action

AI uses:

  • Hazard raycasts
  • Wall detection
  • Slide obstacle detection
  • Powerup decision scoring
  • Personality-driven behaviors

The AI shares the exact same input pipeline as human players through a common input interface.


๐ŸŒ Multiplayer Architecture

Networking is built using Unity Netcode for GameObjects.

Authority Model

  • Server-authoritative race state
  • Server-authoritative finish order
  • Server-authoritative combat validation
  • Owner-driven player input
  • NetworkVariables for replicated state
  • RPCs for gameplay synchronization

Networking Systems

  • LobbyManager
  • MultiplayerManager
  • RaceManager
  • NetworkPlayerSpawner
  • TickManager

Synchronization Features

  • Scene-ready handshake system
  • Countdown synchronization
  • Finish state replication
  • Lobby player replication
  • Networked race lifecycle

๐Ÿ— Architecture

The project follows a hybrid architecture combining several patterns.

Patterns Used

Observer Pattern

GameEvents act as the central event bus.

Examples:

  • Race Started
  • Race Finished
  • Player Killed
  • Powerup Picked
  • Powerup Activated

MVC Separation

Player logic is split into:

  • PlayerController
  • PlayerModel
  • PlayerView

This keeps gameplay logic separate from state and presentation.


Strategy Pattern

AI personalities are implemented using strategy classes:

  • AggressiveStrategy
  • DefensiveStrategy
  • BalancedStrategy
  • RiskyStrategy

Factory Pattern

Powerups are created using:

PowerUpDefinition -> CreateEffect()

Each powerup defines its own effect implementation.


Object Pooling

No runtime Instantiate/Destroy during gameplay.

Pools include:

  • ProjectilePool
  • VFXPool
  • KillFeed Pool
  • Lobby UI Pool

๐Ÿ“ฆ Gameplay Systems

Race System

State Flow:

Waiting
   โ†“
Countdown
   โ†“
Race
   โ†“
Finished

Managed by:

  • RaceManager
  • TickManager

Powerup System

Built using:

PowerUpController
        โ†“
PowerUpDefinition
        โ†“
IPowerUpEffect

Benefits:

  • Easy expansion
  • Designer-friendly
  • ScriptableObject workflow

Audio System

Custom audio architecture includes:

Sound Manager

Supports:

  • Local sounds
  • World-space sounds
  • Attached looping sounds
  • Audio pooling

Current SFX:

  • Jump
  • Landing
  • Explosion
  • Rocket Launch
  • Rocket Loop
  • Rocket Hit
  • Gunshot
  • Trap Place
  • Trap Hit
  • Sawblade Throw
  • Sawblade Hit
  • Bullet Hit
  • Shield Pop
  • Countdown
  • Race Start
  • Finish

Music Manager

Supports:

  • Persistent music playback
  • Volume saving
  • Runtime adjustment
  • Settings menu integration

VFX System

Pooled visual effects include:

  • Death Smoke
  • Shield Effects
  • Explosion Effects

Features:

  • Pre-warmed pools
  • Automatic recycling
  • Zero-allocation runtime usage

๐Ÿ“Š Technical Highlights

Performance Focus

  • Object pooling throughout gameplay
  • Cached AI raycasts
  • Tick-based gameplay timing
  • No gameplay coroutines in critical systems
  • Minimal runtime allocations

Scalability

Systems are designed to support:

  • Additional powerups
  • Additional AI personalities
  • Multiple race maps
  • Cosmetics
  • Ranked progression
  • Future matchmaking

๐ŸŽฎ Planned Features

High Priority

  • Client-side prediction
  • Server reconciliation
  • Lobby code sharing
  • Matchmaking queue

Medium Priority

  • Cosmetic shop
  • Character skins
  • Trails
  • Emotes
  • Additional maps

Low Priority

  • Tournament mode
  • Global leaderboards
  • Mobile version

๐Ÿง  What I Learned

This project has been my primary sandbox for learning and applying:

  • Multiplayer architecture
  • Unity Netcode for GameObjects
  • Network synchronization
  • Server authority models
  • AI architecture
  • Design patterns
  • Object pooling
  • Production-level code organization
  • Game system architecture

The goal was not simply to make a playable game, but to build systems that are scalable, maintainable, and representative of real-world game development practices.


๐Ÿ“ท Screenshots

MainMenu COverImage LevelPrototype2 LevrlPrototype JoinLobbyPanel LobbyPanel

๐Ÿ›  Tech Stack

  • Unity 6
  • C#
  • Netcode for GameObjects
  • Unity Transport
  • ScriptableObjects
  • Unity Input System
  • TextMeshPro

๐Ÿ‘จโ€๐Ÿ’ป Developer

Yash Londhe

Unity Game Developer

  • Multiplayer Systems
  • Gameplay Programming
  • AI Systems
  • Tools & Architecture

Portfolio: https://13augyash.wixsite.com/gamedevportfolio


โญ Project Status

Current Status:

Prototype / Vertical Slice

Core gameplay, multiplayer, AI, powerups, audio systems, VFX systems, and race flow are implemented and actively being expanded.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages