Caio’s Status Report for 02/19

For this week, I had three tasks to work on. The first one was designing the code structure for our project, namely what files hold which classes, what each class does, how they interact together, etc. Below is an image of the diagram I drew of the code structure:

The mat.ino file will be uploaded to our Arduino and is responsible for interpreting user input (i.e. stepping on an arrow) and sending it through USB to the Raspberry Pi. The mat_event_handler.py file reads the USB port of the Raspberry Pi for information from the Arduino and sets off a pygame event according to the input, if there were any. The components.py file implements the basic classes (and their subclasses) that make the game: Screen and Button. A Screen object has its own drawing and updating methods to make it simple to draw and update the game through main.py. A Button object has a method that does something (change a screen, update the current screen, update the score, etc.) according to which input is pressed when the button is selected. The song_reader.py file implements a class to read our custom track files (a zipped archive containing an mp3 file with the song and a text file describing the arrows for that song). The constants.py file sets all the constants needed for the game, such as FPS, sounds, icons, and colors. Finally, the main.py file runs the main loop of the game, updating and drawing the screen using objects from the previous files.

My second task for this week was to help with the Design Review presentation. I worked on my four slides, which mostly had to do with testing and implementing the software. Notably, a proper block diagram of the drawing above was included in the slides.

My last task was to research the music file format used by traditional rhythm games such as Dance Dance Revolution and Guitar Hero to create our custom track file format. However, I did not manage to finish this part. The Design Review presentation took more time than I expected, so I am a little behind schedule now.

My goal for next week was to start implementing the game, but I will have to make time to research the file format as well. Since I scheduled four weeks to work on programming the base game, I believe I can definitely set aside a few hours to look up how those other games implement these files and get back on track. I’m very excited to start working on the game code!

 

Leave a Reply

Your email address will not be published. Required fields are marked *