<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>오디세이 on To the Moon</title><link>https://junstellar.github.io/tags/%EC%98%A4%EB%94%94%EC%84%B8%EC%9D%B4/</link><description>Recent content in 오디세이 on To the Moon</description><generator>Hugo -- gohugo.io</generator><language>ko-kr</language><lastBuildDate>Wed, 19 Aug 2026 20:00:00 +0900</lastBuildDate><atom:link href="https://junstellar.github.io/tags/%EC%98%A4%EB%94%94%EC%84%B8%EC%9D%B4/index.xml" rel="self" type="application/rss+xml"/><item><title>AI로 게임 만들기 #9 — 〈오디세이〉 보기 전 30분, 보고 나서 30분. 버튼 하나로 겪는 오디세우스 (공개빌드 #9)</title><link>https://junstellar.github.io/p/ai-game-lab-build-9/</link><pubDate>Wed, 19 Aug 2026 20:00:00 +0900</pubDate><guid>https://junstellar.github.io/p/ai-game-lab-build-9/</guid><description>&lt;img src="https://junstellar.github.io/p/ai-game-lab-build-9/hero.webp" alt="Featured image of post AI로 게임 만들기 #9 — 〈오디세이〉 보기 전 30분, 보고 나서 30분. 버튼 하나로 겪는 오디세우스 (공개빌드 #9)" /&gt;&lt;p&gt;&lt;a class="link" href="https://junstellar.github.io/p/ai-game-lab-build-8/" &gt;지난 편&lt;/a&gt;의 심해 낚시에 이어, 아홉 번째 게임은 &lt;strong&gt;오디세이아&lt;/strong&gt;입니다. 트로이에서 이타카까지 20년, 그 여정의 여섯 장면을 &lt;strong&gt;버튼 하나로&lt;/strong&gt; 직접 겪는 게임이에요. ⛵&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;영화 보러 가기 전에 하면 예습이고, 보고 나서 하면 복습입니다.&lt;/strong&gt; 저는 보고 나서 만들었으니 후자로 시작한 셈이네요.&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;&lt;a class="link" href="https://junstellar.github.io/games/odyssey/" &gt;오디세이아 직접 하러 가기&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="3시간이-하나도-안-지루했습니다"&gt;3시간이 하나도 안 지루했습니다
&lt;/h2&gt;&lt;p&gt;놀란의 〈오디세이〉를 봤습니다. &lt;strong&gt;너무 재밌었습니다.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;일단 &lt;strong&gt;배역이 너무 잘 맞았어요.&lt;/strong&gt; 매트 데이먼의 오디세우스도 그렇고, 페넬로페로 나온 &lt;strong&gt;앤 해서웨이&lt;/strong&gt;가 정말 예쁘게 나왔습니다. 20년을 기다리는 사람의 얼굴이 그래야 할 것 같은 얼굴이었어요.&lt;/p&gt;
&lt;p&gt;한 가지 걸린 건, 하필 그 전 주에 스파이더맨을 봤다는 겁니다. 텔레마코스로 &lt;strong&gt;톰 홀랜드&lt;/strong&gt;가 나오고 아테나로 &lt;strong&gt;젠데이아&lt;/strong&gt;가 나오는데, 머리로는 아는데 자꾸 피터랑 MJ가 겹쳐서 그 대목만 몰입이 좀 깨졌습니다. 😅 (젠데이아의 아테나는 실제로 신인지 오디세우스의 죄책감이 만든 환영인지 열어두고 찍었다더군요. 그건 좋았습니다.)&lt;/p&gt;
&lt;p&gt;그래도 &lt;strong&gt;오디세우스의 서사가 장황할 만큼 멋지게 펼쳐져서&lt;/strong&gt; 3시간이 전혀 지루하지 않았습니다. 극장을 나오는데 오히려 여운이 남았어요.&lt;/p&gt;
&lt;h2 id="그런데-같이-본-사람은-온도가-달랐습니다"&gt;그런데 같이 본 사람은 온도가 달랐습니다
&lt;/h2&gt;&lt;p&gt;나오면서 이야기하다가 알았습니다. &lt;strong&gt;저는 원작 줄거리를 알고 갔고, 같이 본 사람은 몰랐습니다.&lt;/strong&gt; 같은 장면을 보고도 남는 게 달랐어요.&lt;/p&gt;
&lt;p&gt;세이렌 앞에서 왜 자기만 묶여 있는지, 눈앞의 소를 왜 안 잡아먹는지, 마지막에 활을 당기는 게 왜 그렇게 중요한 장면인지 — 알고 보면 &amp;ldquo;아, 저게 그거구나&amp;quot;인데 모르고 보면 그냥 지나갑니다.&lt;/p&gt;
&lt;p&gt;원작을 읽고 가라고 하기엔 부담스럽고, 줄거리 요약을 읽으라고 하기엔 &lt;strong&gt;읽어도 안 남습니다.&lt;/strong&gt; 남의 이야기를 요약해서 읽으면 30분 뒤에 잊어버려요.&lt;/p&gt;
&lt;p&gt;그래서 &lt;strong&gt;직접 겪게 만들면 남지 않을까&lt;/strong&gt; 싶었습니다.&lt;/p&gt;
&lt;h2 id="30분짜리-버튼-하나"&gt;30분짜리, 버튼 하나
&lt;/h2&gt;&lt;p&gt;만든 규칙은 단순합니다.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;/th&gt;
					&lt;th&gt;&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;스테이지&lt;/td&gt;
					&lt;td&gt;6편&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;조작&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;스페이스 · 클릭 · 탭&lt;/strong&gt; — 셋 다 같은 동작&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;한 편&lt;/td&gt;
					&lt;td&gt;5분 이내&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;전체&lt;/td&gt;
					&lt;td&gt;30분 이내&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;PC·모바일&lt;/td&gt;
					&lt;td&gt;동일&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;버튼을 하나로 묶은 건 제약이 아니라 &lt;strong&gt;선택&lt;/strong&gt;이었습니다. 조작을 배우는 데 시간을 쓰면 이야기가 들어올 자리가 없어집니다. 누를 줄 아는 사람이면 6편을 다 갈 수 있어야 했어요.&lt;/p&gt;
