Lingyi Zhou
Portfolio Website
All My Works

Ex. AR Engineer @ Snap Inc.
Ex. Unity Engineer @ Unity

MFA Design and Technology @ Parsons
MA Game Design & Development @ Columbia
XR Developer
AR Development in Lens Studio & Effect House.
VR Development in Unity for Oculus Quest and Apple Vision Pro
Game Developer
Unity Development for desktop and mobile games
Shader knowledge and development experience
3D Designer
Blender and Maya for stylized and realistic modeling and rendering  
Cinema4D for animation and procedural modelling  
Full Stack Engineer
React front end + FastAPI Backend + Postgre database
Graphic Designer
Adobe Indesign, Adobe Illustrator

Snapchat Glass Bridge Challenge (2025)


Bridge Challenge combines Squid Game's glass bridge with endless runner mechanics. Built as a full async multiplayer game in Lens Studio. My programming work set up game manager system based on newly release Turn Based Game feature in Lens Studio. 

Tech Stack:
  • Platform: Lens Studio (Snapchat AR)
  • Language: TypeScript (ES2019)
  • Architecture: Event-driven + Handler Pattern
  • Character: Bitmoji SDK Integration
  • Multiplayer: Async via Snapchat Messages

Core Challenges

  • Early async multiplayer games after Lesn Studio released their Turn Based Game feature.
  • Async data handling through Snapchat message

Core Concepts

  • Inspired by Subway Surfer + Squid Game
  • Turn-based competition via messages
  • Cute 3D fantasy world with Bitmoji
  • 2-3 minute gameplay sessions
  • Win by using fewer attempts

How the game work for 2 players

  1. Player 1 attempts the bridge challenge
  2. Game tracks attempts until success
  3. Share via Snapchat message
  4. Player 2 faces same challenge
  5. Winner = fewer attempts

System Design for Scalable Game Complexity and Use for Future Games

TurnBasedGameManager/
├── TurnBasedHandler.ts    # Turn logic
├── LevelHandler.ts        # Platform gen
├── UIHandler.ts           # UI states
└── TurnBasedBlock.ts      # Collisions

The Handler Pattern

The system employs a modular handler pattern where each handler owns a specific domain of game logic. This architecture separates concerns cleanly—TurnBasedHandler manages multiplayer turn logic without knowing how platforms generate, while LevelHandler creates levels without caring about UI states. Each handler communicates through GameManager main script and events, not direct references.

Event-Driven Communication

Besides tightly coupled components, the system also uses an event bus for all inter-handler communication and game stage transitions. Setting up registration on the start and end of each stage enable future creators to use this system for other games and enable me to scale up more complex mechanics, such as transition animaitions. 

Prototype Progress Recordings

  • Early prototype of the level in Lens Studio with generated endless platforms.
  • Each row has 2 blocks, with one that’s holding you and one that’s fake 

  • -08-29-2025


  • New game models added to the game
  • UI Added to show more information about the game
  • Relay information through Snapchat works for 2 players with data transfering successfully affecting game UI display


  • -09-03-2025
An endless version, that each players unlock new level with more rows when they reaches end, 

Coperative idea: the second player try based on what the first player did, which makes it infinite levels. 

Competitive idea: Compete with less try count for completing a level or the further level that they get