{"id":31,"date":"2026-09-08T22:17:41","date_gmt":"2026-09-08T22:17:41","guid":{"rendered":"https:\/\/projects.etc.cmu.edu\/aidol\/?p=31"},"modified":"2026-10-02T21:20:49","modified_gmt":"2026-10-02T21:20:49","slug":"week-2","status":"publish","type":"post","link":"https:\/\/projects.etc.cmu.edu\/aidol\/week-2\/","title":{"rendered":"Week 2 Build the Meter"},"content":{"rendered":"\n<p class=\"has-medium-font-size wp-block-paragraph\">TL; DR<\/p>\n\n\n\n<ul style=\"border-style:none;border-width:0px;padding-top:0;padding-bottom:0\" class=\"wp-block-list\">\n<li>V1 is divided into F1-F13 (F stands for features)<\/li>\n\n\n\n<li class=\"has-smallbig-font-size\">Unity project is setup in Perforce, and <strong>F1\u2013F4 are built<\/strong><\/li>\n\n\n\n<li class=\"has-smallbig-font-size\"><strong>Backend skeleton<\/strong> is built: one doorway every AI call has to pass through<\/li>\n\n\n\n<li class=\"has-smallbig-font-size\">Fallback plan for expensive things confirmed<\/li>\n\n\n\n<li>Weekly cost documented: <strong>$43.45 + CNY2798<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u00b7       \u00b7       \u00b7<\/p>\n\n\n\n<p class=\"has-medium-font-size wp-block-paragraph\"><strong>The map: F1 to F13<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V1 is thirteen numbered modules. Here&#8217;s the whole journey in one table.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>#<\/th><th>Module<\/th><th>What happens<\/th><th>Status<\/th><\/tr><\/thead><tbody><tr><td>F1<\/td><td>Opening Storyline<\/td><td>60-second intro: alarm \u2192 phone \u2192 street \u2192 recruitment pop-up<\/td><td>\u2714<\/td><\/tr><tr><td>F2<\/td><td>Neural-Match Interview<\/td><td>8-question dialogue producing a 16-cell archetype report and personalized invitations<\/td><td>\u2714<\/td><\/tr><tr><td>F3<\/td><td>Welcome Kit<\/td><td>Two CEO offers, contract signing, and the kit that teaches the economy<\/td><td>\u2714<\/td><\/tr><tr><td>F4<\/td><td>Idol Dorm<\/td><td>Home base \u2014 ID, wallet, quest desk<\/td><td>\u2714<\/td><\/tr><tr><td>F5<\/td><td>Quest System<\/td><td>Debut quest, split into three ordered steps: look \u2192 music \u2192 film<\/td><td><\/td><\/tr><tr><td><strong><s>F6<\/s><\/strong><\/td><td><strong><s>Vocal Training + Meet Producer<\/s><\/strong><\/td><td><strong><s>Moved to V2 \u2014 see below<\/s><\/strong><\/td><td><\/td><\/tr><tr><td>F7<\/td><td>Styling Room<\/td><td>Generates the player&#8217;s exclusive 2D portrait<\/td><td><\/td><\/tr><tr><td>F8<\/td><td>Recording Studio<\/td><td>Records a \u226410s self-intro, in your real voice or a chosen TTS voice<\/td><td><\/td><\/tr><tr><td>F9<\/td><td>Expression Training<\/td><td>Expression coaching that raises camera confidence before filming<\/td><td><\/td><\/tr><tr><td>F10<\/td><td>Senior Encounter<\/td><td>A senior idol narrative beat \u2014 meet who you could become<\/td><td><\/td><\/tr><tr><td>F11<\/td><td>Publish Decision<\/td><td>Upload the finished video, or spend to re-shoot<\/td><td><\/td><\/tr><tr><td>F12<\/td><td>Data Report<\/td><td>Post-publish metrics, and the first dual-ledger entries<\/td><td><\/td><\/tr><tr><td>F13<\/td><td>Dual Ledger Panel<\/td><td>Compute ledger and Diamond ledger, side by side<\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u00b7       \u00b7       \u00b7<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What got build?<\/strong><\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-f56f613f wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"329\" height=\"586\" src=\"https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/Picture1.png\" alt=\"\" class=\"wp-image-49\" srcset=\"https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/Picture1.png 329w, https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/Picture1-168x300.png 168w\" sizes=\"auto, (max-width: 329px) 100vw, 329px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-group is-vertical is-layout-flex wp-container-core-group-is-layout-c020569f wp-block-group-is-layout-flex\">\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Frontend<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>F1, F2, F3, F4 complete<\/li>\n\n\n\n<li>F5 menu in<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Art<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>F1 storyboard, first draft<\/li>\n\n\n\n<li>F3 and F4 UI assets<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Backend<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Runnable skeleton up<\/li>\n\n\n\n<li>Video generation pipeline built<\/li>\n\n\n\n<li>Full chain running end to end:\n<ul class=\"wp-block-list\">\n<li>Illustration \u2192 three-view turnaround \u2192 player&#8217;s voice \u2192 video<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"1044\" src=\"https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/unity-panel-1.jpg\" alt=\"\" class=\"wp-image-55\" srcset=\"https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/unity-panel-1.jpg 1920w, https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/unity-panel-1-300x163.jpg 300w, https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/unity-panel-1-1024x557.jpg 1024w, https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/unity-panel-1-768x418.jpg 768w, https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/unity-panel-1-1536x835.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u00b7       \u00b7       \u00b7<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The video benchmark<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We A\/B tested video models on an identical brief \u2014 same prompt, same reference images, 12 seconds, 9:16, 720p. <\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Model<\/th><th>Cost per 12s<\/th><th>Generation time<\/th><th>Verdict<\/th><\/tr><\/thead><tbody><tr><td>MiniMax H3 Max<\/td><td>$1.35<\/td><td>~71 sec<\/td><td>Style, lip-sync and all four action beats on target<\/td><\/tr><tr><td>Seedance 2.0<\/td><td>$3.64<\/td><td><code>~5 min<\/code><\/td><td>Same quality \u2014 2.7\u00d7 the cost, 4\u00d7 slower<\/td><\/tr><tr><td>Seedance 2.0 mini \/ fast<\/td><td>$2.90 \/ $1.63<\/td><td>Faster<\/td><td>Lighter quality, same engine<\/td><\/tr><tr><td>Seedance 2.5<\/td><td>$5.64<\/td><td>&#8211;<\/td><td>The most expensive, better quality<\/td><\/tr><\/tbody><tfoot><tr><td><strong>MiniMax H3 (6s clip)<\/strong><\/td><td><strong>$0.36<\/strong><\/td><td><code><strong>10\u201315 sec<\/strong><\/code><\/td><td><code><strong>The fallback plan<\/strong><\/code><\/td><\/tr><\/tfoot><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The cheap won!<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While our budget request is still pending approval, cost has become an important factor in our tool selection. For the current development phase, we\u2019ve decided to use <strong>MiniMax H3 Max<\/strong> for stage performance videos and <strong>Seedance 2.0<\/strong> for self-introduction videos. We\u2019ll continue tracking their cost, quality, and performance throughout development to see how they hold up in production.<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u00b7 \u00b7 \u00b7<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Designing for Failure<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Generation will sometimes be late, fail, cost too much, or be inappropriate for a particular player, so failure needs to be designed into the experience.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>A fallback should be a version of the experience, not an apology for its absence.<\/strong><\/p>\n<\/blockquote>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Scenario<\/th><th>Constraint<\/th><th>Designed Fallback<\/th><\/tr><\/thead><tbody><tr><td><strong>Video Isn&#8217;t Ready<\/strong><\/td><td>Generation latency<\/td><td>Rough cut using existing audio, portrait, B-roll, and title package<\/td><\/tr><tr><td><strong>Budget or Clock Is Tight<\/strong><\/td><td>Cost \/ latency<\/td><td>6-second Mini Max H3 generation path<\/td><\/tr><tr><td><strong>Minigame Overruns<\/strong><\/td><td>Development scope<\/td><td>Expression Training \u2192 Expression Quiz<\/td><\/tr><tr><td><strong>Player Doesn&#8217;t Want to Use Their Voice<\/strong><\/td><td>Player preference \/ accessibility<\/td><td>Four predefined TTS voices with no penalty<\/td><\/tr><tr><td><strong>Server Dies Mid-Render<\/strong><\/td><td>Technical failure<\/td><td>Persistent generation job; resume without paying twice<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u00b7 \u00b7 \u00b7<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>What it cost<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Budget approval hasn&#8217;t come through yet, so this is still our own money.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Service<\/th><th>Type<\/th><th>Purpose<\/th><th>Amount<\/th><th>Date<\/th><\/tr><\/thead><tbody><tr><td>Fal.ai<\/td><td>API credit<\/td><td>Image and video generation<\/td><td>$10.70<\/td><td>Aug 29<\/td><\/tr><tr><td>ElevanLabs<\/td><td>Subscription<\/td><td>TTS \u2014 in-game content, voice test<\/td><td>$6.00<\/td><td>Aug 31<\/td><\/tr><tr><td>Fal.ai<\/td><td>API credit<\/td><td>Image and video generation<\/td><td>$26.75<\/td><td>Sep 2<\/td><\/tr><tr><td>Jimeng<\/td><td>Subscription<\/td><td>Video generation<\/td><td>CNY 2,798<\/td><td>Sep 4<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>$43.45 USD + CNY 2,798<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And from the fal.ai dashboard on Sep 4: <strong>$17.30 spent, $4.66 daily burn, 14 endpoints live.<\/strong> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Top drivers were Seedance 2.0 mini at $6.49, Seedance 2.0 reference at $3.64, MiniMax H3 Max at $2.23, and GPT-image-2 at just under $3.00 across two endpoints.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"922\" src=\"https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/falai-cost.jpg\" alt=\"\" class=\"wp-image-69\" srcset=\"https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/falai-cost.jpg 1920w, https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/falai-cost-300x144.jpg 300w, https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/falai-cost-766x368.jpg 766w, https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/falai-cost-1024x492.jpg 1024w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">\u00b7 \u00b7 \u00b7<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Weekly Progress Report<\/strong><\/p>\n\n\n\n<div data-wp-interactive=\"core\/file\" class=\"wp-block-file\"><object data-wp-bind--hidden=\"!state.hasPdfPreview\" hidden class=\"wp-block-file__embed\" data=\"https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/aidol-week-2-public.pdf\" type=\"application\/pdf\" style=\"width:100%;height:600px\" aria-label=\"Embed of aidol-week-2-public.\"><\/object><a id=\"wp-block-file--media-ae19a02f-5146-468d-822f-80f84dd22c4b\" href=\"https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/aidol-week-2-public.pdf\">aidol-week-2-public<\/a><a href=\"https:\/\/projects.etc.cmu.edu\/aidol\/wp-content\/uploads\/2026\/09\/aidol-week-2-public.pdf\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-ae19a02f-5146-468d-822f-80f84dd22c4b\">Download<\/a><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Meeting Notes:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Needs changes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>F1 needs to lose the real world:<\/strong> drop the player straight into Aidol World, and lead with the thing the game does best: voice.<\/li>\n\n\n\n<li><strong>Urgent demo:<\/strong> video recording us and turn into AI video.<\/li>\n\n\n\n<li>Maybe, players can buy a better AI video generation model in game.\n<ul class=\"wp-block-list\">\n<li>A better in-game phone means better video quality; a monetization line<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Players can choose<\/strong> a minigame or a story video during the wait for AI generation.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Still arguing:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The archetype question. Why does everyone look the same? Are we trying to set a beauty standard?<\/li>\n\n\n\n<li>&#8220;Is it too feminine?&#8221; Can male players play the feminine character doing feminine poses?<\/li>\n\n\n\n<li>What breaks at 100,000 players? How do we keep the game fresh?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Also on the list: Amazon Music and AWS visit CMU Sep 16\u201318.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TL; DR \u00b7 \u00b7 \u00b7 The map: F1 to F13 V1 is thirteen numbered modules. Here&#8217;s the whole journey in one table. # Module What happens Status F1 Opening Storyline 60-second intro: alarm \u2192 phone \u2192 street \u2192 recruitment pop-up \u2714 F2 Neural-Match Interview 8-question dialogue producing a 16-cell archetype report and personalized invitations \u2714 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":297,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-31","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/projects.etc.cmu.edu\/aidol\/wp-json\/wp\/v2\/posts\/31","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/projects.etc.cmu.edu\/aidol\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/projects.etc.cmu.edu\/aidol\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/aidol\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/aidol\/wp-json\/wp\/v2\/comments?post=31"}],"version-history":[{"count":10,"href":"https:\/\/projects.etc.cmu.edu\/aidol\/wp-json\/wp\/v2\/posts\/31\/revisions"}],"predecessor-version":[{"id":365,"href":"https:\/\/projects.etc.cmu.edu\/aidol\/wp-json\/wp\/v2\/posts\/31\/revisions\/365"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/aidol\/wp-json\/wp\/v2\/media\/297"}],"wp:attachment":[{"href":"https:\/\/projects.etc.cmu.edu\/aidol\/wp-json\/wp\/v2\/media?parent=31"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/aidol\/wp-json\/wp\/v2\/categories?post=31"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/projects.etc.cmu.edu\/aidol\/wp-json\/wp\/v2\/tags?post=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}