top of page

The Astro Parcel Service (TAPS)

Contents

Overview

The Astro Parcel Service is an astrophysical package delivery game where players must propel clumsily through space and deliver packages  before the end of the workday and appease oppressive management

  • Engine: Unity 2019

  • Playtime: ~45-50 minutes

  • Platforms: Steam & Itch.io (PC & iOS)

  • Team: 16 People

Desired Experience

The goal of TAPS was to simulate the experience of working a terrible part time job; the feeling of having one thing you enjoy despite most of the things around you causing frustration. The ways to create this feeling was to give players a few fun, quick to learn mechanics while surrounding them with stress factors and make the stress increase over time.

Mood Map.png
OverallGameIntensity.png

Giving Players Something To Enjoy

Giving Players Somethig to Enjoy

Movement

Movement
  • Since space doesn't provide a large amount of friction, the player had to feel a slight struggle when moving through space. To keep things fun, a small rechargable impulse can be applied to give players a sense of control and added precision to maintain a fun frustration rather than making them want to quit. 

  • Players complained about lack of level visibility so I created a simple camera zoom function that smoothly lerps the camera in and out based on player speed.

CameraZoom.gif

Packages & Inventory

*Numbers correlate to gif order

Packages&Inventory
  1. Originally players had to make contact with the packages directly with the model. Due to movement not being precise, this caused a ton of frustration. The remedy was to create a field around the player that can detect packages. 

  2. To allow players to deliver packages with minimal precision needed, it was decided that players simply need to throw packages at houses. Humor of the absurdity combined with audio of contents occasionally shattering made players giggle or smile when completing orders. To guide player aim, I worked with an artist to create the aim line shader. 

  3. I created a sorting method that allows players to sort through their inventory so that they don't have to throw packages and recollect them in order to complete a delivery. The sorting can follow two directions:

    • Front package goes to back​

    • Back package goes to front

  4. Having the sorting method created moments where the player could escape from potential traps or allow players to get out of sticky situations with minimal loses when combined with the throwing feature.

  5. The inventory was scripted to behave like a chain link. If one is destroyed, all others behind it are lost until recollected or destroyed. I did this through a reverse for-loop that would remove each package from the inventory until it reached the correct index.

Package spawning and "destruction" was optimized utilizing a basic object pooling approach; objects are pre-loaded then activated/deactivated as needed. Packages spawn behind torus rings to hide popping.

Package Delivery

  • Due to the odds of losing packages getting higher as a player progresses through the game or a package not being available for a large order, I scripted a demand timer bonus when a package is delivered. 

  • The timer bonus is modular and can be edited per house, per level.

TimeRefill2.gif
PackageDelivery
AsteroidHomeEditor.png

Teleportation

Teleport
  • Providing players with a quick way to snap back to where the packages spawn allows them to breathe for and prioritize which house to go to next.

  • Taking away the return travel time  due to the map being so large and package orders coming in quickly made each level easier to balance and test.

  • This feature also came in handy for resetting the player if they went out of bounds or got sucked in by a black hole.

Teleport.gif

Accessibility

Accessibility
  • It's possible to play the entirety of the game with two fingers. All of the controls are mapped to the mouse (aside from pausing the game and alternative key press for teleporting). I scripted a movement inversion option that updates all visuals to reflect the changes.

Providing Stress On The Job

Providing Stress On The Job

Score Demands

  • The goal of the game is to get more stressful slightly faster than the player might be able to manage, much like being thrown into a job with minimal training and being expected to do excellent. To simulate this,  I increased score demands almost every level with minor changes to time alloted.

Star Ratings per Level.png
ScoreDemands

House Demands

HouseDemands
  • Houses were set up to be individually adjustable per instance 

  • Houses can order 1-3 packages at a time. Package numbers are chosen based on a random number chosen between 0-1. If capacity is 2, any number above Two Package Perc will trigger two packages getting ordered

  • If capacity is 3, a number lower than 2.P.P selects one, if it is between 2.P.P and 3.P.P it selects 2 and selects 3 if it above that value.

  • Count down time is how long the player has until the order is missed and they lose points.

  • Delay time is how long the house waits after their order is missed or fulfilled until placing another order.

  • Timer bonus is how many seconds are awarded for turning in a single package if they have more than one package ordered.

AsteroidHomeEditor.png
Number of Houses per Level.png

Layout Changes

  • Not only do houses slowly get added but  obstacles change location and more were added. 

  • Ideas were sketched using picture #5 & 6 as inspiration for patterns found in space.

  • Pictures #2 & 4 show how the levels actually change from workdays 5 to 6. The astrobursts give the illusion that there is more space when those could cause more issues by spawning black holes (see Types of Obstacles).  The shield of static asteroids force players to take a different path to get to the house depending on the status of black holes in the area.

LayoutChanges

Types of Obstacles

TypesOfObstacles
  • Asteroids' single purpose is to slow the player down or force them to navigate in a different direction.  Due to the behavior of the inventory belt, these also have the capability of getting the player stuck or bumping the player or packages into other obstacles that cause more issues.

  • Seen from start to end of the game.

Asteroids.gif
  • Breakable asteroids are a variation on simple asteroids where they spawn additional, smaller ones when they are hit, resembling chunks of ice found in space. They provide extra stopping power, especially when in groups. They have a higher chance of bringing the player to a complete stop and their spawn can cause their inventory to get stuck as well.

  • Seen from start to end of the game.

BreakableAsteroids.gif
  • Astrobursts are exploding stars that act like a trip mine. It's triggered by the player or packages getting close. They have the capability to spawn black holes, just as real stars can when they implode. This can create permanent barriers in the level that make the level much harder than when they started if they are reckless. 

  • First encountered on Workday 6.

Astroburst.gif
  • Black holes have the potential to completely destroy player inventories and force the them to return back to the center and start their trip all over again. If these are in the level, they present higher risk to those who carry several packages at a time. 

  • First encountered on Workday 4.

Constant Reminder of Time

TimeCountdown
  • The timer originally would fade out and reappear every 30 seconds but players complained about not knowing how much time they had left, especially toward the end. To add emphasis to when time is running out, I added a zig-zag animation to the clock with a color change to catch players' eyes.

Timer.gif
bottom of page