ImageRobin (Ruobing) Li is a programmer in Carnegie Mellon University 's Entertainment Technology Center. He recieved B.S. in Computer Science, and minor in Finance from Zhejiang University. Right now he is working on robot HERB drama performance project in CMU ETC and Robotics Institute.

Image 1

Project role: Programmer for MVC GUI controller for robot drama performance

Experience with

  • Languages: C, C#, C++, Java, Python
  • Data Visualiztion: Java Processing, Java Prefuse, VTK
  • Game Developing: Unity 3D, C#
  • Graphics & Vision: OpenGL, GLSL, OpenCV, Matlab
  • Coud Computing: AWS, Hadoop, MapReduce, HDFS, Nosql
  • Web: HTML5, CSS, PHP, JS, Jquery, Mysql, Hbase
  • Robotics: OpenRave, ROS
  • Mobile: Android
  • Hardware Platforms: Eyetracking, Oculus VR, Kinect, PSmove, cardboard VR

Interested in

  • Game AI, Procedural Generation
  • Data Mining and Visualization
  • Virtual Reality, Eyetracking, EEG
  • Cloud-based applications / services

A game controlled using eyes and mind

"Building Virtual Worlds" is ETC's core course, the groups fast-prototype games in as short as 1-2 weeks, with the teams changing with each of the projects, fostering students' fast prototyping ability and team work.

Project role: Programmer and interaction designer

A game controlled solely by eyes and minds. Eyetracker-based navigation control provide intuitive, highly-reflective and natural game interface. Your attention level determines the speed of the character and meditation level determines the radius of vision.

Platforms: Eyegaze Edge eyetracker, Neurosky EEG

Game AI: using A* pathfinding algorithm ManhattanDistance(current, target) as heuristic function.*

Maze Generation Algorithm: randomized Depth First Search, it fits our game better than Kruskal's and Prim's method of maze generation.

Networking: For the two player version (one as tomb-raider and one as ghost), I used RPC calls and State Synchronization.

Looking forward: Human eye movement data contains rich and yet hard-to-decode information about our intention and emotions. If we could explore and utilize it well, it could provide much more intuitive and reflective input than traditional mechanical inputs like keyboard and mouse, on a Human Computer Interaction perspective. Please email me if you want to share your thoughts and great ideas :D

Honors: Eyegaze Eye Tracking Application of the Year 2013 Award.
Image 1 Image 1

Programmer: Ruobing Li | Sound Designer : Seungsuk Cho | Aritist: Yeqing Deng

In this demo, A* AI was turned off for easier gameplay, here is another demo and pseudo code of A* in a maze.

Generating a maze using Randomized Depth-First Search

A* Pathfinding Algorithm Implementation in Maze

Game play controled using gyroscope on an Android phone.
A* Path finding update is called every 0.3 second. Red dots denote the shortest path. Pseudo code at the end of Video.

Procedural map generation: Cellular Automaton Algorithm

A cellular automaton is a collection of grids that evolves according to a set of rules based on the states of neighboring cells. It's studied in computability theory, mathematics, physics, complexity science, theoretical biology. The concept was originally discovered in the 1940s by Stanislaw Ulam and John von Neumann. But hey, let's talk about how it procedurally generates random game maps for us.
First, generate 2D int array with binarized Perlin Noise, 0 representing road (walkable), 1 representing trees (non-walkable). Then iterate smoothing the 2D array by the rule: map[i][j] = (GetNeighborCount(i,j) > 4? 1:0) ,for each and every tile. After 8-12 iterations, the treeCount will converge to a constant. The same algorithm could generate cave, dungeons, islands and so on.
You could also use pseudo random generated by hash function of a string token, so that you will always get a same map if you use the same string token.

The Old Cowboy - Oculus Rift VR + PSmove Game

3D-printed game model, the horse

Image 1
The Old Cowboy

My role: Programmer

An immersive game using head mount display Oculus Rift and PS move, with virtual reality horse riding experience about an old cowboy sheriff fighting against bad guys and finding back the hero that's in himself.
The road/buildings segments are dynamically generated/desctroyed to save rendering memory. We also used interactive cloth to simulate the rope, and used state machine for the toss-and-capture mechanics.


Programmer: Yan Zhang, Ruobing Li | Sound Design: Hyunghwan Byun | Aritist: Xiangting Li, Dome

Through the Dark - Oculus Rift VR + PSmove Game

Image 1
Through the Dark

My role: Programmer

A transformational game experiencing blind people's world. We used 5.1 Surround Sound to enhance auditory feedback in order to give guidence to the "Blind" player.
"This was a genius idea, executed with care. I remember Randy Pausch used to say, there are days when people find a way to take the midium to a new height, I think this is one of those." -Jesse Schell


Programmer: Ruobing Li, Anthony Scott | Sound Design: Marco Vieira | Aritist: Rui Trindade, Shirley Park

Whack A ETCer - Makey-Makey Game

Whack A ETCer

My role: Programmer

One week game project aimed to harness fast prototyping.
Whack a mole? Whack a ETCer! We made the game platform in woodshop using arduino makey makey as input device. And a combo-and-perk system is built onto a traditional whack-a-mole game.


Platform made using arduino makey makey

Image 1

Programmer: Ruobing Li, Hao Fu | Sound Design: Guo Wei | Aritist: Nayoung Kim, Rui Rela

Chicken Run - A Kinect Gesture Game

A Kinect game helping the chicken escape KFC Colonel Sanders's trap! My role: Programmer

Programmer: Ruobing Li, Prajwal Manjunath | Sound Design: Jerry Chen | Aritist: Cewon Kim, Yeqing Deng

Previous Works


Data Visualization for Game Theory experiment

Visualizing of experiment data of Rock Paper Scissors game, and developing a statistical analysis tool for the datas.

Related article on MIT technology Review

Research work: Prof.Xu Bin Dr.Wang Zhijian | Special thanks : Wang Zunfeng | Visualization developed by: Ruobing Li

Thanks to Processing developer: Ben Fry and Casey Reas


Moon Explorer Car Simulation

Simulating Moon exploring scene.

Used: Unity3D, reflection shader, C#



Robot Ping-Pong Playing Controller

Used OpenCV for object detection.

Helped with multi-camera positioning.

Learned a lot about computer vision, real time motion-planning and OpenRave.

View video

back to top

Life and Hobbies

My hobbies include table-tennis, coding, photography, piano, swimming, cooking. I'm a fan of classical music ;-)

Some Previous Piano Recordings:

Forrest Gump opening piano song

Fur Elise, Beethoven

Moonlight Sonata, Beethoven

J.S.Bach’s Prelude and Fugue in C-sharp minor

Beethoven’s Symphony No.5, Liszt Transcription

back to top

Contact Information

Contact Form

Where We Are


Carnegie Mellon University
Entertainment Technology Center
700 Technology Drive, Pittsburgh PA 15219



Email: robinlee (at)

back to top