River Liu

Wizard Apprentice & Game Developer

About Me

River Liu

Wizard Apprentice & Game Developer
The wizard apprentice who has spent the last ten years studying and practicing the art of code, and is now on her journey to explore the uncharted land of VR storytelling with her friends.

In the night, she develops her own indie games, just because she loves to do that. She creates a new game every week. Previous games are featured at Tuesday Night Games
Resume

Projects

Project Mystique

Platform: Oculus Rift and Touch
Development Tool: Unity/C#, Cg
Development Period: 14 weeks
Team Size: 4
Roles: Architect – Gameplay Programmer – Designer

Introduction

Mystique is a VR research project at ETC-SV. We are using Oculus to evoke precise emotions through stories and to provide the user with a completely new immersive storytelling experience, creating an aura of affinity that makes them feel stronger than they have ever felt before. Through the medium of this totally immersive environment created by Virtual Reality, we will explore creative ways to really bring people into story – To see what we see, to hear what we hear and to feel what we feel. We hope that this experience makes them feel it is not just a story, it is a memory.

Find out more at Project Mystique

My Contributions

As the architect and gameplay programmer, I designed and implemented:

  • The whole gameplay system and game flow
  • Fish movement simulation
  • Interactions and control schemes
  • Game AI and real time path finding in 3D space
  • Graphic shaders for special visual effects
Fear Forest

Platform: Web browsers
Development Tool: Unity/C#
Development Period: 50 hours / 1 week
Team Size: 1
Roles: Designer – Programmer – Artist

Introduction

Fear Forest is a personal project for Tuesday Night Games. It is 3D open-world game created with a given theme “fear”. It tells the story of Ima, a young member of the Kumu tribe. As part of the rite of passage to maturity, Ima must go to the heart of the Fear Forest in the middle of the night to uncover the secret behind courage.

This game was demoed at San Francisco Demo & Play Night at Microsoft Reactor, on March 2017. And it will be demoed at SPRING PLAY: San Francisco Game Expo.

My Contributions

As the solo developer, I designed and implemented:

  • Gameplay system and game flow
  • Procedurally generated 3D maps
  • Quest system
  • Navigation system
  • Sound and voice over management
  • WebGL optimisation
  • All the art assets

I also did:

  • A lot of playtests
  • At least 11 iterations. All documented on GitHub
  • A public presentation at Microsoft Reactor, San Francisco, about the iterations of this game and how I created a game every week

itch.io: Play on itch.io

GameJolt: Play on GameJolt

Tuesday Night Games: WebGL

Github: Project description and source code

Light Stealer

Platform: Web browsers
Development Tool: Unity/C#
Development Period: 30 hours
Team Size: 1
Roles: Designer – Programmer – Artist

Introduction

Light Steal is a personal project for Tuesday Night Games. It is a platform game created during the GDC week with a given theme “stealth”. In this game, guest steals light from the palace of darkness, while avoids being seen by the guards. Inspired by Journey (2012), Mark of the Ninja (2012), and Prince of Persia (1989).

This game was demoed at San Francisco Demo & Play Night at Microsoft Reactor, on March 2017. And it will be demoed at SPRING PLAY: San Francisco Game Expo.

My Contributions

As the solo developer, I designed and implemented:

  • Gameplay system and game flow
  • Procedurally generated platform
  • Reward system
  • Sound management
  • All the art assets

I also did:

  • A lot of playtests
  • At least 3 iterations. All documented on GitHub

itch.io: Play on itch.io

GameJolt: Play on GameJolt

Tuesday Night Games: WebGL

Github: Project description and source code

Fluffy Combat

Platform: Web browsers
Development Tool: Unity/C#
Development Period: 30 hours
Team Size: 1
Roles: Designer – Programmer – Artist – Musician

Introduction

