Week 15 – The Final Update

Hello my friends,

This dev blog will be the final one, as by this time next week, we will have begun our journeys home.

As of this week, development on the project has stopped.  We focused on our final playtest, and began the process of documenting our work, as well as preparing for finals.  

In our final playtest, we only managed to get five people there, so we tried to get more data on personality / role combinations we hadn’t tried, but seemed interesting.  A highlight of the afternoon was mixing our angry personality, along with a role that attempts to ignore / avoid the guest, resulting in the guest becoming very frustrated, which we had hoped for.

I will make the assumption that you, dear reader, do not want a detailed description of our documentation process, so I will leave you with this promo video we made to commemorate our work.  I hope you enjoy it.

~mixAR

Week 14 – Soft Opening

Hello!

This week was… well it was a big week for us, and all the other teams at the ETC. Why you ask?  Well, at the ETC we have a pretty big event called Soft Opening, which is where we show off our *mostly* done projects to faculty, and anyone else who wants to see.   In our case, anyone else means EA employees.  We had about 24 people come by, and managed to get a ton of playtest data.

Specifically, we ran two playtests – Companion Vs Guide role, and Positive vs Negative Personality.  

The first test was focusing on polar opposite objectives.  The Guide’s job is to get you through the experience, making sure you see every piece of information available, and in a timely manner.   The Companion’s role is to avoid you at all costs.  If you go to the panel he is at, he’ll leave immediately.  There is no way to finish the experience, and the role is designed to be as frustrating as possible.  Surprisingly, the companion was found to be more engaging, despite trying as hard as possible to avoid the guest.  Otherwise,  a lot of what we found aligned with our hypotheses, that both would be seen to be focused on the museum over the player.

For the second test, we focused on very positive personalities, happy and excited, vs the very negative ones, like sad or scared.  As expected, the sadder personalities were seen as less engaging, with excited being the most engaging, and sad being the least.  Some interesting notes would be that the scared personality, which struggles to remember relevant information, and appears unsure of itself was much more engaging than we predicted.  Our thoughts on this, are that when the scared personality struggles, it forms a kind of interest curve.  Since the nature of the project requires he does remember the information, when he struggles, there is a moment of conflict – will he remember?  Perhaps this struggle makes a guest pay more attention?  More testing is needed to confirm this.

Some overall notes on the experience are worth going over as well.  The audio is still a problem area, and we are considering using headphones in the future.  The Hololens speakers are not our friend here. Agents who had mood changes often and rapidly presented information no less clearly, but engagement went down significantly in such cases.  Also, the Happy personality presented information the least clearly, which we did not expect.

If you’re a spreadsheet kind of person, here’s a spreadsheet with our playtest data!

https://docs.google.com/spreadsheets/d/171V2B0GXiKxUnQqS8h9YuAt-N8D-s1tjxVz3i5k_Flk/edit?usp=sharing

Next week will see another playtest, hope you check back.

~mixAR

Week 13 – Happy Thanksgiving!

Happy Thanksgiving!

This week has been very short, just two days in fact, but we did a rather large playtest so it is certainly worth talking about.

Basically, it was an A/B test featuring our Guide role, which cares about completing the experience, and our Teacher role, which cares about attending to the guest.  Originally, the second role in the test was the companion, but a small error in our editing tool that was built for the playtest, combined with various members of the team being sick on alternating days made this impossible.  We had eight testers total, seven who were EA employees, and one a friend of Carl, our advisor and client.  After they went through the experience, we administered a short survey, and we then asked some follow up questions based on that survey.

Here are a few key notes we observed:

  • Mixy was generally seen as helpful.
  • Mixy was generally seen to give good information.
  • Guest’s didn’t feel very connected to Mixy.
  • Mixy Didn’t seem to get in the way.
  • Mixy came off as pushy, and not caring of the player.
  • Teacher and Guide were hard to distinguish, possibly because users tend to view the panels in order anyway, and the teacher would revert to trying to get the user to go to the next panel too quickly.

That’s about all we could write up so far, since the playtest went all day, and everyone had preparations to make for the holiday.  Next week is Softs, so we are looking forward to reporting on that.

Adieu,

~mixAR

Week 12 – Playtesting Begins

Good to see you again,

Week 12 marks a very important milestone for us.  We have entered the playtesting phase of the project.  What this means, is that we are feature complete for our minimum viable product, and can begin completing the research component of the project.  It took a lot to get to this point, especially this past week, so I’m excited to talk about that.

Art, Animation, and Audio, are all essential to almost any digital experience, and ours is no exception.  This week, continued to complete animations to create more immersive and believable personalities.  Here’s a few examples:  Animations, Audio

We are currently making sure all of those animations and bits of dialogue are in the experience for our guest’s pleasure.

Our engine has been getting better and better throughout the week.  With our behaviour tree system complete, we have focused on making that system more usable, reliable, and feature rich.  This includes features to trigger movements more fluidly, more animations, enabling audio, and most importantly giving design a greater ability to influence how Mixy behaves.

