Car Driving Game AI - Status Update
Gaming
Car Driving Game AI - Status Update
Introduction
Hey everyone, it's Sebastian from MReal here. It's been a while since my last video. I've been focusing on live streams on YouTube, mainly showcasing the driving AI system for Traction Point, the game you're currently viewing. I understand live streams aren't for everyone - some of you may prefer shorter, more coherent, and well-planned videos. This update is for you.
Today, we'll be doing a status check on the driving AI system I've been working on. Rest assured, this channel won't turn into a live stream-only channel; there will be plenty of traditional videos in the future. Let's dive into Traction Point's driving AI system.
AI System Overview
If you've watched my previous videos, you've seen AI agents driving around. We've had that functionality for a while, but they weren't very good at it. Now, they've significantly improved.
Radio System
A crucial feature that has improved the driving AI is the radio system. You'll note the radio menu on the right with some contacts. Currently, we have one contact: "Scout in shed," which controls the car you see inside the wreckage.
Using this radio system, you can select a contact and issue orders like "Move here". This system finds a place on the nav mesh for the target. The debug sphere shows this, with dynamic nav mesh obstacles that agents navigate around. These obstacles disappear if the vehicle moves fast enough, reappearing when it slows down or stops.
The target system still needs refinement for more intelligent decision-making. The AI can execute reverse turns, a new feature that hasn’t been in the game long. It will also try to avoid obstacles dynamically using 'whiskers' – raycasts that detect obstacles in front and behind the vehicle.
Dynamic Object Avoidance
The AI uses whiskers for dynamic object avoidance. When the whiskers detect an obstacle, they turn red. These whiskers help determine the distance and angle to obstacles. This system ensures the vehicle avoids collisions as best as possible, although there's still room for improvement.
Challenges
Several challenges remain, such as:
- Nav Mesh Islands: Sometimes, obstacles create isolated nav mesh areas. The AI can navigate this by using soft nav mesh obstacles, allowing it to ignore obstacles for pathfinding if necessary.
- Hard Nav Mesh Obstacles: Some obstacles, like gates, should never be crossed. The AI respects these as hard obstacles, ensuring realistic behavior.
- Mother Vehicle Navigation: The larger 'mother vehicle' struggles with tight spaces. It has its own nav mesh due to its size, but it needs more work to handle complex environments.
Future Work
There are still issues to iron out, especially with the mother vehicle. More intelligent destination selection and handling of tight spaces are required. Improvements will continue, aiming to offer a realistic and entertaining AI driving experience.
Conclusion
That's a wrap for this status update. If you're interested in the code behind this system, let me know. It's complex, incorporating fuzzy logic controllers, state machines, and is primarily written in Zig, with some C++ libraries. I'm considering covering the AI logic in a live stream if there's enough interest.
Remember to subscribe for more updates. Enjoy your summer, and check back for more content on Traction Point. See you in the next video!
Keywords
AI driving system, Traction Point, radio system, dynamic object avoidance, nav mesh, mother vehicle, whiskers, fuzzy logic controller, Zig programming language, state machines
FAQ
Q1: What is the new feature in the AI driving system? A1: The radio system that allows you to issue orders to AI agents and the implementation of reverse turns are new features in the AI driving system.
Q2: How does the AI avoid dynamic obstacles? A2: The AI uses 'whiskers,' which are raycasts that detect obstacles and help the vehicle avoid collisions dynamically.
Q3: What are some challenges still faced by the AI system? A3: Challenges include handling nav mesh islands, respecting hard nav mesh obstacles, and navigating tight spaces with the larger mother vehicle.
Q4: What programming languages are used in the AI system? A4: The AI logic is primarily written in Zig, with some C++ libraries.
Q5: Will traditional video updates continue? A5: Yes, there will be more traditional video updates in the future. This channel will not turn into a live stream-only channel.