Three (maybe 4 : /) of our team members are girls from Computing Science department at UofA. As we gain more knowledge at the university, our passion in ComSci has been growing as well. We wish that we could have experienced coding at an earlier age so that we were able to start exploring earlier. As a result, we decided to build a game for kids to learn the basic logic behind coding. Moreover, we discovered that a large proportion of kids learning code games are action games, which may not be that attractive to young girls. And that's why we created Rescoding - a coding logic game with cute UI and a relaxing way to play that we believe will attract more girls to get involved.

What it does

We build a game for kids (especially girls) to practice and learn the basic logic behind coding. In this game, the character wants to save the endangered little animal (an egg). In order to reach the egg, players need to drag different commands and make a whole sequentially consecutive steps to guide the character to reach the egg she wants to save. There are 3 kinds of commands that players are able to choose: forward, left, and right. By playing our game, players are able to practice how to code: give commands to the code and combine those commands in terms of logic. There is a collection book on the home page and players could see all animals they already managed to save and those they still not get there yet which is covered by shadow.

How we built it

  1. We first design a brief user interface, the algorithm and the structure of the program.
  2. We have broken down the project into parts so that each team member does something they good at.
  3. Team member helps each other to do some testing and fix the problem.
  4. All images are done by hand drawing.
  5. Endless debugging (we were actually writing bugs).

Challenges we ran into

  1. Installing an adapted version of pygame at the beginning.
  2. Dragging an image with the mouse.
  3. Determining if the mouse has a collision with a specific image.
  4. Merging different parts into a single program is quite challenging since different people have different logic and writing habits, it is difficult to find the best structure that fits all the codes.
  5. The rotate function in pygame is not easy for solving our problem.
  6. Switching frames and game stages.

What we learned

  1. We learn how to better communicate with each other in terms of a team. In the beginning, each of us has different ideas about what to do, but we can only do one project. So we analyze the advantages and challenges of each idea combining with the reality of what we can do and cannot do. Besides, how to divide the project to members is also not easy. We've learned how to divide tasks based on the ability and skills of different members.
  2. We learn functionalities of PYGAME better. Although we learned Pygame in our previous course last year, our game is harder than what we did in course assignments. At this process, we gained better realization of Pygame and its functions.
  3. We learn process of designing games better This is the first time we actually design a game ourselves and implement our ideas on our own and conquer challenges we've met. We had to change our design based on the process of implementation in terms of what we can do and cannot do. We are really proud of ourselves and thankful to this opportunities.

What's next for Rescoding

  • Making animations;
  • Beautifying and formalizing UI;
  • Creating more levels; adding storyline, animal collections, and instructions to make it more educative and attractive.
  • We used to design more commands than what we currently have, but due to the time constraint, we have only done 3 commands now.
  • Let users try the game and improve game experience based on their feedbacks
Share this project: