THE HOUSE
เริ่มจากศูนย์โดยไม่เคยใช้เกมเอนจินมาก่อน — เกม escape room มุมมองบุคคลที่หนึ่งที่สร้างคนเดียวด้วยการกำกับ AI จนถึงขั้นส่งขึ้นสโตร์
กำลังทดสอบ⚡ไอเดีย→เปิดตัว~4 สัปดาห์*
2026.09 – 2026.10 (~4 สัปดาห์ ประมาณจากวันที่ของไฟล์ — ไม่มี git) / คนเดียว (AI เป็นทีม) / Android · iOS
- ปัญหา
- นำความตื่นเต้นของห้องปริศนา (escape room) มาไว้ในเกมบนมือ — โดยไม่เคยใช้เกมเอนจินมาก่อน
- บทบาทของผม
- วางแผน · ออกแบบด่าน · กำหนดมาตรฐาน · กำกับ AI ให้สร้าง · บิลด์และเปิดตัว
- เทคสแต็ก
- Unity 6 (6000.6.2f1) · C# · Input System · Addressables · Play Asset Delivery
ผลลัพธ์
- จากไอเดียสู่บิลด์บนสโตร์ (ทำงานจริง ~16 วัน, ประมาณการ)
- ~4 สัปดาห์
- จากไอเดียสู่บิลด์บนสโตร์ (ทำงานจริง ~16 วัน, ประมาณการ)
- บรรทัด C# ส่วนรันไทม์ของเกม (จากทั้งหมด ~35,900)
- 17,700+
- บรรทัด C# ส่วนรันไทม์ของเกม (จากทั้งหมด ~35,900)
- บิลด์สโตร์ที่ปรับปรุงซ้ำ (ล่าสุด 1.0.10_27)
- 10+
- บิลด์สโตร์ที่ปรับปรุงซ้ำ (ล่าสุด 1.0.10_27)
ตัวอย่างซีนภาพยนตร์ล่าสุด (CASE 03)
- ภาษาของหน้าสโตร์ (EN, JA, TH, zh-Hant)
- 4 ภาษา
- ภาษาของหน้าสโตร์ (EN, JA, TH, zh-Hant)
⚡ ไอเดีย→เปิดตัว
~4 สัปดาห์*
+1 day
2026-09-21
บิลด์แรกที่ใช้งานได้
+26 days
2026-10-17
เปิดตัวครั้งแรก
+1 day
2026-10-18
ล่าสุด · 1.0.10_27
2026-09-20
คำสั่งแรก
- +1 day
2026-09-21
บิลด์แรกที่ใช้งานได้
- +26 days
2026-10-17
เปิดตัวครั้งแรก
- +1 day
2026-10-18
ล่าสุด · 1.0.10_27
* จากไอเดียสู่บิลด์บน Google Play ~4 สัปดาห์ (ทำงานจริง ~16 วัน) ประมาณจากวันที่ของไฟล์ ช่วงเวลาทับซ้อนกับงานแฮกกาธอน
คำสั่งแรก: "ผมกำลังคิดจะทำเกมหนีออกจากห้อง — ผมทำคนเดียวได้ไหม?"
ต้นฉบับ (KO): "방탈출 게임을 만들어볼까 하는데, 나 혼자서 가능한가?"
ผมอยากนำความตื่นเต้นแบบห้อง escape room มาไว้ในเกมที่ถือเล่นได้ในมือ ผมเป็นนักวางแผนที่ไม่เคยใช้เกมเอนจินมาก่อน ดังนั้นเป้าหมายจึงไม่ใช่ "เขียนโค้ดเอง" แต่คือ "กำหนดแผนและมาตรฐาน แล้วกำกับ AI ทีละขั้นจนได้เกมคุณภาพระดับเชิงพาณิชย์ขึ้นสโตร์"
02
แผนและมาตรฐานที่ผมกำหนด
- ออกแบบเนื้อเรื่อง ผังห้อง และปริศนา/กลไกด้วยตัวเอง (เก็บภาพหน้าจอจากวิดีโอเรฟเฟอเรนซ์ไว้เป็นสเปก)
- มาตรฐานการควบคุม: จอยสติกสำหรับเดิน + ลากเพื่อมองรอบ และมองได้อิสระแบบ 3D เรียลไทม์ ไม่ใช่ภาพพาโนรามาแบบตายตัว
- มาตรฐานการเปิดตัว: ภาษาอังกฤษก่อน, Android ก่อนแล้วตามด้วย iOS, ราคา $1 ต่อหนึ่งฉากเรื่อง
- เลือก Unity 6 (รันแบบเนทีฟบน Mac/Apple Silicon) โดยเริ่มจากเทมเพลต 3D ทั่วไป — เป็นการตัดสินใจร่วมกับ AI
Can you escape? — Case 01 เล่นฟรีตั้งแต่ต้นจนจบ Fig. the-house-03
การกำกับ AI
01 คำสั่งแรก
สร้างโครงพื้นฐาน — ฉาก 3D, การควบคุมมุมมองบุคคลที่หนึ่ง (การเดิน การมอง) และการโต้ตอบกับวัตถุ
02 สิ่งที่ผมตรวจ
ผมเล่นเองและหาจุดที่การมองรู้สึกไม่เป็นธรรมชาติ และจุดที่การโต้ตอบดูจืดชืด
03 การแก้ไข
ผมแปลงความรู้สึกตอนเล่นเป็นคำสั่ง — "เมื่อคลิกวัตถุ ให้ซูมเข้าแบบภาพยนตร์ให้เห็นชัด" "เอาตัวบอกคำใบ้ออก และให้วัตถุหลอกคลิกได้ด้วย" และกำกับเรื่องการบิลด์กับการแยกแอสเซ็ตด้วยวิธีเดียวกันทีละขั้น
คำสั่งจริง (ตัดตอน)
- ›ผมจะเขียนเรฟเฟอเรนซ์กับกิมมิกไว้ให้ ไปจนถึงตารางไอเทม — ส่วนการลงมือสร้างและแนวทางภาพให้คุณดูแลOriginal레퍼런스와 기믹은 내가 아이템표까지 짜서 줄게 — 넌 구현과 이미지 가이드를 해줘.
- ›เอาตัวบอกคำใบ้ออก และเมื่อคลิกวัตถุ ให้ซูมเข้าแบบภาพยนตร์ให้เห็นชัดOriginal힌트 표시는 빼고, 오브젝트를 클릭하면 시네마틱 줌인으로 확실히 보여 줘.
- ขนาดติดตั้งบวมเกิน: ช่วงแรกรวมแอสเซ็ตทั้งหมดไว้ในแอป ทำให้ขนาดใหญ่เกินไป ผมตรวจเอกสารทางการก่อน ยืนยันแนวทาง Addressables + Play Asset Delivery (ดาวน์โหลดเมื่อต้องการ) แล้วกำกับ AI ให้ปรับโครงสร้างตามนั้น ช่วยลดขนาดตอนติดตั้งครั้งแรก
- ความผิดพลาดตอนบิลด์: การบิลด์ด้วยมือทุกเวอร์ชันทำให้ตั้งค่าตกหล่น ผมจึงกำกับ AI ให้รวมขั้นตอนบิลด์/อาร์ไคฟ์ไว้ในสคริปต์ เพื่อให้ทุกเวอร์ชันผ่านขั้นตอนเดียวกันเป๊ะ
Fig. the-house-05
ขนาดติดตั้ง → Addressables + Play Asset Delivery
Before
แอปเดียว = โค้ด + แอสเซ็ตของทุกห้อง
ดาวน์โหลดทุกอย่างตั้งแต่ติดตั้งครั้งแรก → หนักเกินไป
After
แอปพื้นฐาน (ตอนติดตั้ง)โค้ด + หน้าจอแรกเริ่มต้นแบบเบา
แพ็กแอสเซ็ต (Addressables)
Room ARoom BRoom CCinematicsAudio…
Play Asset Delivery: ดาวน์โหลดเมื่อจำเป็น
I confirmed the approach in the official docs first, then directed the AI to split assets into packs downloaded when needed.Case 01
ขนาดติดตั้งของบิลด์แรกใหญ่เกินไป
- !
อาการ
ขนาดติดตั้งของบิลด์แรกใหญ่เกินไป
- ›
สิ่งที่ผมบอก AI
แอสเซ็ตเยอะและแอปหนักเกินไป ผมอยากลดขนาดOriginal에셋이 많아 앱이 너무 무겁다, 용량을 줄이고 싶다"고 사실로 전달.
- ↺
ความพยายามแรกของ AI
การเก็บกวาดง่าย ๆ ไม่ได้แก้ที่ต้นเหตุ
- ◎
จุดที่ผมจับได้
เอกสารยืนยันว่า Addressables + Play Asset Delivery (แยกดาวน์โหลดเมื่อต้องการ) คือคำตอบที่ถูก
- ✓
วิธีแก้
กำกับให้ปรับโครงสร้างตามแนวทางนั้น ลดขนาดตอนติดตั้งครั้งแรก
- ⟲
การป้องกันไม่ให้เกิดซ้ำ
ทำให้ "การแยกแอสเซ็ต" เป็นส่วนหนึ่งของมาตรฐานตั้งแต่ต้นในโปรเจกต์ถัดมา
- ไฟล์ C# 237 ไฟล์ ~35,900 บรรทัด — ราวครึ่งหนึ่งเป็นตัวสร้างฉากที่ใช้เฉพาะใน editor ดังนั้น โค้ดรันไทม์ของเกมอยู่ที่ ~17,700 บรรทัด (จัดตามหน้าที่: Core/Interaction/Player/Cinematic/UI)
- ปรับปรุง bundle สำหรับอัปโหลดขึ้น Play มา หลายรุ่น (บิลด์ล่าสุด 1.0.10_27) และบิลด์ล่าสุดผ่านโดยไม่มี error
- เตรียมภาพและข้อมูลหน้าสโตร์ 4 ภาษา: อังกฤษ ญี่ปุ่น ไทย จีนตัวเต็ม
- ไปถึงขั้น การทดสอบภายใน (internal testing) ของ Google Play
หน้าสโตร์หลายภาษา — อังกฤษ ญี่ปุ่น ไทย จีนตัวเต็มแม้ไม่รู้จักเอนจิน ผมได้เรียนรู้ว่าก็ไปถึงการเปิดตัวได้ ถ้าออกแบบให้ดีว่า จะสั่งอะไร ตามลำดับไหน และจะตรวจและแก้ผลลัพธ์อย่างไร ถ้าได้ทำอีกครั้ง ผมจะใส่การแยกแอสเซ็ตและการบิลด์อัตโนมัติไว้ในมาตรฐานตั้งแต่วันแรก
(01) Review
Honest รีวิว
ถ้านักพัฒนาเป็นคนสร้าง
●จุดแข็ง3
ความเร็วและต้นทุน — จากไอเดียสู่บิลด์บนสโตร์ใน ~4 สัปดาห์ คนเดียว
C# ~36K บรรทัด (รันไทม์ ~17.7K), 3 เคส, การซื้อในแอป, 4 ภาษา งานขอบเขตนี้ทีม 2–3 คนมักใช้เวลา 2–4 เดือน (ประมาณการ) ไม่มี git วันที่จึงมาจาก timestamp ของไฟล์ (ถือเป็นค่าต่ำสุด)
การเปิดตัวและการดูแลระบบ — บิลด์สโตร์ 10+ ครั้งใน 4 สัปดาห์ ด้วยสคริปต์
บิลด์ release ของ Android และ iOS ซ้ำกว่า 10 ครั้ง เก็บ debug symbol และ asset pack ด้วยสคริปต์ และบันทึกผลทุกบิลด์
การรองรับหลายภาษา — 4 ภาษา ไม่มีคีย์ตกหล่น
ตารางภาษาอังกฤษ ญี่ปุ่น ไทย และจีนตัวเต็ม มีภาษาละ 1,452 บรรทัดเท่ากันพอดี และเกมเลือกภาษาตามระบบให้อัตโนมัติ
◐เทียบเท่า4
ขอบเขตฟีเจอร์ — เทียบเท่างานที่ทีมเล็กปล่อยออกมา
3 เคส, การเซฟ, การตั้งค่า, สมุดคำใบ้, ซีนภาพยนตร์ (cinematic), การซื้อพร้อมการกู้คืนการซื้อ
ประสิทธิภาพ — แยกดาวน์โหลดได้ถูกวิธี
Addressables + Play Asset Delivery ทำให้ขนาดติดตั้งเล็ก ยังมีการค้นหาอ็อบเจกต์ทุกเฟรมอยู่บางจุดที่ต้องเก็บกวาด
ความอ่านง่าย — สม่ำเสมอ มีบางจุดที่แน่นเกินไป
ตั้งชื่อสม่ำเสมอ แผง UI 10 แผงใช้ base class ร่วมกัน บางตรรกะถูกอัดไว้ในบรรทัดเดียว
เอกสาร — บันทึกการตัดสินใจไว้
บันทึกการตัดสินใจด้านการออกแบบ การหารายได้ และการเปิดตัวไว้แล้ว แต่ยังไม่มีเอกสารโครงสร้างสำหรับนักพัฒนา
↗ขั้นต่อไป (กำลังเติมเต็ม)5
การทดสอบและระบบอัตโนมัติ — ยังไม่มีการทดสอบอัตโนมัติหรือ CI
ผมตรวจคุณภาพด้วยการเล่นทุกขั้นเอง และใช้ตัวขับการเพลย์เทสต์ใน editor
วางแผน → ทดสอบตรรกะการซื้อและการเซฟก่อน จากนั้นบิลด์ + ทดสอบทุกคอมมิต (CI)
สถาปัตยกรรม — โค้ดรันไทม์ยังไม่แยกเป็นโมดูล
โค้ดครึ่งหนึ่งเป็นตัวสร้างฉากใน editor ที่ใช้ครั้งเดียว และฉากเชื่อมกันด้วยการค้นหาขณะรันไทม์แทนการอ้างอิง
วางแผน → แยกโค้ดรันไทม์เป็นโมดูล Core / Cases / UI และ inject การอ้างอิงครั้งเดียวตอนเริ่ม
การควบคุมเวอร์ชัน — สำรองไฟล์ด้วยมือแทน git
เพื่อเปิดตัวให้เร็ว บิลด์และโค้ดจึงสำรองเป็นไฟล์สำเนา
วางแผน → ย้ายไป Git repository แบบส่วนตัว โดยกันค่าลับออกตั้งแต่วันแรก
ความปลอดภัย — เสริมความแข็งแรงก่อนเปิดตัวสาธารณะ
การชำระเงินผ่าน SDK ทางการของสโตร์ และจะเพิ่มชั้นตรวจสอบฝั่งเซิร์ฟเวอร์ก่อนเปิดตัวสาธารณะ (รายละเอียดเก็บเป็นความลับ)
วางแผน → ตรวจสอบการซื้อฝั่งเซิร์ฟเวอร์ แล้วให้บุคคลภายนอกรีวิว
การเข้าถึง (Accessibility) — มีแค่ตัวเลือกพื้นฐาน
มีการตั้งค่าเสียง ความไว และการสั่น แต่ยังไม่มีซับไตเติล ขนาดตัวอักษร หรือตัวเลือกสำหรับผู้ที่ตาบอดสี
วางแผน → ซับไตเติล ขนาดตัวอักษร และตัวเลือกสำหรับผู้ที่ตาบอดสี จะเป็นรายการในเช็กลิสต์ก่อนเปิดตัว
โปรเจกต์ถัดไป →
นักวางแผนที่กำกับ AI สร้างคนเดียว: คอมเมิร์ซแฟชั่นสำหรับคนไทย + ลองเสื้อผ้าเสมือนจริงด้วย AI ใช้งานจริงแล้วที่ mechoose.store