D-Stack
ARCORE ARKIT WEBGL IOS/ANDROID PUZZLE UNITY
Roles: Game Designer, Programmer,
Artist
Project Timeline:
In development
Team Size:
3 People
Overview
A relaxed and easy to pick up arcade puzzle game that mixes Tetris and Jenga. The goal of the game is to try to take out as many blocks as possible from the tower without making it fall.
Contributions
• Project lead.
• All Programming.
• User Experience Design.
• Game design and idea development.
• Visual design direction.
The game was initially created in 48 hours built for PC, Mac, Linux and WebGL. You can play the WebGL version here.
Re-imagining for AR: Project Goals
• Become one of the first exclusively AR games on the Play Store and App Store.
• Gain experience designing and developing for AR.
Design
D-Stack is designed to be an accessible and quick arcade game. Initially, it was nothing more than a simple tower destruction game. However, through playtesting I found that the core gameplay loop was too simplistic, and there was not enough friction. To fix this, I made the blocks Tetris pieces to incorporate more strategic depth.
The mechanic of destroying the blocks was designed to be easy to learn. This connects back to one of the main design pillars of the game: accessibility. Making the blocks Tetris shaped allowed me to open up the game to creative solutions. This aspect makes the player think about the effects of the blocks in 3D space, which creates the right amount of friction and strategy.
Wireframing
First thing was wireframing the user flow and figuring out how to convey relevant information. During this stage, multiple different variations were created.
Game Flow
Low fidelity wireframe
High Fidelity UI
Creating a goal for the player
Problem:
Initially, the game had no goal to reach it was all about beating your own highscore. This worked well for about the first 10 minutes but after that, the engagement dropped off significantly. The motivation to beat your own highscore was not enough for some players.
Action:
Due to this evidence, I decided to create a goal for the user a greater motivation that they can strive for which was a target score for each level and once you have reached the target you unlock the next level.
Outcome:
• Increased user retention.
• Longer playtimes.
• Increased enjoyment.
Walking Around Tower vs. Rotating Tower
Problem:
Player's have to physically move around the tower to be able to play the game properly.
Initially, this was a design decision but it proved to be more of an annoyance for some user as they opened the app while sitting down and didn’t want to get up to experience the game.
Action:
I added a feature that lets you rotate the tower so you can experience the full game without the added friction of getting up and moving around.
Outcomes:
The negatives:
• Players no longer experience the physicality that AR has to offer.
• Previously people moving around while using the app made spectators curious about what the game was and increased attention around the game.
The positives:
• Reduces friction for a lot of players.
• Increases accessibility and locations you can play at.
• Increases accessibility.
• People can still choose to walk around the tower.
In the end, it was deciding between creating a unique experience or alienating most casual users. To me making the game less accessible went against what AR is trying to in the grand scheme; creating more natural interactions between the world and the user.
Local Multiplayer
Local Multiplayer currently works by passing the phone between 2 people.
Local Multiplayer Mode Low Fidelity Wireframe
Problems:
• Some users do not like to give their phone to others.
• Usability friction while passing phones between users.
Positives:
• Easy to start playing.
• Only requires one user to have an app (could be a negative looking from a marketing standpoint)
• Makes game social and allows it to be played as a party game.
• Creates a friendly environment by bringing the players physically closer during device pass off.
• Increases user retention.
Physics + AR + Performance:
This was a big challenge for me as having all three of these is almost impossible but essential to creating a smooth experience. In some situations, the game has over 100 physics objects.
Problem:
Over-heating and fps drop on lower end hardware.
Actions:
• Made physics objects sleep at a higher velocity threshold
• Limited fps to 30 users did not notice a difference
• Tried changing fixed update but made tower unstable and not playable
• Scaled screen rendering to 50% on phones and 60% on tablets
Outcome:
The game maintains 30fps on all devices without any overheating issues.
Outcome
The feedback from user testing has been very positive and I will continue to develop this project and hopefully publish it in the near future!
Currently, I have multiple deployed versions on Testflight actively user testing multiplayer mode.
In terms of prototyping for AR, I have learned a great deal about both the technical side and the workflow required to quickly iterate and create effective AR apps.