top of page
training.gif
ML-Aided Game Production
Pong VR

"Face the power of artificial intelligence!"

Overview

Design Context

As the word "AI-Aided Design" has become the most popular term in 2022, Game designers also realized the importance of Machine Learning.

Solution

Working with AI Designer Mitchell Foo, We created a VR game where players will fight AI agents. The agents are designed through a demonstration dataset given by the game. Using Machine Learning, they develop their own playstyles and improve their performance based on a rewards and punishment system.

Timeline

4 Weeks

My Role

Game Designer, UI/UX Designer, Gameplay Engineer, 3D Artist

Tool Used

Unity 3D, ML-Agents Toolkits (For Unity), Blender

Demo Video

Design Process

What & Why

How did we begin this?

As the word "AI-Aided Design" has become the most popular term in 2022, Game designers also realized the importance of Machine Learning. Machine learning could be used for designing NPCs' behavior, Generating art assets & environments, and even creating some unique game features. Working with AI Designer Mitchell Foo, We Planned to make a VR game where players will fight ML-trained agents. 

ChatGBT: The most popular application in 2022,

where you can chat with the AI

2D & 3D version of Pong game

When choosing the game theme, we both agree that we should simplify the game rules as much as possible. It would be redundant to have tons of text instructions or a tutorial level for a miniature VR Game. Then we found a nostalgia game - Pong Game. Having the form of controlling a panel to play against one opponent inside a symmetrical arena, Pong Game is ideal for being transferred to a VR Game, and developing AI-agents as well.

Design Process

How did AI come alive?

In this project, I was responsible for coding the gameplay & interaction and creating all the art assets. And we did the game design together (My teammate worked on the machine learning part & sound design.) 

Earliest prototype in Unity

Early-stage game flow draft

In addition to different types of AI agents, we also introduced an obstacle system to the game. Players can choose to add obstacles to their gaming arena for more fun and strategies. For the game flow, the player will begin the loop with 1. Enter the training gym > 2. Start Menu > 3. Select Agent > 4.  Select obstacles (levels) >5. Start playing > 6. Defeated / Win. In the final delivery, we got 3 different agents and 2 types of obstacles design.

Different characteristics of our AI agents

The reward system we set for them

It's worth mentioning that the differences between those 3 AI agents entirely depended on the rounds of machine training & the reward system we set for them. Unlike setting complex logic for NPCs in regular games, our NPCs are naturally trained to gradually form the play style we set for them. Instead of being cold-blood scripts, The process they had been through is pretty human-like, which is trying and learning. And that's a fascinating insight for future game development.

We can see that AI changed its strategy over this time

One of the Time/Reward curve in our training, some interesting insight may be capture in this chart.

"I'm going to be the strongest player!"

Design For Better Experience

What makes a game?

In our playtesting, we found that if setting the ball's logic to [Mirror its vector of speed with the normal‘s direction of the wall as the symmetry axis], sometimes it will take an unreasonable time for the ball to pass the hallway. So we added an offset towards the player to the ball, and the player object (cuz we got two players) toggles after a hit. We believe this small change made the game more playable.

code.png
lerping the position.gif

Adding an offset for the ball (the effect is exaggerated in this example)

We also realized that the ball's volume might be too small for players to spot, especially in VR view (with a lower frame rate.) So it was necessary to add a position indicator of the ball for the player. So we implemented a lit-up square with the exact x-axis location of the ball. And a ball trail as well.

Adding a lit-up square was a smart move for player's experience

Diegetic GUI

Small but important

The game's user interface is a hybrid of non-diegetic and diegetic UI. Non-diegetic UI that indicates information such as lives, health, and score. Other UI elements, such as the entry and main menu, have been made diegetic so that they become a part of the game experience.

Initial thought for the diegetic UI

Performance in the game

Another diegetic UI we designed for the game is the NPC's expression system, which indicates player the status of the ongoing round. A sad expression indicates that it loses the round, and vice versa.

Expression chart for all the 3 agents

Performance in the game

To Be Continued!

I need to finish my shitty schoolwork first...

bottom of page