The Bravura team at finals!

al Fine

The semester is over and Bravura is done with TuneTrain! …or are we? Find out!

Final Presentations
Final presentations went really well. People seemed very impressed with our product, or at least the people that nodded when we talked about things we discovered. (e.g. some of the EA guys when we said that a tile-based level select is more user-friendly than a swipe through level select).

Otherwise, we got really good questions about specific choices we made (Why is sheet music hidden by default? Because it can get in the way of the main screen, and not all kids wanted it), questions about development (How close are we to releasing and is it all native? Very close and yes, Xcode / Sparrow), and questions about playtesting (Were we able to measure learning? Not specifically because we designed for incidental and gradual learning but we did notice that some kids were able to draw connections when we explained the underlying music theory in our app).

Finally, we got a lot of great feedback during the post-presentation demos. EA folks, ETC alum, current ETCers on co-op, and even people from other companies all stopped by to try our app. In particular, we would like to thank ETC faculty Jessica Trybus for flying out from Pittsburgh to SV just for today to see the ETC-SV finals. Bravura appreciated your encouraging comments.

Wrapping Up
The semester is officially over. The team is archiving our work; we’ve written our post-mortem and self-assessments; we shot and edited final footage of our app for promo videos. It looks like we are ready to move on.

But we’re not done yet. Some team members will be around until the end of May to put finishing touches on TuneTrain in preparation to release it on to the app store by June. We’re really excited about TuneTrain, Jiyoung and Carl are really excited about TuneTrain, and a few of our playtesters and their parents have been exciting about TuneTrain. While there are many features we did not complete, we see a wonderful opportunity to showcase what we have made this semester.

We would like to thank each other, Jiyoung, Carl, the other ETC-SVers, and everyone who helped us this semester for a wonderful 16-weeks, and we wish the best of luck to everyone wherever they may go from here.

The new tutorial in action!
The new tutorial in action!

This week between Softs and Finals has been a busy one as the team began wrapping up loose ends as well as pushed to put final touches on our app. We’ve made a lot of exciting improvements in content as well as interaction polish and our app is almost done.

Many new features happened this week as we have been clearing off our backlog.

First and foremost, our app has a final name, TuneTrain. We had been considering a variety of names, but playtesters and even some EA folks passing by our work area have really liked the concise alliterativeness of TuneTrain. TuneTrain is official!

Up until recently, only levels that had been written in the key of C were able to be played, but, now, all ten of our levels have been successfully implemented. TuneTrain now has levels in various keys and of musical flavors (some happy and some a bit more eerie). We have also tweaked the levels for appearance and flow by changing some note placement as well as by adjusting horizontal spacing for notes that occur very close together.

Further polish this week included: adding a parallax effect to the background of our levels; adding sounds to our menus; as well as creating a symbol/button for the accompaniment style-changing UI.

The other most exciting thing that happened this week was the successful implementation of the tutorial framework. We now have a basic tutorial that isolates and guides players through specific UI elements and interactions, and we can add/remove steps as needed. Most amazingly, the code merged with our main branch in Git with no conflicts. It was a good week for development.

Feedback and Playtests
Last weekend, Nathan tested our app with CMU design alumni as well as students at the San Francisco Conservatory, and this week, we also had two playtests scheduled with families.

These last few opportunities for feedback before finals have been very helpful for refining our interactions just a bit more. Level scrolling had been changed from a two-finger gesture to scroll buttons in response to softs. However, feedback over the weekend showed that what people really wanted was one-finger scrolling so we implemented that. The playtests during the week then further helped us balance the variety of functions that now need to react to one-finger gestures, which include placing notes, editing, de-selecting, and scrolling.

Looking Forwards
Next week will be a time to tie up remaining loose ends: Getting TuneTrain ready for the App Store; updating promotional media to reflect the final app; writing post-mortems and archiving our work. Moreover, next week is final presentations, and the team is really excited to share our final results with the ETC alum and EA employees who have been following us throughout the semester.

Mike explaining our app to Greg Dismond
Mike explaining our app to Greg Dismond

This week the team polished our game and prepared for soft opening on Wednesday. Soft opening at EA went extremely well, and we have spent the rest of the week continuing to polish and playtest.

Soft Opening at EA
The ETC Silicon Valley campus held our Soft Opening within the Atrium of Electronic Arts at Redwood Shores, California. We demoed our product and answered questions to interested EA employees.

