{"id":5,"date":"2018-09-01T03:12:22","date_gmt":"2018-09-01T03:12:22","guid":{"rendered":"https:\/\/projects-old.etc.cmu.edu\/botlab\/?p=5"},"modified":"2018-09-01T03:12:22","modified_gmt":"2018-09-01T03:12:22","slug":"botlab-week-1-development-blog","status":"publish","type":"post","link":"https:\/\/projects-old.etc.cmu.edu\/botlab\/index.php\/2018\/09\/01\/botlab-week-1-development-blog\/","title":{"rendered":"BotLab: Week 1 Development bLog"},"content":{"rendered":"<p>Hello and welcome to BotLab&#8217;s Dev. Blog!<\/p>\n<p>The following is meant to serve as an online reference of our development process and is broken down into team member&#8217;s individual roles.<\/p>\n<h1><b>Production<\/b><\/h1>\n<p><span style=\"font-weight: 400;\">I met the team on Monday, and after setting up the room, we discussed preferred roles and what we each wanted to get out of the project. Fortunately, we have a well balanced team with no overlap in intended roles. The team breakdown is as follows:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Producer: Jehan Sandhu (me!)<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Programmer: Guanghao Yang<\/span><\/p>\n<p><span style=\"font-weight: 400;\">3D Artist: Kangyan Li <\/span><\/p>\n<p><span style=\"font-weight: 400;\">UI\/UX + 2D Art: Meng (Nicole) Wan<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Designer + Programmer: Trisha Surve<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We casually met our faculty instructors, Mike C. and John D, and with their input, soon began blocking out a rough schedule for our core hours. We also began to prepare for our first face-to-face client meeting on Friday by researching organizations and experiences that dealt with bot building, systems learning, and noteworthy games and mechanics. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Following the advice of Mike, we met John Balash earlier on in the week to learn more about our client (they have a professional rapport), how to best prepare for our Friday meeting, and the types of questions to ask of the client. Additionally John will be assisting us with getting Middle School children to playtest with.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We requested equipment and platforms midway through the week, four ipads and four android tablets to use ARKit or ARCore accordingly, and decided on the team name of BotLab. I also reached out to the client via e-mail to set the basic agenda for Friday\u2019s meeting. The latter of the week was spent preparing a short presentation and materials for our client meeting. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">We met our client, Bill, on Friday (check out the pictures below!). After a brief period of team introductions, we began open discussion about the project. Our client was very warm and open minded, explaining what the organization wanted while also noting he wanted us to leverage our individual skills towards the team. Additionally, we were able to lock down some constraints: what we make has to be portable and easy to demo on accessible hardware.<\/span><\/p>\n<figure id=\"attachment_7\" aria-describedby=\"caption-attachment-7\" style=\"width: 320px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-7\" src=\"https:\/\/projects-old.etc.cmu.edu\/botlab\/wp-content\/uploads\/2018\/09\/20180831_103106-300x169.jpg\" alt=\"\" width=\"320\" height=\"180\" srcset=\"https:\/\/projects-old.etc.cmu.edu\/botlab\/wp-content\/uploads\/2018\/09\/20180831_103106-300x169.jpg 300w, https:\/\/projects-old.etc.cmu.edu\/botlab\/wp-content\/uploads\/2018\/09\/20180831_103106-768x432.jpg 768w, https:\/\/projects-old.etc.cmu.edu\/botlab\/wp-content\/uploads\/2018\/09\/20180831_103106-1024x576.jpg 1024w\" sizes=\"(max-width: 320px) 100vw, 320px\" \/><figcaption id=\"caption-attachment-7\" class=\"wp-caption-text\">Our first client meeting!<\/figcaption><\/figure>\n<p><span style=\"font-weight: 400;\">Next week we will meet Tuesday to fill out a RACI chart and we will begin daily SCRUM meetings. We\u2019re all very excited to be working with the National Robotics League.<br \/>\n<\/span><\/p>\n<h1><b>Programming<\/b><\/h1>\n<p><span style=\"font-weight: 400;\">We did a research on what kind of technology we might use. For now, we think AR could be a good fit to our project.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The most popular AR platforms are ARkit and ARCore.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For ARKit, it&#8217;s the technology introduced during WWDC 17. its key highlights include<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a01.Tracking: Ability to accurately track the device position in the real-world. Using the Visual Inertial Odometer (VIO), the ARKit combines with camera tracking and motion sensor data, with which a real-time position of the device is recorded. Additionally, no tracking cards are required<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a02.Landscape Understanding and Lightning Perception: iPhones and iPads would be especially aware of the surroundings using the ARKit. It comes with the ability to identify surfaces in the real-world environment, like floor, tables, walls, ceiling, etc. Also referred to as \u2018Plane Detection\u2019. Remember observing the vapour and shadow effect in the demo?<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a03.Rendering: It provides an easy integration with SpriteKit, SceneKit as Metal, with an added support for in Unity and Unreal Engine<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It&#8217;s available on iOS 11 only<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Another choice is ARCore, it&#8217;s Google\u2019s answer to Apple\u2019s ARKit was ARCore &#8211; the AR framework for Android devices. Compare to ARKit, it emphasis on following:<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a01.Motion Tracking: ARCore observes IMU sensor data and feature points of the surrounding space to determine both the position and orientation of the device as per its movement<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a02.Environmental Understanding : ARCore detects horizontal surfaces using features similar to motion tracking<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0Light Estimation: ARCore detects the lighting ambience of the device, thereby enhancing the appearance and making the visual accurate in real-time<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a03.User Interaction: With the \u2018hit-testing\u2019 feature, ARCore detects intersection of light rays in the device\u2019s camera view<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a04.Anchoring Objects: To accurately place a virtual object, ARCore defines an anchor that ensures its ability to track the object\u2019s displacement over a period of time. ARCore efficiently improves its understanding of the position and environment.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The SDK preview qualifiers are &#8211; Android 7.0 Nougat devices : Google Pixel, Pixel XL and Samsung Galaxy S8<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We don&#8217;t think it&#8217;s good for us to have it on head-mounted virtual retinal display like Magic Leap and Microsoft Hololens as it requires extra equipments and it&#8217;s not convenient to bring it to everywhere.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For engine middleware, we would like to pick Unity. Both because we used Unity a lot and Unity provides a good support for almost every AR technology to easily integrated.<\/span><\/p>\n<h1><b>Design<\/b><\/h1>\n<p><b>Role:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">I will be working as a Game Designer on this project and would be leveraging my technical skills to help with Gameplay programming. <\/span><\/p>\n<p><b>Responsibility for client meeting:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">For our first client meeting, I was responsible for researching games that incorporate \u201c<\/span><a href=\"http:\/\/edutechwiki.unige.ch\/en\/Stealth_learning\"><span style=\"font-weight: 400;\">Stealth Learning<\/span><\/a><span style=\"font-weight: 400;\">\u201d for kids. We had to make sure that we were not only looking at past robotics games that already exist, but also past ETC projects that have cleverly demonstrated this type of learning. I ended up analysing Water Bears and BattleBots: Beyond the BattleBox. It was particularly interesting to understand their design perspectives and principles upon which the games were built. As a team, we had to get as familiar as we could with designing and developing a game for this space. We also had a meeting with John Balash who gave us really good advice on preparing for our meeting with the client as he knew the client before hand. Based on John\u2019s advice, we made a list of things that the two games did right and another list to identify their shortcomings to have a discussion around this topic in case they were brought up during the meeting. <\/span><\/p>\n<p><b>Important questions:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Mike Christel suggested that we go through Sabrina Culyba\u2019s Transformational Framework draft to identify the set of questions we needed to ask our client for us to proceed.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">These were some of the questions we focussed on:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">What is the high-level purpose of the game? What is the goal of this experience?<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The high-level purpose of this game is to get students interested in the process of building a bot, prototyping, learning from mistakes and follow continuous iteration.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">What are the existing barriers that stand in the way of achieving that goal?<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The materials used are expensive and do not allow much of trial and error when building.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">What do you want the players to know\/learn after playing the game?<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The players should get familiar with the pipeline of building and testing a robot.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Resources that we need to consider for insight and feedback in our domain.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Link to the website: <\/span><a href=\"http:\/\/www.gonrl.com\"><span style=\"font-weight: 400;\">www.gonrl.com<\/span><\/a><span style=\"font-weight: 400;\">. Our client will also be connecting us with people from the industry and students already a part of this process <\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Key concepts: What is the critical content that the game should embody?<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">A good feedback loop to help students identify their mistakes, find solutions and learn from them.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Assessment plan: How do you intend to measure success or asses that the game is effective?<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Still needs to be discussed in detail.<\/span><\/p>\n<p><b>Target Audience:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">We were able to identify our Target Audience, children from \u00a05th-7th grade along with the stakeholders, teachers andmanufacturers.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-6 aligncenter\" style=\"font-size: 1rem;\" src=\"https:\/\/projects-old.etc.cmu.edu\/botlab\/wp-content\/uploads\/2018\/09\/NRL-DEV-BLOG-target-audience-circles-300x225.png\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/projects-old.etc.cmu.edu\/botlab\/wp-content\/uploads\/2018\/09\/NRL-DEV-BLOG-target-audience-circles-300x225.png 300w, https:\/\/projects-old.etc.cmu.edu\/botlab\/wp-content\/uploads\/2018\/09\/NRL-DEV-BLOG-target-audience-circles-768x576.png 768w, https:\/\/projects-old.etc.cmu.edu\/botlab\/wp-content\/uploads\/2018\/09\/NRL-DEV-BLOG-target-audience-circles-1024x768.png 1024w, https:\/\/projects-old.etc.cmu.edu\/botlab\/wp-content\/uploads\/2018\/09\/NRL-DEV-BLOG-target-audience-circles.png 1280w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Target<\/b><\/td>\n<td><b>Impact<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Students (5th &#8211; 7th Graders)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Interest, Engagement, fun, excitement, enthusiasm<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Teachers<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Demystify the learning tool and make them less intimidated by it<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Manufacturing Companies<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Make them understand the importance of this program<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><b>Deliverable:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A polished product by the end of the semester that can be shown in conferences and to stakeholders.<\/span><\/p>\n<h1><b>Art<\/b><\/h1>\n<p><span style=\"font-weight: 400;\">We did the researches about several robotic projects before meeting \u00a0our client. One of the robotic projects we researched is called Mindstorm produced by LEGO. This product provided a simple pipeline of building robot for kids. Kids can actually build a robot in every shapes with its sensors and motors. In addition, kids can also use its programming app made by LEGO to program the behavior of the robot they built.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For the client meeting, the client shared a lot of informations about what NRL do and what they want to achieve.The goal of the project we are going to make is attracting 10~14 years old kids to play with our app(games) to learn basic manufacturing skills and \u00a0let them be interested in joining the robot competition held by NRL. Moreover, we should also interests the teachers and the people in manufacturing industry to use this games to teach or make connection with kids who love doing manufacturing. The experience we are going to create should contain building and testing the virtual robot. The kids can learn that different materials will suit for different situations and how to choose materials to make their robot better in limited budget. At last, kids will get feedback of their virtual robot about how things are working and how things are not working.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In the effect and art side, the behaviors and animations of the virtual robot should be based on reality which means that it will not be able to fly or shooting bullets. \u00a0\u00a0\u00a0<\/span><\/p>\n<h1><b>UI\/UX Design<\/b><\/h1>\n<p><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\">It was the first week of this semester. Our team members formally meet with each other and team advisors. I will take care of UX design in our project.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> As a preparation for the first meeting with the client, Our team did some research about our client National Robotics League with related resources and present to the client with a slide. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">We acquired lots of touch points during the meeting. Our client has a really clear goal that he wants to use our project to attract more companies to join them as partner and more students who are interested in manufacture. In this way, we are clear for whis our target audience. In their vision, our project could make kids feel excited and teachers on STEM program would get a high level meaning about our game. It should exit as expansion of instructors class discussion, which could make kids gain skills about manufacture. It\u2019s a really great start of our project.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For the presentation, we looked forward to framing a problem of our project with them in our first client meeting on Friday. \u00a0As a UI\/UX designer in our team, I designed a slide theme based on the color of the client logo, which could let them feel a sense of customizing. And we will keep using this theme in the future presentation to keep the consistency of our project.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello and welcome to BotLab&#8217;s Dev. Blog! The following is meant to serve as an online reference of our development process and is broken down into team member&#8217;s individual roles. Production I met the team on Monday, and after setting up the room, we discussed preferred roles and what we each wanted to get out &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/projects-old.etc.cmu.edu\/botlab\/index.php\/2018\/09\/01\/botlab-week-1-development-blog\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;BotLab: Week 1 Development bLog&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[6,2,4,3,8,11,5,9,10,7],"class_list":["post-5","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-botsiq","tag-cmu","tag-entertainment-technology","tag-etc","tag-game","tag-manufacturing","tag-national-robotics-league","tag-simulation","tag-stem","tag-swpa"],"_links":{"self":[{"href":"https:\/\/projects-old.etc.cmu.edu\/botlab\/index.php\/wp-json\/wp\/v2\/posts\/5"}],"collection":[{"href":"https:\/\/projects-old.etc.cmu.edu\/botlab\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/projects-old.etc.cmu.edu\/botlab\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/projects-old.etc.cmu.edu\/botlab\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/projects-old.etc.cmu.edu\/botlab\/index.php\/wp-json\/wp\/v2\/comments?post=5"}],"version-history":[{"count":1,"href":"https:\/\/projects-old.etc.cmu.edu\/botlab\/index.php\/wp-json\/wp\/v2\/posts\/5\/revisions"}],"predecessor-version":[{"id":8,"href":"https:\/\/projects-old.etc.cmu.edu\/botlab\/index.php\/wp-json\/wp\/v2\/posts\/5\/revisions\/8"}],"wp:attachment":[{"href":"https:\/\/projects-old.etc.cmu.edu\/botlab\/index.php\/wp-json\/wp\/v2\/media?parent=5"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/projects-old.etc.cmu.edu\/botlab\/index.php\/wp-json\/wp\/v2\/categories?post=5"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/projects-old.etc.cmu.edu\/botlab\/index.php\/wp-json\/wp\/v2\/tags?post=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}