This scenario is my first attempt to write a Unity3D interface using Unity3D's ML-Agents package.
The player votes on bills to change the law to its preference. In this scenario, the only preference is a target price for energy. The only effects that a bill can have are to increase, decrease, or set the price. Only the system can propose a bill. The only actions that a player can take are to vote or not vote.
In each game, the preferred price, initial price, and the bill effects are random.
Technical proof of concept showing integration of:
Unity3D 2021.b5
Unity's ML-Agents AI 15.1
Python 3.7
TensorFlow 1.7
Create an initial framework for voting based on player preferences.
Player
Preferences
Vote Actions
Bill
Law
Score
Train an AI neural network to understand voting based on its preferences.
A bill is proposed by the system. The bill can:
Increase the price
Decrease the price
Set the price
For each bill, the player's options are to:
Vote Yea
Vote Nay
Vote Abstain
Do nothing
If the bill passes:
Then it becomes a law, and the current price is modified.
Other wise, nothing happens
The player's score is updated.
Good move points are given for:
Moving the price closer to the player's preference.
Bad move points are given for:
Moving the price farther from the player's preference.
Number of bad moves
The ratio of good moves to bad moves