Fluffy Combat is a personal project for Tuesday Night Games. It is a platform game created over a weekend with a given theme “combat”. Guest helps Fluffy to defeat evil ghosts and escape the forest fire. It is capable of supporting either single player or multiple players, one using WASD, while another one using Arrows to control the movement and attack. It was a solo project I created from scratch. One of my inspiration was an article titled How to Prototype a Game in Under 7 Days written by ETC alumni Kyle Gray, Kyle Gabler, Shalin Shodhan, Matt Kucic, from the year of 2005.

This game was demoed at WINTER PLAY: San Francisco Game Expo at Microsoft Reactor, on February 2017.

My Contributions

As the solo developer, I designed and implemented:

  • Gameplay system and game flow
  • Procedurally generated platform
  • control system
  • Sound management
  • All the art assets
  • All the sound and music assets

I also did:

  • A lot of playtests
  • At least 3 iterations. All documented on GitHub

itch.io: Play on itch.io

GameJolt: Play on GameJolt

Tuesday Night Games: WebGL

Github: Project description and source code

Surfing the Great Wave

Platform: Web browsers + Android
Development Tool: Unity/C#
Development Period: 48 hours
Team Size: 4 (complete strangers before teamup)
Role: Programmer

Introduction

Surfing the Great Wave is a platform game created for the Global Game Jam 2017. Guest helps a prince to surf a tsunami wave that is covering a Japanese village. He needs to dodge floating obstacles and survives as long as he can. We got the first prize – Jammers’ choice of this jam site.

My Contributions

As a programmer, I:

  • Brainstormed and worked with team to design the game
  • Implemented inputs, interactions, movements
  • Cooperated with teammates to polish iteratively
  • Documented and upload

Visit the game page for team information, source code, GGJ 2017, and more. And you can play the game now with a valid web browser!

Havoc

Platform: Windows Server + Mobile Devices (iOS/Android/Web) + HTC Vive
Development Tools: Yii2/PHP, MySQL, HTML5/JS, Unity/C#
Development Period: 2 weeks (+2 weeks for the jury/festival)
Team Size: 5
Roles: Programmer – Producer

Introduction

This is a “massive” multiplayer online VR game where 12 guests in 2 teams, who access the game through mobile devices or web browsers, try to work with their team to drain power from the core by building energy towers with limited resource, and one guest plays the Mech warrior in the VR space to protect the core by smashing towers with its hammer. Towers have to be built in a certain pattern to enable the draining, and whoever is closer to the core gets more energy. Game ends when the Mech warrior protects the core successfully for 3 minutes, or the mobile players drain all the energy from the core.

My Contributions

As a programmer, I:

  • Designed the game system, including player management, game flow, gameplay and battle control
  • Designed and built the network system for mobile-server-Unity communication
  • Designed, implemented and maintained the database for player management, game flow control and communication
  • Built the game/web server with Yii2 framework, and implement all APIs for mobile-server-Unity communication
  • Built the website for mobile players. It includes login/logout, handshake, authorization, interactive tutorials, team formation, gameplay, result announce and leaderboard/ranking
  • Optimized the network system to minimize the query time and reduce and overall load for different browsers (Chrome, Safari, Firefox, IE8+)

As a producer, I:

  • Oversaw creative and technical development
  • Worked with team to determine daily goals, interim goals, final goals, jury goals and festival goals
  • Developed and maintain schedules. Ensure timely delivery
  • Scheduled meetings with faculties regularly (1-2 times a week) to discuss the gameplay
  • Arranged for playtests during the development process and modify the game accordingly
  • Planed for festival and help to decorate the room
  • Created and maintain the social media accounts for this project, including Facebook and Instagram
State diagram for server side

State diagram for server side

EER diagram for player management

EER diagram for player management

Lost in Space

Platform: CAVE + MaKey MaKey
Development Tools: Unity/C#, Photoshop
Development Period: 2 weeks
Team Size: 5
Roles: Programmer – Producer

Introduction

