© 2012 Akshay S. Loke

Beneful

Concept:

Imagine a lush green dog park filled with dogs following you around. You can play fetch with dogs and also customise them to your liking. And all of this inside a subway station in NYC!


Challenges:

  • 60-feet long display
  • Lush green meadow with realistic grass, trees and terrain. About 20 life-sized dogs running around on screen.
  • Pedestrian tracking. Then dog gets assigned to pedestrian and follows him around
  • Main interaction was playing fetch with the dog and customizing his look, including his breed, size, fur, using Microsoft Kinects.
  • Also had to adapt this same application for smaller, more limited displays, which didn’t have pedestrian tracking and kinect interaction.

Solutions:

  • We used Unity3D for implementing this.
  • We ended up using 3 projectors for the 60-feet display. So we approached this as a multiplayer LAN game, with 3 different cameras looking at 3 horizontally sequential views in the same scene. We went for 1 server and 3 clients. The server handled the pedestrian tracking and the dog positioning logic, while the clients handled the rendering and the main interaction logic.
  • For pedestrian tracking, we used 4 industrial grade lasers mounted at ground level, and cooked up a user detection and tracking system based on triangulation of the person’s detected position.
  • We used Microsoft Kinects for the main interaction of throwing balls for the dog to play fetch, and to customize his look.
  • I also developed a custom fur shader, enabling each dog to have realistic fur of varying lengths and optimal enough to have it running on all the dogs on screen without any performance problems.
  • AI for the dogs needed to be autonomous and extremely robust to account for the various stimulii in the game. I elected to use and Intention-Motion-Action behavioral model. The Motion component would handle the actual physical motion of the dog, the Intention component would decide on its behavioral tendencies based on a variety of internal and external stimuli and the Action component would be responsible for the actual animations on the dog based on the physical and behavioral inputs.

Role:

Lead Developer

Leave a Reply

Your email address will not be published. Required fields are marked *