NetPets

Synopsis

Netpets was an exciting experiment I undertook to explore the potential of machine learning in the world of Virtual Reality. As someone who has always been interested in artificial intelligence, I was eager to see what I could accomplish with Unity's ML-Agents package and how it could enhance the connection between players and NPCs.

I decided to focus on an owner-pet relationship and chose a dragon as the NPC to avoid any uncanny valley vibes. My goal was to see if I could teach the dragon to fetch a ball using an incentive structure and reinforcement learning. While this might seem like a simple task, it was actually quite challenging to train a neural network to get the outcome that you expect. I had to spend a lot of time training the network outside of the runtime VR environment. Even with time sped up and with the use of parallelization, the training took many hours and even days rendering the possibility of doing the training at runtime irrelevant. This was because training a neural network at runtime is a complex and challenging task that requires a lot of fine-tuning and adjustments to the incentive structure to achieve the desired results.

Despite these challenges, I was still able to achieve success in training the dragon to fetch a ball and return it. Seeing the neural network learn and improve was a truly rewarding experience, and it made me even more excited about the potential of AI in the world of gaming and beyond. I was also able to test the result of the training in VR by simply grabbing the ball and throwing it, which allowed me to see how the dragon would respond and whether it had learned the tasks I had trained it to perform.

One of the things I enjoyed most about my experience with Netpets was the sense of accomplishment I felt when I saw the neural network learning and improving. It was fascinating to see how the incentive structure and reinforcement learning affected the dragon's behavior, and it was a great learning opportunity for me as well. I learned a lot about neural networks and how we learn generally, and I'm excited to continue exploring these topics in the future.

My experience with Netpets was a great learning opportunity that allowed me to dive deep into the world of reinforcement learning and explore the potential of using neural networks in gaming. I hope to one day return to this experiment and continue learning about AI and how it can enhance the player experience. I believe that when players spend time training a neural net, they will develop a special bond similar to the bond between a person and their pet, and I can't wait to see what the future holds for this exciting field.