Mufaddal's Initial Interface Draft

by mchakerautexas

17 Nov 2022

Project Updates

Initial Plan

For my final project, I will be working towards creating a game. Ever since I got into this class, my aim was to learn programming to create games. My aim with this project is not to take a complicated concept or involved storyline for a game, but to create a simple game and do it well and with polish.

One of the first games that fascinated me due to its simplicity was the flappy bird. It was a simple yet captivating game that caught the attention of millions of people and was one of the first games to go viral. So, due to its simplicity, I want to create a game similar to flappy bird. I am planning on calling this game “Astro-man”. The idea is to have an astronaut flying through space on a jet pack, and have them navigate through various obstacles with the aim of surviving the longest.

I understand that there will be many challenges, but I am not sure if I can code all the functionality, or that if turtle even supports creating a game like this. However, I will try my best and try to learn as much as possible.

I want to start off by creating a floating person, who can be controlled with keypresses to make them go up or down. Then I plan on implementing gravity somehow and simulating falling down. Third I will figure out how I can get the astronaut to move forward. Finally, I will add obstacles and the logic of collision and ending the game.

One of the toughest challenges in front of me is to figure out the logic of placing the obstacles so that the game is “winnable”, but also hard enough to be enjoyable. I intend to find out more as I work on this project, and hopefully create a game I can enjoy.

Interface Updates

For my game interface, I have created a simple menu option, with my turtle jumping among the menu items with the up and down arrow keys to select them (as you do with every video game). The items don’t do anything, and this is just an initial design of how my menu will look (I expect it to change a lot or completely!). Here is the menu:

Milestones

I have come up with an initial list of milestones:

  • Create a functional menu, with selectable menu items.
  • Create a shape for the actual astronaut, and have them animate flying up and down in the menu.
  • Create shapes for obstacles and background landscape objects(extra!).
  • Implement the start game, and have the person just float up and down based on the user input.
  • Implement obstacles populating on the screen.
  • Implement motion.
  • Implement object collision.
  • Implement scoring
  • Implement the high score section.

Reflection

This project so far feels like I have taken up much more than I can handle, but I guess that’s what leads to growth! I am definitely anxious about completing even the top 5 things on my milestone plan, but I will try my best and use any and all resources I can find online or otherwise. I am yet to design proper sketches of how the game actually looks, for now, I am designing as I code, which I understand is a bad thing. I will be focusing more on putting aside time to design before I implement so that I don’t confuse myself more as I do this project.

On the topic of design, I have come to know that good software engineers design how their code will flow and be structured before they actually code as well. I will look into this as well, and try to design or have an idea of how I want my code to be structured before I implement it so that I don’t end up making unnecessary changes when I need to add/change functionality.

Updated Milestones

  • Add flying asteroids as objects to avoid.
  • Use images to render different elements, rather than using native turtle to draw things like the astronaut.
Here's a little about mchakerautexas Find mchakerautexas on Twitter, Github, and on the web.