SIGGRAPH 2018: Using Machine Learning to Create Game Simulations

Intel® Software Innovator Team Uses Reinforcement Learning to Design Simulation Models

Using reinforcement learning, Intel® Black Belt Software Developer Abhishek Nandy and his team of Intel® Software Innovators from across India combined their experience to design a model to create game-based simulations.  The team will be demonstrating their project, SimulatedML, in Vancouver this August at SIGGRAPH 2018, a five-day event showcasing the latest tech in computer graphics (CG), animation, virtual reality, games, digital art, mixed reality and emerging technologies. 

Project:  SimulatedML

This project creates machine learning-based simulations on the Unity* Game Integrated Development Environment (IDE) using a reinforcement learning approach.  Executable programs are trained to create simulations resulting in modeling the realistic and smooth movement of objects in games.  Starting from scratch, the team successfully created sample game object simulation models to get their project started and will move forward with advancing the technique.  Being able to visualize the simulation while in action allows them to perceive better results and sets this apart from the competition.

In order to create a more accurate model, the team focused on using the Intel technology pipeline to produce the best results.  Their process starts with training the simulation using Intel® Distribution for Python* and then sourcing the internal byte file generated when using Intel® Optimized for TensorFlow* to achieve a better final outcome.


Using an artificial intelligence angle to create computer graphics is what sets this project apart and makes it an interesting project for the group to demonstrate at SIGGRAPH.  Training simulations through machine learning is a new way to look at this type of asset creation and the audience at the event will be able to provide valuable feedback about ways to enhance this process even more.

Project Challenges

The team experienced challenges when attempting to create the environment in Anaconda and run the training.  By creating sample environments and using Intel® optimized frameworks when applying their training procedure, they were able to overcome this roadblock.

Technical Details

The team used laptops with Intel® Core™ i7 processors as a base for their project and Unity ML-Agents to develop and test their AI algorithms as part of the reinforcement learning process.  Results were improved when training the simulations using Intel® Optimization for TensorFlow* and Intel® Distribution for Python*.

Next Steps

Future phases of this project include extending to a virtual reality (VR) platform to showcase the different experience when applying Intel -optimized frameworks as part of the AI pipeline.  The team is also interested in adding an IoT angle to the project by performing the inference on a low-powered Intel® Movidius™ Neural Compute Stick (NCS) and then attaching an UP Squared* board, which would allow them to quickly see the results via visual output to a monitor.

Intel® Software Innovator Team

Team includes Intel Black Belt Software Developer Abhishek Nandy and Intel Software Innovators Manisha Biswas, Risab Biswas and Avirup Basu.  Manisha has been eager to have the group work together on a project that uses Unity and machine learning, so when Unity announced their ML-Agents, they decided that would be a great project to join forces on.  While team members are located in different geographic locations across India, they have worked together many times and have a good history of working collaboratively to strengthen different aspects of their projects.

Learn More about the Intel® Software Innovator Program?

Read about our innovator updates, get the program overview and learn about innovator benefits.  Check out Developer Mesh to see a variety of projects from our community of innovators.

Interested in More Information? Contact Program Manager  Wendy Boswell

For more complete information about compiler optimizations, see our Optimization Notice.