project

ARBALLGEDDON

Trailer

placeholder for project video

Ideation_

The first thing we decided was the game's main pillar: Augmented Reality. We want to push this feature to the front to encourage users to make use of the freedom to move around a game environment. Every design decision should complement this pillar.

After a brainstorming session, we decided to make this 8-ball-pool-inspired physic because having one simple shooting the ball interaction allows us to focus more on the AR integration and having tall walls around the environment encourages players to move around to observe the level.

Early concept art by me
Early concept art

Programming_

A virtual joystick is used to control the player ball. There are two reasons why this control is used. First, it doesn't interfere with the AR camera system, making it less complex to control and program. Second, we researched similar games like What the Golf and Monster Strike. Both games used control schemes similar to a virtual joystick, so we decided that making something similar can be more intuitive for the user.

During internal testing, I found it hard to predict how the input on the joystick will translate into the game world. So I added a prediction line system to help the player to see where the ball's trajectory before firing. I used Unity's standalone physic scene simulation to make prediction lines to assist the player to see where they are aiming. Unfortunately, the trajectory prediction after bounces is not very accurate since the physics of the player ball is customized to be more bouncy than what a simulation would yield.

Virtual joystick controls and prediction line
Screenshot of game. D-pad from the asset store

User Testing_

There are two focuses for user testing: game design and user experience. My focus was on the user experience side.

The main issue is how big the level was. The level requires a 1-meter x 1.6-meter flat open space to play (not even including the trees outside the level). That was too big for most people. To fix this, I thought of adding a slider that could control the scale of the level, but there was 1 big problem: the game physics relyed on Unity's built-in PhysX engine that ignores scaling. So if I scale the level by 0.5 (half the original size), the ball will move twice as fast. The solution used to solve this is to scale the AR session and camera object inversely with the level as the scaling origin point, to make the illusion that the objects are scaling down.

Full-size level vs scaled-down level
side by side images of the level big and small

I made some other changes suggested by Nikolas, our game designer. A hit point system is added to destroy the enemy ball easier by ramming into them at high speed. The level and player physic were also tweaked to enhance the game feel.

Final game screenshot
screenshot new levels/final look of the game

Second Round of User Testing (WIP)_

This project is ongoing as the writing of the portfolio, I will add in the final conclusion after the deadline to use later.