Abraham Charara

Software Engineer & Developer

VR Wheelchair Basketball
Project Manager
Lead Developer
VR Wheelchair Basketball is a VR simulation created in Unity Engine and the Senior Design Project that I chose to pursue in my final 8 months of undergraduate at the University of Michigan. Being the first member of the project, I recruited two classmates and immediately got to work. This page is dedicated to everything I did for the VR Wheelchair Basketball from January to August of 2023.
January - March
The first 3 months or so were purely spent on documentation for how we were going to structure the project, the project's features, and our individual goals for the project. At this time, both of my team members were busy working jobs and taking multiple other classes. Luckily, I was pretty free this semester, so I was able to do most of the writing while I assigned small pieces of the documents for my team members to complete depending on how busy they were that any given time.
April marked the end of the semester and the due date of our 10% prototype. Both of my team members were understandably focused on final exams, so it was up to me to put something together. Thankfully, I had had previous experience with VR and Unity. This prototype primarily focuses on our decisions in early development, as well as interacting with a basketball and hoop during runtime.
This was the month where we could finally dedicate time to the project as a team. I was hoping to spend this month getting an initial AI player up and running, but being the only one on the team with previous Unity experience meant that I had to constantly oversee the work of other members and help them most steps of the way. My team was very cooperative and open to learning. We managed to create a fully functional scoreboard through C# scripting, the ability to put the ball in the player's lap, and proper collision for the wheels to roll.
At this point, my teammates were starting to get a better footing on Unity Engine. I would still be next to them and help them out, but I no longer had to walk them through their tasks. While one member was working on scoring points based on the player's location relative to the 3-point line. The other member and I continued to work on wheelchair movement. We wanted the wheelchair to be fully maneuverable for our 33% prototype on June 19th. Our client also wanted a basic AI that moved around the court. Both of these tasks were accomplished on time thanks to some extra hours in the lab. For our prototype, the AI simply chased the ball. By the end of the month, the AI was capable of grabbing the ball, going to a chosen location, aiming, and shooting the ball with the correct amount of force.
To determine the likelihood of every shooting location, we documented and translated professional NBA player Lebron James' 2005 shooting record.
This was the final full month to work on VR Wheelchair Basketball. Thanks to the reliability of my team at this late stage, we were extremely productive. at the start of the month, I had to approach my client about the unlikelihood that we would get online multiplayer (a requested feature) done in time. I suggested that, instead, we upgrade the AI to allow multiple AI players on the court that can interact with each other to play a full game of 3-on-3 wheelchair basketball. He loved the idea and approved. I dedicated this full month to improving the AI so it can position, pass, and steal the ball from each other as well as the player. To do this, the AI needed to constantly be aware of any given situation. Who has the ball, what team the possessor is on, who needs to be guarded, where they should be standing for a potential rebound, etc.. To showcase some of the many interactions that can take place, I created a highlight reel from two games of wheelchair basketball with 6 AI players.
For the final 8 days of the project, I fulfilled the last requirement given to us by the client: a fully playable game of HORSE against the AI. Thanks to our strong framework, I was able to repurpose the AI and scoreboard we had already created to make the entirely new game mode within 2 days. If the AI makes a shot, a blue area will appear where the shot was made. The player must shoot and score from that spot (which will turn green when the player is inside of it) to avoid getting a letter. Likewise, if the player makes a shot, the blue spot will appear under them for the AI to make a shot from. Getting all 5 letters to spell HORSE ends the game.