The real meat of what happened this week was our design work.  Besides the usual bug fixing, we focused on iterating to improve the character’s personality, and ability to fill a role.  This meant, of course, playtesting.  We tested with many of our classmates, and noticed a few consistent observations.  Examples include the audio needing more variety, the character needing to face the guest more often, and the character being difficult to track at times.  We are excited to take these bits of feedback and many others and use them to improve the experience as a whole.  

That’s pretty much it for this week.  Expect future blogs to be heavily focused on playtests, and how we made gains against our research goals, and much less on what we actually did.

Cheers,

~mixAR

Week 11 – Expected Software Development

Hello,

Week 11 was very exciting for us, and very straightforward to speak about.  Our primary goal for the week was to get to a playtestable state, with our new AI system driving the agent.  We came very close to this goal, getting our behaviour tree tool working, and building a working tree for Mixy to use.  More details on that later.  We also continued to make animations, we got a lot of voice

over work done, with a robotic tone included.  

Before we get into the details of the AI system, let’s talk about our progress artistically.  We are continuing to work on specific supplemental animations.  An example is when the agent feels musically inclined, they may produce a banjo and serenade the guest.  We anticipate that many animations will have to be iterated on after playtesting as well, and look forward to improving the experience by doing so.  Voice over work is going very well too, as we have found a method to master the audio to sound very robotic.  This will also be continually iterated on for the remainder of the semester as needed.

Okay let’s get into the AI system.  Our behaviour tree system’s first pass was finished last week, but that was just a base layer.  There were a few bugs to work out, and it wasn’t quite ready for design to use extensively.  Over the course of this week, we have continued to improve on it, and managed to make it usable by design.  Initially, our goal was to have a playtest on Friday, but we barely missed being able to get everything ready by that day.  Unfortunately, our our behaviour control code is still in place, and needs to be turned off, as well as some finishing touches on the animation system, and allowing it to work with the behaviour tree nodes.  However, because the tool is usable, if not 100% functional yet, we did manage to build out all the AI logic, which works, so once the final pieces fall into place we will be good to go.  Our best timeline for this is Monday, or Tuesday morning at the latest.

Overall, this week went very well, and we got a lot done.  However, technical challenges still put us behind where we expected to be.  This is software development though, so we of course were ready for the possibility and prepared to keep moving forward at full speed.  

Can’t wait to tell you more about our progress next week,

~mixAR

Week 10 – Aftermath

Hello,

It is week 10 and we are working towards playtesting our personality engine.  First though, the feedback we got from halves is worth discussing.  We got a variety of feedback, from utilizing different distances of the character to support different emotional contexts, to how to go about testing, to making Mixy’s arms shorter.  All this feedback is awesome, and we are incorporating it where and when we can, and will have a better product to show for it.  

Tech is a good place to start as far as what has been accomplished this week, as we have reached a large milestone.  We have, after halves, focused on the personality engine, and the biggest part of that is creating a custom Behaviour Tree tool, which we are proud to say is done!  With that tool in  hand, our design team can begin to create the personalities and roles that we talked about at halves, in time for a playtest next week.  Next up is refining that engine and adding functionality to ensure the richest personality possible for Mixy.

Art is continuing to chug along, with all of our “Must Have” animations and their variations completed.  Examples of those animations include variations of an idle post, waving, smiling at the guest,  nervous fidgeting, and more.  Next up is “Nice to Have” animations, such as pointedly ignoring the guest, clasping hands behind the back, or a theatrical flourish.  

Design wise, we are focusing on what the behaviour trees will need to look like, as well as preparing for the playtest.  Our first playtest will be  Friday, 11/11/16.  We will be focusing on whether distinct personalities are noticeable, and how those differences are received by guests, using an A/B testing method.  The following week, we will be testing how the experience is perceived with, and without Mixy present at all.

Till’ next week,

~mixAR

Week 9 – Halfway Done!

Greetings and salutations from team mixAR

This week was halves.  Three days were almost entirely consumed by preparing a demo, video,and presentation rehearsals.  Rather than simply being told how that all went, here is a video of the presentation.

https://vimeo.com/189081658

In the two days we have had after the presentation, we have continued to progress on Animations steadily, adding variations to the animations we already have in order to support a more realistic personality.  We also managed to add a Start and Reset functionality to the experience, allowing for faster testing and iteration, avoiding resetting the entire app in the exact correct position every time.  Also, we are following up on halves feedback, which will continue to trickle in for another week or so.  

We hope you enjoyed our presentation, and follow up right here next week to learn about how we reacted to the feedback we received.

~mixAR

Week 8 – The Week Before Halves

Hello hello from SV!

Next week is halves, which is a big milestone for the project.  As such, most of our effort has been devoted to preparing for both a demo, video, and presentation.  For the most part this has gone well, and we have met our base goal for where we need to be for these deliverables.  That was made difficult by some difficulties we will discuss later.  Some specifics about those deliverables are as follows.  The presentation will meet all the requirements listed for halves by the ETC, and we are trying to focus on low density slides, relying on individual speakers to hit key points.  The video will be about a minute long, roughly a third of the length of the demo, and will feature a single exhibit in the museum.  The demo will be a three minute long experience, featuring three exhibits, and Mixy will serve the teacher role, with the superfan personality.

