Due to the challenges brought by the current COVID-19 Pandemic, I was inspired to create a software solution that helps people cope and stay alive and well. One challenge that needed to be addressed was the teaching of younger kids on how to stay healthy and not catch the coronavirus. Also, due to school closings and the start of summer break, another challenges that needed to be addressed was continuing to teach young students at home. My project, COVID Search, addresses both of these challenges by creating a fun and interactive game that teaches youngs students on how to stay healthy and avoid catching COVID-19, while also exposing them to the principles of programming.
What it does
My project is an interactive Swift playground that is shaped around a maze and lessons on COVID-19 and programming. First, the young student has to solve the maze by collecting soap and a mask. Then, the young student has to find the COVID-19 character and reach it while avoiding the surrounding people. In order to do this, the young student has to use block code, which controls the movement of their character. After solving the maze, the young student is brought to a new screen, which teaches the student about programming by connecting what they just did to "for loops" and "functions." Following this, the young student learns tips on staying healthy during this pandemic. At the end, the student is given a chance to try to beat the maze again.
The playground is also filled with cool animations, music, instructions, and has a clear storyline.
How I built it
The technologies I used to build this project were Swift and Swift Playground in Xcode. Also, I used SpriteKit and UIKit for the user interface and animations. In addition, I created my own sprites and music using a PixelArt Editor and Bosca Ceoil.
In order to create the maze, I implemented an algorithm for traversing graphs, Depth First Search, in order to generate new mazes every time that always have a solution. I also used sprite animations to animate the movement of the characters in the maze.
In order to create the home screen and teaching screens, I created sprite animations and used UIKit to place aligned text on the screen.
Challenges I ran into
Since I am a beginner to Swift Programming and this hackathon had a short time frame, I encountered many challenges. One challenge was finding a way to generate new mazes every time that will always have a solution. Another challenge I faced was animating the sprites and making the playground interactive. I solved these challenges by doing research on the issues, learning new coding concepts, and then applying these concepts to my challenges.
A final challenge I faced was creating a game that was enjoyable by young students. I solved this challenge by focus grouping with some middle school students and using their critiques to improve my project.
Accomplishments that I'm proud of
I am proud of the final version of this project, as well as everything that I learned from this hackathon. Most importantly, I am proud of the fact that I created a project that can impact other students' lives during the COVID-19 pandemic.
What I learned
During this hackathon, I learned how to create an animated Swift playground using SpriteKit. I also learned new coding concepts, such as Depth First Search (DFS) and Swift animations.
What's next for COVID Search
Following June 20th and 21st, I hope to get more young students downloading this playground and try to beat the maze. I want to spread awareness among young students and teach them how to continue to stay healthy as well as give them an introductory lesson to programming. Both lessons will impact these young students far beyond right now.