Programming has gone from a niche specialty in schools to a field taught widely in schools across the world. The phrase “programming is the new literacy” has become more and more relevant as parts of our everyday life come into contact with artificial intelligence and the Internet of Things. However, unlike literacy, whose learning process comes with interesting tales and stories made for children, programming can be a tough concept for kids to grasp. Many resources contain math above their level, confusing vernacular, and boring lessons. Remember FizzBuzz?
What it does
We made an RPG game designed for tweens to learn how to code in a fun, intuitive, and simplified way. Pygeon takes the fundamental concepts of programming from Python, distills them into content that can be understood by younger children, then teaches that concept through an adventure story with game-like features.
How we built it
We created this app using Android Studio’s native Java framework. We used a RelativeLayout to position our elements by margin from the top of the screen for a responsive design. Our start screen uses shape drawables to style the buttons on the screen as well through our activity_main.xml.
For our stages, we used Fragments, or a small portion of a user interface that is hosted in an activity. These helped us keep our stage UI clean for the user. The text below was styled using drawables we made and formatted in a similar style to our RelativeLayout.
Our images were made using ImageView. To support backwards compatibility, we had to use a series of layer-lists to resize the images. From there, we were able to use our hand-drawn assets.
The battle quiz was a really fun thing to work on, as it was to test out. We created hp and enemyHP variables that would track how far a user got through their quiz. Correct answers would reward three points and call another instance of our loadQuestions function, while incorrect answers would regenerate two points of health to the enemy. We used drawableLeft to align icons to the left of the button, which helped gamify the quiz more as it casted spells.
Challenges we ran into
- Our video editing software crashed when we were trying to edit our video, corrupting our initial draft
- Remote collaboration was hard, as this was some of our members' first time using GitHub! But we managed to merge our branches after a bit of experimentation
Accomplishments that we're proud of
First time making an Android Studio app! We had to read through a lot of theory but we finished with a completed project that we think looks pretty good.
What we learned
- Sony Vegas can and will crash when you're trying to render a video
- Images are finicky with Android Studio and there are size limits
What's next for Pygeon: Coding Through RPGs
- We want to publish our app to the Google Play Store as we think many kids can benefit from learning programming foundations at a young age!
- We want to implement some of the hand-drawn assets we have.