Inspiration
Looking at the student challenge, our group reflected on common academic difficulties we faced in the past, and we all agreed that high school physics over the pandemic was particularly tough. Without access to in-class demonstrations or poor-quality recordings of our teachers doing demonstrations at home, it was at times difficult to grasp the intuition behind the problems. Without actually seeing the problems be acted out once or twice in real life, it becomes difficult on a test to visualize what the question is asking. So, we wanted to make a low-barrier, digital way to do physics on your own without the need for any specialized equipment. We want Newtonian Apples to help anyone find physics intuitive.
What it does
Newtonian Apples is a web app that contains simulations for three common types of physics problems - elastic collision, 2D kinematics, and incline plane. Each simulation takes user input so that most problems within that domain can be created, to help with visualization. Each module also contains guiding questions to help the users get thinking about the "deeper" physics behind the problems and hopefully build up a greater understanding.
How we built it
We used Unity to create the simulations as well as C# scripts for the Unity backend. The web app was constructed with React + Vite, and also incorporated Material UI for rapid development.
Challenges we ran into
As it turns out, Unity can be quite finicky! As simple and intuitive as it is to learn, there's a lot of moving pieces in Unity so often you can end up changing or forgetting to do something that has a big impact on the rest of your program. There was a lot of team debugging as we all ran into similar issues while coding the three simulations. Embedding the Unity games into the webpages was also quite the hurdle. The few resources we had were all documented on older versions, and embedding the actual webGL file onto the webpage and making it all fit was also quite finicky.
Accomplishments that we're proud of
We're happy to say that all of our simulations take user input and are able to accordingly changed based on it. We'd like to think that our simulations feel very smooth to use and contain useful bonus features. Our webpage also rendered very nicely and the embedded modules run well, so we're very proud of our polished end product.
What we learned
Most of us had never touched Unity before, so learning about the Unity ecosystem and using the Unity editor was exciting for us (this Hackathon was essentially a crash course for Unity game development and utilizing the internal libraries). This was also our first time embedding webgl into a website too, so there was new learning for everybody!
What's next for Newtonian Apples
We would like to make this into an app you can download beforehand onto your mobile device so you don't need the website. Most students in middle/high school don't have daily access to laptops so we'd like to make our app more mobile-friendly/mobile-accessible, since phones are ubiquitous in the modern classroom.
Log in or sign up for Devpost to join the conversation.