CAVE is a flexible 3D integrated platform system designed and built by ETC faculty and assisstant teaching professor Ruth Comley.
It is an immersive virtual reality environment where projectors are directed to three of the walls of a room-sized cube.
It also includes the Motion Floor (controlled by four air bags and Phidgets) to simulate movements on bouncing terrain, and the DMX Lighting (controlled by OSC messages) to utilize the lights.
The game tells the story of two brave astronates travelling in the deep space, being attacked by aliens, being betrayed and tricked by their authority and finally trying to save themselves and their families on Earth.
Two guests are involved in this game. One is the pilot (who controls the movement of the spaceship alpha, sometimes he/she needs to shake the ship to get rid of the aliens).
And the other one is the engineer (who needs to decode transmitting signals and initiate a live connection with the command center).
Two guests have to corporate to be able to establish a successful connection during an alien attack, otherwise the aliens will damage the ship and interrupt the decoding.

My Contributions

As a programmer, I:

  • Helped the team to develop the story
  • Mapped the DMX lighting, study the Motion Floor and Unity integration to get full control of the CAVE environment
  • Broke the story into states and create a state machine to control the sequences
  • Controled the DMX Lighting, the Motion Floor and the 3D audio system based on the state machine to create dramatic effects
  • Designed and built the spaceship UI. Create 2D UI animation with Photoshop
  • Created a game UI that accepts guest names and project them on the spaceship UI
  • Conducted CAVE tests on daily basis, 1-4 times a day

As a producer, I:

  • Oversaw creative (art and design) and technical development
  • Worked with team to determine daily goals, interim goals and final goals
  • Developed and maintained schedules with Trello. Ensure timely delivery
  • Scheduled meetings with faculties to discuss our story and gameplay
  • Resolved conflicts during discussion
  • Boosted team’s morale
  • Helped to build props (buttons connected to MaKey Makey)
  • Arranged for testing
Run, Cozmo, Run

Platform: Anki’s Cozmo the robot
Development Tools: Cozmo SDK/Python, Flusk, HTML5/CSS3/JS
Development Period: 1 week
Team Size: 5
Roles: Programmer – Producer

Introduction

Worked with Anki’s Cozmo the robot using a Python SDK (alpha) to design and develop a multiplayer experience with the robot.
The guests initially charge the robot with taps on interactive cubes, then move on to use a ps4 controller to navigate a physical board avoiding obstacles, securing goods.

My Contributions

As a programmer, I:

  • Set up Cozmo and the interactive cubes. Explored the SDK and report to the team
  • Learnt Python
  • Built a flusk server to control the movement of Cozmo
  • Wrote a PS4 wrapper to control Cozmo with PS4 joystick directly
  • Designed and built a game UI and create UI animation with HTML5
Survivor in the Forest

Platform: HTC VIVE
Development Tools: Unity/C#
Development Period: 2 weeks
Team Size: 5
Role: Programmer

Introduction

Developed an intense survival game, for the HTC Vive where the guests have to survive a winter night in the woods.
The guests have to start a campfire and keep it going to stay warm. Finally the guests have to stave off hungry wolves by using a lit torch until help arrives.

My Contributions

As a programmer, I:

  • Researched HTC Vive. Explored the posibilities and report to the team
  • Helped the team to develop the story
  • Designed and implemented the interaction map. Categorised the interactable (or fireable) things into different classes and implement their interactions accordingly
  • Designed and built the enemy management system, the event control system, and the sound management system.
  • Worked with visual effects and shaders to create dramatic moments
Mushie’s Adventure

Platform: Oculus VR + Leap Motion
Development Tools: Unity/C#
Development Period: 2 weeks
Team Size: 5
Role: Programmer

Introduction

Designed and developed an interactive experience using Leap Motion with Oculus VR.
The guests use hand gestures to create shapes that are used to defend against invading witches.

My Contributions

As a programmer, I:

  • Researched Oculus VR and Leap Motion. Explored the possibilities and report to the team
  • Helped the team to develop the story
  • Designed and implement the hand gesture recognition mechanism
  • Implemented the enemy management system
  • Implemented the game flow and gameplay