One major setback we encountered was the datedness of RainAI.  It turned out to not be compatible with Hololens, which set us back about three days, on both design and engineering, the week before halves.  As you can imagine this was painful, but we have learned from that mistake and have corrected course in time to meet our halves goals.  We are investigating other tools and methods at our disposal to make development of our AI smoother moving forward, similar to what Rain would have done.  Otherwise, we successfully managed to make a space mapping tool, and use that tool to successfully map the space, and get the character walking around, talking, and animating well.

Speaking of animations, we managed to get a large number of animations into the demo, all of our critical animations for the project, in fact.  There are still several variations of those to do, but we are extremely pleased with how well our animation pipeline is working, especially because our original concerns were that animation would be a bottleneck.  We are currently slotting time for next week to finish all the critical animations, and improve them based on feedback from halves.

Design, as with the rest of our efforts, was focused on halves.  Not so say that is all we did of course!  With our direction fairly solid, we are confident internally in the major design decisions we have made, which should cover the entire length of the project.  Of course, this is likely to change during halves, as many people outside the team will put eyes on the project.  So, our goal this week was to really question our decisions, and make sure we are able to explain as many of those decisions as possible, and understand them enough to integrate as much feedback as possible.

 

Next week will be all about halves feedback, see you then!

~mixAR

Week 7 – Progress

Hello from beautiful Redwood City, and team mixAR!

With our eyes on halves, and our heads down with little distractions, we managed to get a lot done this week.  Our objective was to get Mixy, our character, into a build as soon as possible.  To that end, we set out to finish modeling, rigging, and texturing the character, and get some basic animations in, grind out the finer details of how the character will act and behave in the scene, as well as, of course, building the tech to support the inclusion of the character.  So let’s talk about how we did.

Art is a major bottleneck for us.  Animating a character is hard enough as is, added to the fact that the entire experience relies on our character being able to express a wide range of roles and personalities, the task becomes harder still.  Happily, we are not short on talent in that area, and our character already has some animations done!  Say hello Mixy…

The guiding force of our project is the various roles and personalities the Mixy can display.  This is challenging because our goal is to be able to change these by adjusting numbers in a data set.  That goal means that every animation we make, and every line of code we write is aimed correctly, as we can’t afford to do make assets specific to any individual role or personality.  Instead, we have to plan assets and code that gives Mixy the ability to make decisions based on any given personality or role.  That, in a nutshell, is the focus of all our design efforts, making sure to look all the way to the end of the project, and being certain we don’t miss anything that could damage that goal.

On the tech side of things, we have decided to embrace an AI tool called RainAI, which is a powerful AI engine and behavior tree editor made for Unity.  This gives us access to a ton of tools that we would have made ourselves, that are already optimized, as well as features that we will be able to use that would have taken too long for us to make ourselves.  Not only does this save us a ton of time in the long run, but it should also give us the ability to get more done throughout the semester, not to mention an increase of quality.  With ramp up and learning time taken with the new tool, we still managed to make an initial pass at a behavior tree for Mixy, including integrating all of our old code into the Rain architecture.  

Anywho, time to get back to work, talk to you next week friends!

~mixAR

Week 6 – Reacting to Quarters

Hello once again from team mixAR!

Last week was quarters, and we learned a lot from that.  Naturally, after receiving not only feedback from our own ETC staff, which we are still parsing through in some cases, but also industry professional kind enough to stop by from EA, we had a lot to do. We have begun to focus heavily on getting our character into the experience ASAP.  This means really defining what their personality is, how they’ll move, act, and respond to the guest, as well as how they are engineered to exist in the scene.  Another big point of feedback we got was on our UI, which we have made smaller to fit the field of view on the Hololens, as well as making it generally more responsive and helpful to a guest.

As to the agent’s personality, we have mapped out each personality we feel would be strong, and created graphics for each one demonstrating how the agent would tend to act with that personality.  This was a combined effort, and we are now refining those personalities even further in order to rank those personalities, so we can direct our focus on which to spend more time on.  Soon we will be able to get animations assigned to different actions and moments, as we are very happy to report we have just finished rigging the fully  modeled and textured character!  This is a big milestone for us artistically, so hurray for that!

Engineering wise, we discovered a few bugs during quarters, and they proved more pesky than we had hoped, and most of the week was devoted to that.  For those who are interested, the problem seems to be that the Hololens does some special optimizations that cause an error the device, but not on the PC.  At the same time though, we are laying the groundwork code for getting the agent in the scene, including code for the agent following the user’s gaze, managing where it is in the field of view of the guest, and generally being in helpful locations.  

That’s really all there is to say for this week.  Next week, we should have a character in the experience interacting with guests.  Our first playtest should be before halfs.  

Here’s to weeks gone, and weeks yet to come, or something.

~mixAR