Hello Egg-Bot!
Imagine a lone Egg-Bot, surrounded by a swarm of relentless zombie cubes, navigating the battlefield with agility and precision. Can it survive the onslaught with its multi-network intelligence?
A short video showing the Egg-Bot's appearance.
In our quest to push the boundaries of ML-Agents, we needed a new hero to tackle complex challenges. Enter the Egg-Bot, a versatile robotic entity designed to outmaneuver and outsmart any foe.
Why Split Tasks into Multiple Networks?
The idea behind using multiple neural networks for the Egg-Bot is rooted in simplifying complex behaviors. By separating tasks into distinct networks, we aim to reduce the overall complexity each network must learn and manage. This approach allows each network to specialize in a specific task, potentially accelerating the learning process and improving performance.
For the Egg-Bot, one network is dedicated to movement, focusing on navigating the environment smoothly. The other handles targeting and shooting, focusing solely on taking down enemies. By decoupling these tasks, we hope to achieve more training efficiency and modularity.
Egg-Bot: Network Uno
To move with agility, the Egg-Bot relies on its first neural network, handling lateral movement across the X and Z axes. With 2 raycasters pitched at different angles, it can detect both the ground and enemies. This network is all about survival, keeping the Egg-Bot on its toes.
Actions: Lateral movement on the X and Z axes
Sensors: 2 Raycast 3D sensors pitched at different degrees to detect the ground and enemies.
Observations: This agent is aware of its own position
Incentives: Stay alive
Egg-Bot: Network Dos
The second network focuses on the turret, managing rotation and laser fire. By splitting tasks, the Egg-Bot simplifies complexity and speeds up learning.
Actions: Rotational movement on the Y-axis and 1 Discrete action for the ability to shoot a laser
Sensors: 2 Raycast 3D sensors pitched at different degrees to detect the ground and enemies.
Observations: This agent is aware of its own position
Incentives: Stay alive and shoot enemies
A look at the sensors of the Egg-Bot
The Zombie Apocalypse
For training, I placed the Egg-Bot in our platform environment in perimeter mode during a zombie apocalypse. Red zombies continuously spawn, targeting and attacking the Egg-Bot. Its mission? Survive and thrive.
Even with minimal inputs like its position and the incentive to stay alive, the Egg-Bot's performance has been impressive. After just an hour of training, I'm already seeing promising behaviors.
So, what's next? Tonight while I’m asleep, the Egg-Bot will tirelessly continue its relentless battle against the zombies. Sorry Mr. Eggy! Will it master the art of survival? Now it’s time to run the training and cross our fingers for the morning results.
Good night!