{"id":419,"date":"2026-02-06T17:00:00","date_gmt":"2026-02-06T17:00:00","guid":{"rendered":"https:\/\/projects.etc.cmu.edu\/appetizer\/?p=419"},"modified":"2026-02-27T01:36:32","modified_gmt":"2026-02-27T01:36:32","slug":"week-4","status":"publish","type":"post","link":"https:\/\/projects.etc.cmu.edu\/appetizer\/week-4\/","title":{"rendered":"Week 4"},"content":{"rendered":"\n<p class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">Bon App\u00e9tit! Welcome to the week of ideas being skewered.<\/p>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-ce3bfbcb wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/week4-featured-1-1024x768.png\" alt=\"\" class=\"wp-image-421\" srcset=\"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/week4-featured-1-1024x768.png 1024w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/week4-featured-1-300x225.png 300w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/week4-featured-1-768x576.png 768w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/week4-featured-1-1536x1152.png 1536w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/week4-featured-1.png 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n\n<p class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">Here at AppetizeR, we took the feedback from Quarters, had a long hard look at our platform, project requirements, needs, limitations, and enthusiasm, and then tried to find the right place to bite into. The team had this moment where we didn\u2019t really know what our shish kebab was made of until we had a visit from Dave Culyba.<\/p>\n\n\n\n<p class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">That meeting and quick chat helped get our grills fired up. He reminded us that the best way to have a good project was to come up with something that the team members were genuinely excited about first and foremost, and that it was okay to take heavy inspiration from other games for our mechanics, as translating those concepts into AR would necessarily make them distinct from the originals.<\/p>\n\n\n\n<p class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">Ideas started flowing, and the programmers started checking for the feasibility of the interactions we came up with\u2026 only to be swiftly shut down every time we explored them. A couple of examples:&nbsp;<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">We thought about using a deck of image markers (specific images that the glasses could recognize and anchor a 3D object to when the image is seen) in order to create a 3D deck of cards. However, a Spectacles lens project cannot contain more than 10 unique image markers, so a full deck will not work.<br><\/li>\n\n\n\n<li class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">Maybe we could use a limited number of image markers to build up a recipe, using each marker as an individual ingredient\u2026 if only more than 1 image marker could be rendered at a time with the Spectacles.<br><\/li>\n<\/ol>\n\n\n\n<p class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">We are 4 weeks in, and with so many ideas going nowhere due to limitations of our platform, we started to feel the heat of the oven and wanted to get some prototyping done. We thought about if there were ways that we could continue exploring by coming up with some proofs of concept for ways that AR might be used in the future when the tech gets better, rather than being limited by what it cannot do today.&nbsp;<\/p>\n\n\n\n<p class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">We returned to our previous idea of decorating drinks by attaching image markers to the cups, so that virtual objects would stay attached even if the cup is moved around. Our UI designer came up with a storyboard for an experience where players virtually decorate a drink in front of them based on a prompt and then pass the drinks around to get decorated by more people, before they get revealed to the recipient of the drink. At the end, players can take pictures of themselves with the drink and funny face filters. We then started making paper prototypes to test out how we could use social mechanics from party games like Imaginiff and Whoonu to facilitate conversations throughout the experience.<\/p>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-43326a14 wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)\">\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"470\" src=\"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype1-1024x768.jpg\" alt=\"\" class=\"wp-image-470\" srcset=\"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype1-1024x768.jpg 1024w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype1-300x225.jpg 300w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype1-768x576.jpg 768w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype1-1536x1152.jpg 1536w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype1.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"471\" src=\"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype2-1024x768.jpg\" alt=\"\" class=\"wp-image-471\" srcset=\"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype2-1024x768.jpg 1024w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype2-300x225.jpg 300w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype2-768x576.jpg 768w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype2-1536x1152.jpg 1536w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype2.jpg 1600w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/figure>\n<\/div>\n\n\n\n<p class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">On the tech side, we prototyped attaching an image marker to a cup on the lazy susan and attempting to attach synced objects that could persist on the cup when other users looked at the marker.\u00a0<br><\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-2b2b1589 wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"317\" src=\"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype3.png\" alt=\"\" class=\"wp-image-474\" srcset=\"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype3.png 512w, https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/prototype3-300x186.png 300w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/figure>\n<\/div>\n\n\n\n<p class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">However, we immediately ran into networking issues. It seems that objects tied to markers don\u2019t sync across the network, even if we tried to turn them into SyncTransforms, a component from the Spectacles Sync Kit package. So the drink decoration feature only works in a single player environment\u2026 but there\u2019s no surprise if you decorate your own drink. After investigating, we found that image markers are tied to each device\u2019s local camera and cannot become part of the colocated world that all synced objects are part of in the sync kit. Essentially, each player has their own copy of the image marker object.&nbsp;<\/p>\n\n\n\n<p class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">There seems to be a common denominator in all of our tech issues. Using image markers to tie digital content to physical objects and take advantage of weight, tactility, and physicality sounded like a perfect application of AR, but image markers don\u2019t seem to want to mesh with the synced communal part of our project. Thus, we keep going back to the drawing board and spinning our wheels, which is starting to feel frustrating.<br><br>Luckily, our team isn&#8217;t easily charred by the fear of failure. So we kept exploring what we knew that we could do. What if we solely use a marker as a visual toy and build the rest of the interaction separately?&nbsp;<\/p>\n\n\n\n<p class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">We found that image markers could recognize their own rotation, which meant that we could write a script that does something to the marker object when rotation is detected (e.g. attaching the marker to a lazy susan on a table and spinning it). Having a lazy susan in the middle of the table also allows us to place digital content in the middle of the table that everyone can see and brings the whole experience together.&nbsp;<\/p>\n\n\n\n<p class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">With that small win, our artists started working on a model for a cauldron of soup to go on a spinning marker, with a soup shader whose parameters could be adjusted to change the amount that the broth is swirling in the pot. The fact that the pot itself is round makes this a good model to place on a central marker. Right now, this shader is not integrated into the tech prototypes, but we\u2019re going to try to connect this work soon, so that spinning the lazy susan with a marker on it results in seeing the pot of soup mixing, which will be a rewarding visual effect.<\/p>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-container-core-group-is-layout-2b2b1589 wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30)\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"578\" src=\"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-content\/uploads\/2026\/02\/gif-soup-compressed.gif\" alt=\"\" class=\"wp-image-478\"\/><\/figure>\n<\/div>\n\n\n\n<p class=\"has-roboto-font-family has-normal-font-size\" style=\"padding-top:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);line-height:1.2\">As for the problems with networking and using the image markers, a solution will come, confidence rises and falls, and that&#8217;s just the way a project moves.<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bon App\u00e9tit! Welcome to the week of ideas being skewered. Here at AppetizeR, we took the feedback from Quarters, had a long hard look at our platform, project requirements, needs, limitations, and enthusiasm, and then tried to find the right place to bite into. The team had this moment where we didn\u2019t really know what [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":420,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"single-post-no-sidebar","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-419","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev-blogs"],"_links":{"self":[{"href":"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-json\/wp\/v2\/posts\/419","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-json\/wp\/v2\/comments?post=419"}],"version-history":[{"count":7,"href":"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-json\/wp\/v2\/posts\/419\/revisions"}],"predecessor-version":[{"id":479,"href":"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-json\/wp\/v2\/posts\/419\/revisions\/479"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-json\/wp\/v2\/media\/420"}],"wp:attachment":[{"href":"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-json\/wp\/v2\/media?parent=419"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-json\/wp\/v2\/categories?post=419"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/appetizer\/wp-json\/wp\/v2\/tags?post=419"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}