We got a lot of valuable results: Our current level selection system which uses scrolling is difficult to use and we are considering switching to a traditional tile-based level select. The current method of removing notes from the melody by tapping above or below is also not consistently intuitive. Finally, we found that most of our UI is intuitive, even if one skips the tutorial, all that is, except for the accompaniment style.

In addition, in the afternoon, a group of Girl Scouts who were touring EA also stopped by to visit the project teams. The 11 girls and 1 boy were all within our target demographic of 8 to 12. Using two finger scroll to navigate the levels is a stumbling point, even sometimes with the tutorial. We will most likely implement actual UI for level-scrolling.

Cheng showing TuneTrain to Girl Scouts
Cheng showing TuneTrain to Girl Scouts

Polish was the big theme of this week, from polishing in preparation for soft opening to polishing in response to feedback from soft opening.
Going in to softs, our programmers did an amazing job cleaning bugs and memory leaks. While previous builds of the game would occasionally crash if one tried the exact wrong combination of actions, our build for softs was robust enough that we did not experience a single crash the day of.

After Softs, with the system proven sturdy, the team began to add polish to our content. The people now change to a very visible red color when selected so that you know whether or not they are part of the melody, especially when the line seems to go through them. And in support of the story of our universe, there are now train terminals at the beginning and end of each level and people disappear when the train drives by and “picks them up.”

Looking Forwards
Next week is the last week before finals. We will be putting the final touches on our game, and implementing our other levels as well as the latest tutorial, which will reflect changes made to our final UI. In addition, we will have two more individual playtests next week to confirm changes that we have made since softs.


Almost There
This week, the team picked up the pace for a one-and-a-half week sprint into Softs next week. Merging and troubleshooting are the current state of affairs, and the frequency of bugs, memory leaks, and inter-team communications has increased.

Since converting our intro level into an xml file that we successfully read last week, this week, the rest of our already designed levels have also been converted to xml files. During the week, testing revealed some discrepancies between how our program was reading the files and how our designer had written them, but once revealed, this was quickly resolved. We are now in the process of implementing the level select menu to access all of the levels, but otherwise, the levels look promising and fun. Even the team hasn’t tried all of them, yet!

The importance and frustration of last week continued this week for our programmers.
The menu/UI, in-game line-drawing, and musical notation conversion systems in their individual Git branches were all merged on Monday. Bugs and communication both resulted out of necessity.

Through diligent individual work as well as cooperative work, our programmers have been tackling many issues that have been open since last week or that had just cropped up this week:

  • an outstanding issue with irregular smoothing of our drawn line
  • problems with the level selection system’s subview release
  • extra lines, showing time signature, problems with ties in our musical notation
  • sequencer moving too quickly and calling channels too soon
  • memory leaks

Fire-fighting has been a stressful process, especially since both the causes and solutions to a problem can be completely unclear; however, our programmers consistently solve a great deal of them and the team is supportive.

he team had a playtest this Wednesday with guests – girls, 9 and 11-years-old. We were excited to showcase a new level design as well as all of our features together for the first time. They enjoyed the ease of use and figured out our UI, even though we had not yet implemented our interactive tutorial. In addition, we had internal testing with a couple of our peers here at ETC-SV as well, and they were able to promptly discover a new bug.

Looking Forwards
This Saturday, some members of the team will attend CMU’s Carnival West where we hope that CMU alumni and their families will give us more feedback about our app.

Next week, the team will lock down our current build and debug all current functions in preparation for Soft Opening on Wednesday. After that, we will look ahead at adding the other planned features such as the interactive tutorial.

The Bravura team live on camera!

The Past Week
This week, the team tightened up the work done last week in preparation to wrap up this sprint. Systems that had already taken shape were being cleaned and adjusted in preparation for building out a new prototype for testing.

We have completed designing eight different music levels with three accompaniment tracks each, including our introductory level, where it is possible to create the melody for “Mary Had a Little Lamb” as well as any other melody that fits within that chord structure. Even more exciting though is that our xml-file reading is working, and after a bit of manual conversion from sheet music to xml, we have been able to load our introductory level into the app. Next week, we hope to have a variety of levels implemented that we can begin testing with.

This was an important and sometimes frustrating week for our programmers.

As we have been merging various branches of our project in preparation to make our next test-ready build, conflicts and memory issues have arisen that our coders have worked hard to squash. Memory leaks in particular had been crashing the app when deployed onto the iPad, and there was an unusual bug with our line-drawing system getting tied up in knots – both of which have been significantly addressed. Memory issues with images are also being resolved by creating texture atlases.

