top of page
Top page

Drone Dash

Project name: Drone Dash
Made in 
1-Otober/2025 until 8-October/2025

GitHub:

github.png
second logo drone dash.png

Team size: 5

Tools used: Unity, visual studio (6000.2.2f1)  code C#, GitHub.

Description: I started working on a group project at the first week of my HBO study to get to know other students and learn the workflow of the University program. we had to make a simple unity 3D game for a quick gamejam so we all chose to make a game about delivering packages as a drone. Down below you can find the PLAY NOW button to link to my Itch.io page where the game can be tested.

My contribution

During this project I was the only Engineer meaning I overlooked all the code and setup all the art properly and also maintained the github repository. It was a short and simple project focused on easy collecting and delivering in the clouds.

drone dash starting point .png
first delivery.png
little bunny house.png

The artist in my team really loved animals so they decided to base the team around an city in the clouds that is filled with cats and bunny's. Obviously this scope was too big for a small project in 1 week especially when we barely know eachother and only had one coder which was me. But I managed to make a simple delivery system with updated UI to show what houses you have to go to and then drop a package when you are in the blue zone.

end of the map.png

Code snippets

dropzone id code snippet.png

Drop-Zone

This scripts focuses on the delivery destination, it is attached to the Player (the drone) and it checks the package ID code to make sure it can only be delivered at the right address when the package ID code is confirmed and the player pressed F then the package gets delivered.

pickupdrop script snippet 1.png

This section defines the core configuration and runtime state of the delivery system.

  • Serialized fields expose key gameplay settings in the Unity Inspector, including:

    • Maximum package capacity

    • Reload duration

    • Spawn position for dropped packages

    • Reference to the DeliveryManager

    • UI text used to display the current delivery objective

  • Internal variables track:

    • Current number of carried packages

    • Reload timer and reload state

    • The active DropZone the player is inside

    • The package ID currently assigned for delivery

During Start(), the system initializes the player with full package stock and retrieves the first required package ID from the DeliveryManager, ensuring the UI immediately reflects the correct delivery objective.

Purpose:
Establishes the data model and starting state for the delivery gameplay loop.

pickupdrop script snippet 2.png

This portion contains the core interaction logic that executes when the player attempts to deliver a package.

Key validation steps:

  1. Confirms the player is inside a valid DropZone.

  2. Ensures the zone is the currently active delivery target defined by the DeliveryManager.

  3. Prevents duplicate deliveries to already-fulfilled zones.

  4. Verifies the package ID matches the zone’s requirement.

If all checks pass:

  • A package prefab is spawned into the world.

  • Delivery progress advances via DeliveryManager.Advance().

  • The next required package ID is assigned.

  • The UI updates to reflect the new objective.

  • If all zones are completed, a completion message is shown.

Purpose:
Implements the sequential delivery rule system, guaranteeing correct order, validation, and progression.

pickupdrop script snippet 3.png

This final section handles resource management for the delivery gameplay.

Package dropping

  • When a package is dropped:

    • A prefab is instantiated at the configured spawn position.

    • The object is automatically destroyed after a short lifetime to prevent scene clutter.

    • The player’s package count decreases.

  • If no packages remain, the system informs the player that reloading is required.

Reloading System

  • While inside a reload zone, a timer counts down using Time.deltaTime.

  • Once the timer reaches zero:

    • Package stock resets to the maximum capacity.

    • Reloading state ends.

    • A confirmation message is logged.

Purpose:
Creates a controlled resource loop that balances delivery pacing through limited inventory and timed refilling.

bottom of page