Free Body Diagram
Project Type: Mobile Game (IOS/Android) and Website
Software used: Git, Docker, Unity
Languages: C#, Svelte, JS, HTML, Python
Team Size: 5 (full team size across project life was 11)
My Responsibilities: Programmer
Duration: 5 months
About

Free Body Diagram is a mobile game commissioned by professors at both Worcester Polytechnic Institute and Bucknell University targeted at Mechanical Engineering Majors. The app was created to challenge mechanical engineering students with easy to complex problems through games while simultaneously tracking their results to review and grade in the classroom. This project featured both a mobile game built in Unity as well as a website with a Python database to track both students game and identifying information.
My Work
I worked on this project as part of my internship with the Intentional Design Studio (IDeaS). My main initial tasks on the project were bug fixing. I fixed numerous bugs across all games and menu screens. Our producer maintained a bug list and assigned me and my coworkers bugs to accomplish each week. We also met weekly with our client who gave us feedback on features within the game, more bugs, and direction on what features to focus on. They also provided insight on issues with games that were failures of mechanical engineering concepts rather than programming bugs. In addition to my normal weekly development, we also had weekly builds that we would send to our clients via TestFlight.

During the internship, I was tasked with creating a new game for Free Body Diagram. This game involved analyzing a diagram, deciding which forces are correct, and which ones either don’t belong or have the incorrect angle. I built this game from scratch which included updating existing menus to have the game, adding a custom game manager, and building every level given to me by the client. I was also tasked with updating the back-end to include results from this new game and link it to the active user’s account data.

Finally, I was in charge of updating the website. All students would sign-up through the website which would automatically add them to the Python database. They would then be added to their active course and be able to access the Free Body Diagram game. I used Docker to assist with setting up my testing environment in order to have a smooth development process. The web page itself was built on Svelte, and I had to update it which included UI clean up, displaying user IDs without needing to refresh the page, and cleaning up bugs.
What I Learned
Free Body Diagram taught me a lot of valuable lessons. It gave me experience working on a professional team, complete with software planning, maintenance, and development, meeting with clients, and creating multiple test builds through TestFlight. It gave me great insight on how to create mobile games in Unity and how to link user data to a back-end database for tracking gameplay statistics.