Otherwise, we are continuing to build the menu / level selection interface as well as to move our music notation rendering function into Xcode.

Overall, the team is in a place where we would like the current functions to be less buggy before we move forwards. While bug-fixing is a necessary part of polish, it has made progress this week feel a little slower.

The fun highlight this week was that the team has begun filming our project’s promo video. EA was kind enough to let us use their recording studio, and we’ve shot everyone on the team’s talking portions. Now, we still need to film with Jiyoung as well as need more footage of playtests and of gameplay.

Looking Forwards
Next week, the team plans to test our current build to discover any necessary changes needed before Soft Opening the week after. Beyond that, everyone will continue working on implementing our levels / tutorial and making sure the various systems are fully functional.

The new UI!

A Tempo
Bravura has returned to work from another one-week break – this time, the team was off at GDC from March 25 to 29. This past week, the team has gotten right back to work and is making steady progress to complete our app in the next three weeks. Our main priorities for the current sprint are to bring in the last pieces of our core experience: UI, level generation, sheet music conversion, and accompaniment.

The team’s pipeline is really flowing in terms of completing UI. We had a UI design meeting on Monday to finalize the look of our interface, and with that settled, we were able to create our UI graphics early in the week for the programmers to begin implementation. As of now, the in-game UI is in and just needs to be linked to the correct functions. Menu and title screens are also being designed and the whole system should be functional by next week.

Our procedural level generation system is coming together as well: the building art has been cut into tile-able pieces, and our app is already able to generate structures with a few of those building styles.

Moreover, the file-reading system for the level generation is something we’ve begun to think about. We’ve started designing different possible levels, and being able to get them in to the app will be important for testing. A particular level that we are giving attention to is the tutorial, which we might make to be “Mary Had a Little Lamb.”

Menu UI
Menu UI

Accompaniment and Sheet Music
The accompaniment system is going to be efficient. Because we are designing the levels anyway, we have decided that the accompaniments for those will be pre-recorded as well; this is as opposed to relying on the app to generate the rules for a multitude of music al styles. For the free-play mode, we are considering having the phrasings be simpler, perhaps even just block chords. All-in-all, we’ve decided to make the accompaniment system only as complex as it needs to be.

As to the sheet music system, we’ve made great progress in rendering our data to musical notation, and are also tackling rhythm analysis which will be important for converting data in free-mode into regular notation.

Otherwise, the team is continually cleaning up small tasks from our backlog as well to polish the experience. The train now tracks with playback so that people can see what note is currently playing while listening to their melody. We’ve also made the hitboxes of the people a little larger so they aren’t so frustrating to connect. And general bug-squashing is going on as well; the memory leaks that used to cause the app to crash occasionally are fixed, though new bugs continue to arise from the new systems being built.

Looking Forwards
We anticipate even more great progress next week. With all four of these systems coming together, our core experience can expand in to a complete experience, and we anticipate that we can even begin the implementation of our free play mode.

We just wanted to share with you a short video of the build of our game that we displayed at our halves presentation.  Currently we are working on adding more features such as train movement, conversion to sheet music, finalized UI, and additional level designs.

Here is an introduction explanation of the story of our game:


The Bravura team presenting at halves.

The Past 2 Weeks
Last week was Spring Break for all of CMU but that didn’t stop Bravura from working: we had a playtest with young boys in our demographic and the results were promising. This week, Bravura prepared for and gave our half-semester presentation / demo where we received even more useful feedback.

Spring Break Playtest
On Tuesday, March 12, Bravura had the chance to playtest our app with 18 boys from Markham Elementary School. Some of them had experience playing instruments, but fewer had tried to create music.
Overall, the kids had little trouble interacting with the experience, and most of their feedback was about wanting more features. They wanted to play more and longer levels and especially wanted the ability to share their creations. Some even asked when the app would come out so that they could buy it! The team is really encouraged because not only was this our first playtest with kids in our demographic, but it also confirmed many of the design choices and changes we’ve made to our prototype so far.