&lt;p&gt;대신 &lt;strong&gt;편마다 그 버튼의 의미를 바꿨습니다.&lt;/strong&gt; 같은 버튼인데 손맛이 다릅니다.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;편&lt;/th&gt;
					&lt;th&gt;장면&lt;/th&gt;
					&lt;th&gt;버튼의 의미&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;1&lt;/td&gt;
					&lt;td&gt;키클롭스의 동굴&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;순간에 탭&lt;/strong&gt; — 거인의 손이 비켜난 찰나&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;2&lt;/td&gt;
					&lt;td&gt;아이올로스의 바람 자루&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;누르고 있다 놓기&lt;/strong&gt; — 참을수록 빨리 간다&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;3&lt;/td&gt;
					&lt;td&gt;세이렌의 노래&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;버티기&lt;/strong&gt; — 놓으면 진다 (2편의 정반대)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;4&lt;/td&gt;
					&lt;td&gt;스킬라와 카리브디스&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;틈에 연타&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;5&lt;/td&gt;
					&lt;td&gt;헬리오스의 소&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;배분 탭&lt;/strong&gt; — 누구를 먹일 것인가&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;6&lt;/td&gt;
					&lt;td&gt;이타카의 활&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;당겼다 정확히 놓기&lt;/strong&gt; — 단 한 발&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;3편이 특히 마음에 듭니다. 2편은 &lt;strong&gt;누르면 나아가고 놓으면 안전&lt;/strong&gt;한데, 3편은 &lt;strong&gt;누르면 안전하고 놓으면 집니다.&lt;/strong&gt; 같은 버튼의 의미가 뒤집혀요.&lt;/p&gt;
