Yuhe’s Status Report for 2/22

This week, I focused on implementing the Upload UI of our game in Unity, which allows users to upload audio files and generate beat maps. I built the file selector to support MP3, WAV, and OGG formats and designed a progress bar to visually indicate the beat map generation process. Additionally, I implemented a text input field for naming the song and a confirmation message to notify users upon successful upload.

One major challenge was handling file compatibility and format validation, ensuring the system properly recognized and processed different audio formats. Next week, I plan to improve error handling and refine the UI layout and connecting all the related game scenes for better user experience.

Yuhe’s Status Report for 2/15

Progress This Week
This week, I worked on the User Interface Layer for our game, focusing on implementing the main menu and song selection UI in Unity. Using Unity’s UI Toolkit and Canvas system, I created:

  1. A scrolling song list UI, allowing users to browse available beat maps. This was implemented using Scroll View with a vertical layout and dynamically instantiated UI elements for song entries.
  2. Main menu buttons, including Upload Music, Beat Map Editor, Settings, and Quit, which were placed inside a UI Canvas with Button components and linked to appropriate scene transitions and logic hooks.

Challenges Faced
One major challenge was version control. Unity’s built-in Plastic SCM requires using Unity Cloud for team collaboration, which made syncing my work with Lucas difficult. Granting privileges and managing team members in Unity Cloud was unnecessarily complex, and we ran into access issues when trying to pull/push changes.

Next Steps
Improve UI styling and transitions for a smoother user experience.
Work with Lucas to establish a more reliable version control workflow, possibly moving to Git with LFS for large assets.
Implement beat map metadata display in the song list.

Team Status Report for 2/8

This week, our team focused on getting things set up for development, refining the game’s high-level architecture design, and making sure we’re all comfortable with the tools we’ll be using. We also had our recurring Zoom meeting on 2/7 to discuss our next steps, including implementing core game loop and basic UI in Unity, experimenting with note spawning, and most importantly preparing for our design review slides and presentation!

  1. Yuhe worked on the game architecture, making sure Unity’s UI, game logic, and beat map system all fit together. She also explored Unity’s JSON handling and file I/O to ensure smooth beat map storage and retrieval.
  2. Lucas focused on getting familiar with C# and Unity by working through tutorials and coding simple programs to test key game mechanics. He also researched how to best represent the game’s core data structures.
  3. Michelle explored Python’s librosa library for beat detection, successfully analyzing tempo and beats for simple, fixed-tempo songs. She also started looking into Onset Strength as a way to measure intensity, which could influence gameplay elements like note density or animations.

One challenge we identified is handling tempo variations in more complex songs, which will require deeper understanding of audio analysis techniques. For the first month, we’ll focus on detecting beats in simple, steady-tempo music. Our next steps include starting game implementation in Unity, testing note spawning based on beat maps, and refining our design choices for the upcoming presentation. Solid progress so far, and we’re looking forward to seeing our first playable version take shape next week!

Yuhe’s Status Report for 2/8

This week, I focused on game architecture design and getting things set up for development. I spent a good chunk of time figuring out how to structure the project so everything runs smoothly and making sure Unity’s UI, game logic, and beat map system all fit together.

I went through some Unity 2D game tutorials, mostly on handling input, spawning objects (for the falling notes), and setting up animations. I also read up on how Unity handles JSON files since that’s how we’ll store beat maps. On the C# side, I checked out best practices for handling game logic and timing. I also played around with Unity’s file I/O to make sure we can load and save beat maps without issues.

I also set up a GitHub repo so we can track progress and keep things organized. Next up, I’ll start working on spawning notes based on the beat map data and getting a simple scoring system running. Overall, solid progress this week and I am excited to start developing the game!