photon explosion.

An arcade fast-paced game about spreading your photons to take over other planets and survive


Technical Game Designer


4 Weeks


Team Size:

design goals

Design a game that could be commercially successful

Explore game design for procedurally generated levels

Design fast-paced and arcady game

design for high KPI and low CPI


How to catch players attention immediately and keep them retained?


Make the game snackable
To make a game snackable, it needs to be something player can play anywhere and anytime, which means that it has to have a tight and short gameloop where the player doesn’t have to invest a large amount of time to understand it.


Peter is on the bus station and he is casually going through his phone and doesn’t know what to do to kill time. However, he suddenly sees Photon Explosion and remembered that time takes to play this game is short and the gameplay is very engaging, so Peter opened the game and played until the bus came.


The gameloop was designed to be short and tight. 
It looks like the figure below:

untitled (1).png

Increase visual dynamics helps reduce CPI because users are often attracted by a large amount of moving and colourful items.

CPI: Consumer Price Index

POWERUPS (1).png

gameplay/mechanics design

core mechanics

The core mechanics of Photon Explosion is to drag and drop photons to different planets for them to grow and maximize their numbers.


How can I expand on the core mechanics to add more variations to the game and make it enjoyable to play?


Solidify the design pillars and gameplay loops then iterate on different gameplays to see if they fit.


Design Pillars:

  • Numbers growing

  • Fast moving objects

  • Command large amount of objects

  • Instant decision making

After testing dozens of gameplays, I solidified on the following:



Power ups

Big planet.PNG

Big planets

Big moving planet.PNG

Big moving planets

Decision making process Before and After

untitled_2x (1).png





Adds more variations to the game and tightens the main game loop.

design for procedural generated levels


How to design and balance the gameplay with infinite amount of levels?


Make modular levels
Making modular levels means that I as a designer have more control over what I want player to experience. 

What does a modular level mean?
Instead of making everything completely random, I made different sets of levels that are usually combinations of 7 - 15 planets and 1 - 3 power-ups with manually tweaked difficulty ranges from really easy to really challenging.


Easy module: 12 planets

11 small + 1 big

Medium module: 8 planets

6 small + 2 big

Medium module: 8 planets

6 small + 2 big

Hard module: 7 planets

6 small + 1 big moving

Hard module: 7 planets

6 small + 1 big moving


I get to control what player experiences instead of giving them completely random levels.


How to iterate on the balancing and the aesthetic fast?


Make tools.
It is important for me to create a tool that allows me to change the balancing and the aesthetic of the game fast without going into each script and prefab. Therefore I created a customizable level/color editor that gives me control on the difficulty of the game depending on the progress player makes as well as the color for everything. 

Below are some screenshots of the tools I made for Photon Explosion.



General data allows me to control and change data of every prefab


Color palette tool allows me to change color of everything and apply instantly



Power up tool allows me to change the description, color, name, prefab, and function of the power ups

a video demonstration of how my customizable color palette works


I’m able to use my time 10 times more effectively and made more iterations in the limited amount of time I had.


Player gets in the flow easily where their knowledge and skills are constantly being challenged while it’s not too hectic.

Asset 2.png

okay, so how did the game do?

The game turns out to be more successful than I expected, and attracted 2,500 users in total with a daily average of 200 users.

Group 2.png