Our capstone project revolves around developing a self-driving car simulation using the Bevy game engine. The goal is to create an autonomous vehicle that can navigate, process its environment, and make intelligent driving decisions. My role has involved implementing the line detection system, refining environmental interactions, and debugging system integration.
The most difficult challenge was working with the provided skeleton code, which lacked proper documentation and was difficult to navigate. Without clear explanations, implementing new features was frustrating and time-consuming. To address this, our team dedicated an entire week to studying the codebase and writing documentation. This process significantly improved our ability to modify and extend the simulation, making further development much smoother.
At the beginning of the project, I doubted my ability to contribute meaningfully, especially since I had no prior experience in game development or AI. The idea of building a self-driving car simulation seemed overwhelming. However, as I tackled challenges and learned new concepts from scratch, my confidence grew. Now, I feel much more capable and comfortable with the work, and I’ve realized that problem-solving and perseverance are very crucial skills to have.
The most interesting part of the project is the decision-making system. This is still in its early stages, but it is the most intellectually demanding and rewarding aspect. The system must process environmental inputs, determine optimal driving behavior, and respond to dynamic road conditions. Developing this has been both challenging and fascinating.
When I encounter difficulties, I first try to resolve them independently. If that doesn’t work, I turn to my teammates for support. Our biggest challenge so far was integrating WebSocket based input handling into Bevy, which doesn’t have built-in support for it. As a team, we collaborated to find a solution, experimenting with different approaches and seeking guidance from our mentor. This problem-solving process reinforced the importance of teamwork and adaptability.
As we continue working on the project, our primary focus will be on refining the decision-making system. Although challenges remain, I now feel more prepared to tackle them. This project has strengthened my technical skills, taught me the value of collaboration, and shown me the importance of persistence. I am excited to see how our self-driving car evolves and how we can push the limits of what our simulation can achieve.