Delivery Dash

Delivery Dash is a Unity-based game project developed using C#. It features a GameManager to track delivery status, a GameTimer for countdowns, and various utility classes. Skills demonstrated include object-oriented programming, Unity game development, C# scripting, event management, and user interface design, with added visual effects and camera functionalities.

Developed using Unity 6.2

Project Overview

The Delivery-Dash project consists of several essential components that work together to create an immersive gaming experience. The core features are implemented in C#, utilizing the Unity game engine. Here are some of the key components:

  • GameManager.cs: This script manages the overall game state, keeping track of the packages delivered, spawning new packages and boosts, handling game over conditions, and displaying relevant UI elements such as scores and timer.

  • GameTimer.cs: This class manages countdown timers for different game states (e.g., searching for packages, delivering them), updating the UI with the remaining time, and triggering end-of-timer events.

  • Constants.cs: Contains a collection of constants used throughout the project, such as tags for various game objects, maximum allowed packages and boosts, and scene names.

  • Utils.cs: A utility class providing helpful static methods, such as logging messages for debugging.

  • Car.prefab: A Unity prefab file that defines the car object within the game, including its components and properties.

Skills

This project showcases a variety of programming skills and concepts, including:

  • Object-Oriented Programming: Implementation of classes and interfaces, using inheritance, encapsulation, and polymorphism.

  • Game Development with Unity: Proficient use of Unity’s ecosystem for creating game objects, handling physics, implementing collision detection, and managing game states.

  • C# Scripting: Writing C# scripts to control game logic, manage interactions, and handle user input.

  • Event Management: Utilizing events and method callbacks to maintain responsiveness in the game, such as triggering actions when timers expire.

  • User Interface Design: Creating and managing dynamic user interfaces using Unity’s UI toolkit, including text updates, button interactions, and animations.

  • Debugging Techniques: Applying effective debugging practices, such as logging messages to track game state changes and user interactions.

Other Features

  • Use of the Particle System to generate a smoke effect for the designated drop-off point, and pink trail effect for the ice cream truck

  • Use of multiple cameras to create a Picture-in-Picture view of the target customer