&lt;p&gt;&lt;img alt="세이렌 — 돛대에 묶인 오디세우스, 귀를 막은 부하들, 위쪽에 밀려올 노래가 미리 보인다" class="gallery-image" data-flex-basis="321px" data-flex-grow="134" height="820" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://junstellar.github.io/p/ai-game-lab-build-9/sirens.webp" srcset="https://junstellar.github.io/p/ai-game-lab-build-9/sirens_hu_aaedcaea0245d616.webp 800w, https://junstellar.github.io/p/ai-game-lab-build-9/sirens.webp 1100w" width="1100"&gt;&lt;/p&gt;
&lt;h2 id="여섯-장면이-곧-줄거리다"&gt;여섯 장면이 곧 줄거리다
&lt;/h2&gt;&lt;p&gt;이 게임의 목적은 재미보다 &lt;strong&gt;&amp;ldquo;이 여섯 개만 알면 된다&amp;rdquo;&lt;/strong&gt; 입니다. 보기 전이면 이걸 알고 극장에 들어가는 거고, 보고 난 뒤면 &amp;ldquo;아 그게 이거였구나&amp;quot;를 손으로 다시 확인하는 거예요. 그래서 편마다 신화가 실제로 말하는 것을 그대로 규칙으로 만들었습니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1편 · 키클롭스&lt;/strong&gt; — 눈먼 거인이 동굴 입구를 손으로 훑습니다. 양 배에 매달려 나가야 해요. 거인이 눈이 멀었다는 걸 &lt;strong&gt;설명하지 않습니다.&lt;/strong&gt; 감긴 외눈과 더듬는 손으로 보여줍니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2편 · 바람 자루&lt;/strong&gt; — 이타카가 눈앞에 보이는 열흘째 새벽에 잠듭니다. &lt;strong&gt;이건 실패가 아니라 이야기입니다.&lt;/strong&gt; 피할 수 없어요. 부하들이 자루를 열고 배가 왔던 길을 되밀려 갑니다. 진행 게이지가 95%에서 20%대로 빨려 내려가는 걸 보고 있어야 합니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3편 · 세이렌&lt;/strong&gt; — 세이렌은 미녀의 유혹이 아니라 &lt;em&gt;&amp;ldquo;네가 모르는 것을 알려주마&amp;rdquo;&lt;/em&gt; 라고 부릅니다. &lt;strong&gt;지식에 대한 갈망&lt;/strong&gt;이 이 장면의 진짜 유혹이에요.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4편 · 스킬라&lt;/strong&gt; — 키르케의 조언은 냉정합니다. &lt;em&gt;&amp;ldquo;여섯을 잃더라도 스킬라 쪽에 붙어라. 카리브디스는 배째로 삼킨다.&amp;rdquo;&lt;/em&gt; 그리고 오디세우스는 이 사실을 &lt;strong&gt;부하들에게 말하지 않았습니다.&lt;/strong&gt; 말했다면 아무도 노를 젓지 않았을 테니까요.&lt;/p&gt;
&lt;p&gt;&lt;img alt="스킬라 — 여섯 머리가 내려온다. 아래쪽은 카리브디스" class="gallery-image" data-flex-basis="321px" data-flex-grow="134" height="820" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://junstellar.github.io/p/ai-game-lab-build-9/scylla.webp" srcset="https://junstellar.github.io/p/ai-game-lab-build-9/scylla_hu_4a50cda8679725e8.webp 800w, https://junstellar.github.io/p/ai-game-lab-build-9/scylla.webp 1100w" width="1100"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;5편 · 헬리오스의 소&lt;/strong&gt; — 굶주림을 못 막으면 부하들이 소를 잡아먹고 제우스의 벼락에 전멸합니다. &lt;strong&gt;이게 오디세우스가 혼자 돌아온 이유입니다.&lt;/strong&gt; 신화대로 지는 게 기본 결말이고, 아주 좁은 길로 살려내면 &lt;em&gt;&amp;ldquo;호메로스에서는 일어나지 않은 일입니다&amp;rdquo;&lt;/em&gt; 라는 카드가 뜹니다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="헬리오스의 소 — 언덕 위의 황금 소, 여섯 개의 굶주림 막대" class="gallery-image" data-flex-basis="321px" data-flex-grow="134" height="820" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://junstellar.github.io/p/ai-game-lab-build-9/cattle.webp" srcset="https://junstellar.github.io/p/ai-game-lab-build-9/cattle_hu_5eb9e46f5631bcc1.webp 800w, https://junstellar.github.io/p/ai-game-lab-build-9/cattle.webp 1100w" width="1100"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;6편 · 이타카의 활&lt;/strong&gt; — 20년 만에 거지꼴로 돌아옵니다. 페넬로페의 조건은 &lt;em&gt;&amp;ldquo;오디세우스의 활에 시위를 얹고 도끼 열두 자루를 화살 하나로 꿰뚫는 자&amp;rdquo;&lt;/em&gt;. 그 활은 오디세우스만 당길 수 있습니다. &lt;strong&gt;활을 당기는 순간이 곧 정체를 밝히는 순간입니다.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="이타카의 활 — 도끼 열두 자루가 원근으로 뚫려 있다" class="gallery-image" data-flex-basis="321px" data-flex-grow="134" height="820" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://junstellar.github.io/p/ai-game-lab-build-9/bow.webp" srcset="https://junstellar.github.io/p/ai-game-lab-build-9/bow_hu_f7b56a6e54e4c81d.webp 800w, https://junstellar.github.io/p/ai-game-lab-build-9/bow.webp 1100w" width="1100"&gt;&lt;/p&gt;
&lt;h2 id="부하-600명이-여섯-편을-관통합니다"&gt;부하 600명이 여섯 편을 관통합니다
&lt;/h2&gt;&lt;p&gt;이게 이 게임의 뼈대입니다. &lt;strong&gt;600명으로 출항해서, 각 편에서 잃은 만큼 줄어든 채로 다음 편에 갑니다.&lt;/strong&gt; 결과 카드마다 마지막 줄에 남은 인원이 적혀요.&lt;/p&gt;
&lt;p&gt;그리고 끝까지 가면 이렇게 끝납니다.&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;호메로스의 오디세우스는 &lt;strong&gt;혼자&lt;/strong&gt; 돌아왔습니다.
당신은 &lt;strong&gt;N명&lt;/strong&gt;을 데려왔습니다.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;&lt;img alt="에필로그 — 여섯 줄로 정리되는 당신의 항해" class="gallery-image" data-flex-basis="321px" data-flex-grow="134" height="820" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://junstellar.github.io/p/ai-game-lab-build-9/epilogue.webp" srcset="https://junstellar.github.io/p/ai-game-lab-build-9/epilogue_hu_21b89ef591488588.webp 800w, https://junstellar.github.io/p/ai-game-lab-build-9/epilogue.webp 1100w" width="1100"&gt;&lt;/p&gt;
&lt;p&gt;에필로그의 여섯 줄은 &lt;strong&gt;당신이 실제로 겪은 것&lt;/strong&gt;을 적습니다. 남의 이야기를 요약하면 에필로그가 아니니까요.&lt;/p&gt;
&lt;h2 id="만들면서--게임이-플레이어에게-거짓말을-하고-있었다"&gt;만들면서 — 게임이 플레이어에게 거짓말을 하고 있었다
&lt;/h2&gt;&lt;p&gt;여기부터가 이번 편에서 제일 많이 배운 부분입니다.&lt;/p&gt;
&lt;p&gt;세 번이나, &lt;strong&gt;화면이 시키는 대로 하면 지는 게임&lt;/strong&gt;을 만들고 있었습니다. 그것도 매번 다른 형태로요.&lt;/p&gt;
&lt;h3 id="첫-번째--버텨라"&gt;첫 번째 — &amp;ldquo;버텨라&amp;rdquo;
&lt;/h3&gt;&lt;p&gt;2편 마지막, 졸음이 몰려오는 구간에서 화면에 &lt;strong&gt;&amp;ldquo;버텨라 / 누르고 있어라&amp;rdquo;&lt;/strong&gt; 가 떴습니다. 그런데 정책별로 돌려서 재보니:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;시킨 대로&lt;/th&gt;
					&lt;th&gt;도달&lt;/th&gt;
					&lt;th&gt;잃은 부하&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;버틴다&lt;/td&gt;
					&lt;td&gt;5.8%&lt;/td&gt;
					&lt;td&gt;36명&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;그냥 손 뗀다&lt;/td&gt;
					&lt;td&gt;8.9%&lt;/td&gt;
					&lt;td&gt;30명&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;시킨 대로 한 쪽이 두 지표 모두 나빴습니다.&lt;/strong&gt; 버티는 동안에도 돛 부하가 살아 있어서, 순순히 따르면 돛이 찢어졌던 거예요.&lt;/p&gt;