Halves Presentation
Halves presentations were on Friday this week, having been pushed back from Wednesday because of conflicts with EA. However, that just meant that the team had more time to prepare and we were well-rehearsed and confident by Friday. The presentation went smoothly, and the team got thoughtful questions about our work so far and our plans. One guest who had been at Quarters asked, “how are [music] guidelines currently implemented? ” and the team had an opportunity to talk about how we have utilized buildings and positive reinforcement to create a visual style to reflect musical structure without being overbearing.
Even more valuable, though, was the project demo that Bravura gave after the presentation. Guests had a chance to play with our prototype first-hand. The hands-on interaction allowed guests to give us more specific and targeted feedback. Their sentiments confirmed features we knew we needed such as feedback during playback, but they also had some interesting suggestions. In particular, both Roger and Govind mentioned that it might also be nice for there to be a level that starts with a familiar pre-existing song.

Looking Forwards
The whole team will be attending GDC next week and so the project will be on hiatus then. However, we intend to get right back to work starting the week afterwards. The team has already met post-halves and looked at the work that still needs to be done. We’ve prioritized the remaining features, and now that we’re wrapping up the line-drawing, sequencer, and voice systems that were pre-halves priorities, we plan to begin work in earnest on systems like level-creation, accompaniment-generation, and sheet music conversion.

Idan from IncidentTech trying out our app.
Idan from IncidentTech trying out our app.

Playtests and gTars
Team Bravura had a very exciting week; we got to conduct our first playtest on Monday and on Wednesday we met with Incident Technologies for information about what they’re doing and feedback on our application. We’ve been busy integrating all of this feedback into our current application build.

Internal Playtest
We had a blast showing our progress so far to our fellow ETC-SV students. The test consisted of a preliminary build of the application on an iPad and a “paper-prototype” where Nate simulated a more full experience. Above all, people really enjoyed the application! With no prior musical experience, they DID feel like they were composing music.

The playtest provided useful feedback about features we are considering integrating into the application. We learned that people were in fact interested in looking at how their melody can become music notation, that they wanted to continue to explore a level even after creating a melody, and even if they were not fond of their melody at first, when they added accompaniment, they were unanimously impressed. They enjoyed trying different accompaniments, with the added educational bonus of learning about the differences in musical style that we didn’t even anticipate. In sum, the playtest was extremely successful and rewarding; it was encouraging to find we’ve been moving in the right direction towards our goal of allowing everyone to create music.

A visit from the creators of the gTar, Idan Beck and Josh Stansfield of IncidentTech, to ETC-SV proved to be just as encouraging. Their product is a digital guitar designed so that anyone can pick it up and start playing. After docking an iPhone into the gTar, you can pick your song and difficulty level, and the notes you need to play light up on the frets of the instrument. The goal of the gTar is very similar to ours; to show people that anyone can create music.

After their demonstration, we showed them our current version of our application. As they have experience designing a music product for non-musicians, they had a lot of valuable feedback. They really liked our application, notably the overall design and art style. Idan pointed out that our way of visualizing music is perhaps even more effective than traditional sheet music! He also gave us interesting feedback on voice as input and the art specifics.

Looking Forwards
Next Tuesday, Nate, Cheng, and our advisor, Jiyoung, are going to conduct another playtest with students visiting Electronic Arts from Markham Elementary school. We will also be spending the next week and a half preparing for our halves presentation and demonstration. As we make small refinements to the application from our testing results, Mike will compile these changes into a build to show at halves.

Along with creating a working prototype of the application, we’ve been developing both our artistic and musical “style.”  Through our play testing, we found that people really enjoyed learning about and adding different accompaniments to their melodies.  We wanted to share some examples of level layouts, where users will draw the tram line between the people to create a melody, along with samples of what the music could sound like.  The idea of pre-built levels may have risked users creating similar melodies to each other, but we found that not to be the case.  People liked how choosing different accompaniments vastly affected the final song output, as you will notice by comparing two different audio files created from the same level design.

Level Prototype 1 Audio Files:         Salsa         Piano Pop

These are two different melodies created in the level, with two vastly different styles. The building structures (trees, balloons, mountains) represent the chords in the accompaniment   Though the styles of the accompaniment are different, the chords progression of each are the same.

Level Prototype 1


Level Prototype 2 Audio Files:     Classical Virtuoso      Piano Pop

This example features a longer level and a different chord progression.  The Piano Pop style was also featured in prototype 1, but now it’s contrasted with a Classical Virtuoso style.  You can see how much accompaniment style changes the feel of the song as both examples actually have the same melody!

Level Prototype 2, part 1
Level Prototype 2, part 2