Project Bastion is a “shoot ’em up” game happening in 3D space: players build their own self-defense bastions and destroy others’ bastions and compete for resources. You need to maneuver through the dense barrage created by different kinds of enemy projectiles and try to locate and destroy the energy core somewhere inside the bastion to disable this devastating defense machine. Apart from challenging yourself in various pre-built levels, you can also unleash your creativity in the bastion builder mode. The bastion builder mode allows you to build your own self-defense bastions with 8 different kinds of bastion modules. You can fill the space with bullets with the Stormer module, or create a temporal protective shield using the Defender module. Build your invincible bastion and challenge your friends to destroy it!

Item Description
Role Graphics Programmer, Lead Designer
Timeline September 2017 - May 2018
Tools Used Unity, ARKit, Xcode, Photoshop

Key Activities

  • Designed the core gameplay mechanics and implemented behaviors for more than 5 kinds of enemy turrets
  • Designed and coded the bastion builder system with serialization/deserialization and a flexible UI
  • Utilized custom shader to achieve special effects such as holograms
  • Reduced frame time by about 50% with techniques such as batching and instancing


Many of the first wave of AR games, like the pet simulator AR Dragon and the puzzle game Conduct AR!, treats players as passive viewers of the virtual objects with limited agency to interact with the virtual world. However, one AR game called Pigeon Panic! is different because it uses player's movements in the real world directly as inputs to the amusing reactions of some scared virtual pigeons. This idea of a game world reacting to players' physical movements, together with my interests in traditional hardcore STGs like Strikers 1945, gave birth to the core mechanic in Project Bastion: players shoot at a bastion equipped with turrets while dodging incoming bullets.

After a short prototype stage, my work shifted to designing and implementing a variety of turrets. My first priority was to recreate the most important element of pleasure in traditional bullet hell games: the element of ilinx. The thrill of vertigo comes from the illusion that we become more vulnerable under the overwhelming bullet barrage. Thus the turret called "Stormer" was firstly created, which fires rapidly around you instead of towards you. Other kinds turrets was added to develop different rhythms. The red bullets fired by Crimson require instant reaction from the player, while the sphere energy shields generated by Defender encourage patience and push players to switch firing priorities. A flexible bastion builder system was designed and implemented later first to shorten our team's iteration time, as it often takes at least half an hour to install this game to an iOS device. Later we also decided to expose it to players so that a player can design a customized bastion and invite his friends to destroy it.