&lt;h3 id="두-번째--연타해-젓는다"&gt;두 번째 — &amp;ldquo;연타해 젓는다&amp;rdquo;
&lt;/h3&gt;&lt;p&gt;4편 화면 아래에 &lt;strong&gt;&amp;ldquo;스페이스 또는 화면을 연타해 젓는다&amp;rdquo;&lt;/strong&gt; 라고 적혀 있었습니다. 저는 그 말을 그대로 믿고 연타했고, 계속 죽었습니다. 노는 열심히 젓는데 한쪽 노잡이가 죄다 잡혀가더군요.&lt;/p&gt;
&lt;p&gt;원인을 찾으려고 &lt;strong&gt;연타만 하는 봇&lt;/strong&gt;을 만들어 붙였습니다. 연타만 하면 &lt;strong&gt;9.5초 만에 노잡이 8명이 전부 끌려가고&lt;/strong&gt;, 그 뒤 7초 동안 아무것도 못 한 채 소용돌이에 삼켜졌습니다. 그리고 결과 카드가 이렇게 말했어요.&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;&amp;ldquo;노를 멈춘 대가다 — 쉬면 끌려간다&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;한 번도 안 쉰 사람한테요. &lt;strong&gt;안내도 틀렸고 꾸중도 틀렸습니다.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;고친 건 세 가지입니다. 안내를 규칙의 나머지 절반까지 적고(&lt;em&gt;&amp;ldquo;머리가 물러난 사이에만 연타 · 내려오면 멈춘다&amp;rdquo;&lt;/em&gt;), 신호를 &lt;strong&gt;&amp;ldquo;저어라 → 멈춰라&amp;rdquo;&lt;/strong&gt; 두 박자로 가르치고, 시작 직후 1.15초 동안 머리를 멈춰 둬서 첫 수업을 읽을 시간을 줬습니다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="스킬라 — 멈춰라가 뜨는 순간. 아래 안내가 규칙의 나머지 절반을 말한다" class="gallery-image" data-flex-basis="321px" data-flex-grow="134" height="820" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://junstellar.github.io/p/ai-game-lab-build-9/scylla-stop.webp" srcset="https://junstellar.github.io/p/ai-game-lab-build-9/scylla-stop_hu_69999ec5ef6304d5.webp 800w, https://junstellar.github.io/p/ai-game-lab-build-9/scylla-stop.webp 1100w" width="1100"&gt;&lt;/p&gt;
&lt;h3 id="세-번째--설계에-없던-죽음"&gt;세 번째 — 설계에 없던 죽음
&lt;/h3&gt;&lt;p&gt;그런데 더 이상한 걸 발견했습니다. &lt;strong&gt;노잡이를 다 잃으면 죽는 규칙은 설계 어디에도 없었습니다.&lt;/strong&gt; 설계서에는 &lt;em&gt;&amp;ldquo;잘하면 2~3명, 못하면 여섯 이상&amp;rdquo;&lt;/em&gt; 이라고만 적혀 있었어요.&lt;/p&gt;
&lt;p&gt;생각해보면 당연합니다. &lt;strong&gt;배에 부하가 570명이나 타고 있는데 노 자리 여덟 개가 비었다고 배가 죽는 게 말이 되나요.&lt;/strong&gt; 잡혀간 자리는 다른 사람이 채우면 됩니다.&lt;/p&gt;
&lt;p&gt;그래서 자리를 채우게 하고, 지는 길은 카리브디스 하나만 남겼습니다. 같은 연타를 다시 돌리니 &lt;strong&gt;살아서 해협을 통과&lt;/strong&gt;했습니다. 51명을 잃고요.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;손실은 점수지 사망이 아니었습니다.&lt;/strong&gt; 신화의 스킬라도 여섯을 물어 가고 배는 지나갑니다.&lt;/p&gt;
&lt;h2 id="계측이-없었으면-셋-다-못-잡았다"&gt;계측이 없었으면 셋 다 못 잡았다
&lt;/h2&gt;&lt;p&gt;세 번 모두 &lt;strong&gt;제 느낌으로는 안 보였습니다.&lt;/strong&gt; &amp;ldquo;버텨라&amp;quot;는 제가 쓴 문구였고, &amp;ldquo;연타&amp;quot;도 제가 쓴 문구였고, 죽음 규칙도 제가 넣은 겁니다. 만든 사람은 규칙을 아니까 시키는 대로 안 합니다.&lt;/p&gt;
&lt;p&gt;잡아낸 방법은 전부 같았습니다. &lt;strong&gt;정책을 여러 개 만들어서 결과를 표로 뽑는 것.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;시킨 대로 하는 봇 / 안 하는 봇 → 어느 쪽이 나은가&lt;/li&gt;
&lt;li&gt;사람처럼 마구 누르는 봇 → 몇 초 만에 죽나&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;특히 마지막이 중요했습니다. 원래 있던 자동 플레이 함수는 &lt;strong&gt;&amp;ldquo;완벽한 봇&amp;rdquo;&lt;/strong&gt; 이라 안전할 때만 노를 저었습니다. 그래서 4편을 100번 돌려도 문제가 안 보였어요. &lt;strong&gt;사람이 실제로 하는 짓을 흉내내는 봇을 따로 만들고 나서야&lt;/strong&gt; 9.5초 전멸이 나왔습니다.&lt;/p&gt;
&lt;h2 id="그리고-1편을-깼는데-에필로그가-떴다"&gt;그리고 1편을 깼는데 에필로그가 떴다
&lt;/h2&gt;&lt;p&gt;발행 직전에 나온 버그입니다. 1편을 클리어했더니 2편이 아니라 &lt;strong&gt;&amp;ldquo;이 이야기의 나머지는 극장에서 이어집니다&amp;rdquo;&lt;/strong&gt; 가 떴어요.&lt;/p&gt;
&lt;p&gt;원인은 두 겹이었습니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;첫째, 캐시.&lt;/strong&gt; 프리뷰 서버가 캐시 헤더를 안 보내서 브라우저가 며칠 전 빌드를 붙들고 있었습니다. 그 빌드는 지금은 지운 옛 파일을 참조하던 버전이라 2~6편을 못 읽었어요.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;둘째, 그리고 이쪽이 진짜 문제.&lt;/strong&gt; 부팅 코드가 &lt;strong&gt;못 읽은 편을 조용히 건너뛰고 남은 것만으로 항로를 짰습니다.&lt;/strong&gt; 그래서 1편짜리 항해가 만들어졌고, 1편을 깨는 순간 &amp;ldquo;마지막 편을 끝냈다&amp;quot;가 되어 에필로그가 뜬 겁니다.&lt;/p&gt;
&lt;p&gt;모자란 채로 굴러가느니 &lt;strong&gt;멈추고 무엇이 없는지 말하는 게&lt;/strong&gt; 낫습니다. 이렇게 바꿨어요.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;스테이지 모듈이 모자랍니다 (5/6) — 없는 것: st3.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;브라우저 캐시를 비우고 새로고침하세요.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="숫자"&gt;숫자
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;/th&gt;
					&lt;th&gt;&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;코드&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;13,882줄&lt;/strong&gt; (파일 9개)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;외부 에셋&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;0개&lt;/strong&gt; — 도형·소리 전부 코드가 만듭니다&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;스테이지&lt;/td&gt;
					&lt;td&gt;6편, 각자 자기 파일 하나가 통째로 소유&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;한 번도 안 틀렸을 때&lt;/td&gt;
					&lt;td&gt;약 5분&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;처음 하면&lt;/td&gt;
					&lt;td&gt;재시도 포함 25~30분&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;콘솔 에러&lt;/td&gt;
					&lt;td&gt;0&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;편마다 파일 하나가 장면·규칙·게이지·결과를 전부 갖게 한 게 이번 구조의 핵심입니다. 3편을 고치다 4편이 깨지는 일이 없었어요.&lt;/p&gt;
&lt;h2 id="개발-후기"&gt;개발 후기
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;&amp;ldquo;영화를 볼 때 알면 좋은 것&amp;quot;을 만들려니 게임 디자인이 거꾸로 됐습니다.&lt;/strong&gt; 보통은 재미가 먼저고 이야기가 따라오는데, 이번엔 &lt;strong&gt;꼭 알아야 하는 여섯 장면이 먼저&lt;/strong&gt; 정해져 있었어요. 그 여섯 개를 각각 어떤 손맛으로 만들 것인가가 전부였습니다.&lt;/p&gt;
&lt;p&gt;그래서 2편이 제일 어려웠습니다. &lt;strong&gt;이타카가 눈앞인데 잠드는 장면&lt;/strong&gt;은 플레이어가 이길 수 없어야 하거든요. 이길 수 없는 판을 &amp;ldquo;재미없다&amp;quot;가 아니라 &amp;ldquo;분하다&amp;quot;로 만들어야 했습니다. 지금은 잠들기 직전까지 진행 게이지가 95%까지 차오르고, 그게 20%대로 빨려 내려가는 걸 지켜보게 됩니다.&lt;/p&gt;
&lt;p&gt;그리고 하나 더. &lt;strong&gt;잘 만든 검사 도구가 오히려 눈을 가릴 수 있습니다.&lt;/strong&gt; 이 게임에는 처음부터 자동 플레이 봇이 붙어 있었는데, 그게 &amp;ldquo;완벽한 봇&amp;quot;이었어요. 규칙을 아는 채로 안전할 때만 눌렀습니다. 그래서 4편을 몇 번을 돌려도 &lt;strong&gt;전부 통과&lt;/strong&gt;했습니다. 정작 화면에 적힌 안내를 그대로 따르는 봇은 없었습니다.&lt;/p&gt;
&lt;p&gt;세 번 연속 같은 종류의 문제가 나온 게 우연이 아니라고 생각합니다. 검사는 &lt;strong&gt;&amp;ldquo;규칙대로 하면 되나&amp;rdquo;&lt;/strong&gt; 가 아니라 &lt;strong&gt;&amp;ldquo;화면에 적힌 대로 하면 되나&amp;rdquo;&lt;/strong&gt; 를 물어야 했습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;이 게임은 여기서 끝이 아닙니다. &lt;strong&gt;애정을 갖고 계속 손볼 생각이에요.&lt;/strong&gt; 이번에 세 번이나 &amp;ldquo;화면이 시키는 대로 하면 지는&amp;rdquo; 걸 잡았는데, 아직 못 찾은 게 더 있을 거라고 봅니다. 편마다 손맛을 다듬고, 모바일도 더 만져서 조금씩 패치해 나가겠습니다.&lt;/p&gt;
&lt;p&gt;아직 안 보셨다면 &lt;strong&gt;극장 가기 전에 30분만&lt;/strong&gt; 써보세요. 여섯 장면이 나올 때 &amp;ldquo;아, 저거&amp;quot;가 되면 성공입니다.&lt;/p&gt;
&lt;p&gt;이미 보셨다면 &lt;strong&gt;보고 나서 30분&lt;/strong&gt;도 괜찮습니다. 저는 이쪽이었는데, 만들면서 오히려 영화가 더 오래 남았어요. 세이렌 앞에서 오디세우스가 왜 그러고 있었는지는 직접 밧줄을 붙잡아 보고 나서야 몸으로 알겠더군요. 😄&lt;/p&gt;
&lt;p&gt;👉 &lt;strong&gt;&lt;a class="link" href="https://junstellar.github.io/games/odyssey/" &gt;오디세이아 하러 가기&lt;/a&gt;&lt;/strong&gt; · &lt;a class="link" href="https://junstellar.github.io/games/" &gt;AI 게임 랩 전체 보기&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>