- Braindump คือความพยายามในการจินตนาการว่าการสร้างเกมอาจมีหน้าตาอย่างไรในโลกใหม่ของ LLM และ generative AI
- เมื่อใช้ Braindump คุณสามารถสร้างเกมมุมมองจากด้านบน/2.5D หรือโลกแบบโต้ตอบได้ เพียงแค่พิมพ์พรอมป์ตง่าย ๆ
- ตัวอย่างเช่น หากพิมพ์ว่า "สร้างยานรบอวกาศที่ยิงเลเซอร์และทิ้งระเบิด BB-8 ได้" ระบบจะสร้างโมเดล 3D, ข้อมูลเกม และสคริปต์ที่จำเป็นขึ้นมา
จากการทดลองครั้งแรกจนถึงตอนนี้
- เริ่มต้นจากโปรโตไทป์เรียบง่ายเมื่อราว 6 เดือนก่อน จากนั้นเพิ่มการสร้างโมเดล 3D, ความสามารถแบบมัลติเพลเยอร์ และปรับปรุง UX หลายครั้ง
- ปัจจุบัน Braindump มีความสามารถหลักดังต่อไปนี้
- กำหนดยูนิต ความสามารถ และคุณสมบัติ (เช่น "ออร์ค HP 50 ที่ทำไม้เท้าวิเศษหล่น")
- วางอ็อบเจ็กต์ลงบนแผนที่เกม (เช่น "วางออร์ค 20 ตัวเป็นวงกลม")
- สร้างกฎและลอจิกของเกม (เช่น "เมื่อพลังชีวิตของออร์คลดถึง 0 ให้สร้างโกสต์ออร์คตรงจุดนั้น")
- สร้างโมเดล 3D ใหม่ (เช่น "อยากให้ออร์คเป็นสีชมพูและมีหูฟู ๆ", โดยใช้ Meshy)
- ทั้งหมดนี้เข้าถึงได้ผ่านอินเทอร์เฟซพรอมป์ตภาษาธรรมชาติแบบรวมศูนย์
ความท้าทาย 1: การออกแบบ UX สำหรับการพรอมป์ต
- เมื่อใช้ LLM เพื่อสร้างบางสิ่ง จะมีปัญหาใหญ่สองข้อ
- จะทำอย่างไรให้ LLM ทำงานได้ตรงตามต้องการอย่างสม่ำเสมอ
- UX ที่ดีที่สุดสำหรับการโต้ตอบกับ LLM คืออะไร
- หลังจากทดลองพรอมป์ตจำนวนมาก จึงเปลี่ยนมาใช้แนวทางแบบวนซ้ำอย่างที่ใช้อยู่ตอนนี้
- การสร้างทั้งเกมจากคำอธิบายทั้งหมดในครั้งเดียวทำงานได้ไม่ดีนัก
- หากค่อย ๆ สร้างเกมผ่านหลายพรอมป์ต ก็จะมีโอกาสอธิบายเพิ่มเติมหรือทำซ้ำได้
- ยังคงทดลองต่อไปเพื่อหาสมดุลที่เหมาะสมระหว่างพรอมป์ตกับคอนโทรลแบบเดิม
ความท้าทาย 2: การออกแบบ Game API สำหรับ LLM
- การสร้างโค้ดสำหรับเกมเอนจินที่มีอยู่เดิมมีความยากอยู่มาก
- LLM เก่งในการสร้างโค้ดสั้น ๆ แต่มีปัญหาเมื่อเป็นซอฟต์แวร์ชิ้นใหญ่ขึ้น รวมถึงการสร้างและดูแลสถาปัตยกรรมซอฟต์แวร์
- แทนที่จะทำแบบนั้น จึงสร้าง "Game API" ที่เรียบง่ายมากด้วย TypeScript เพื่อมอบโครงสร้างให้มากที่สุด และให้ LLM โฟกัสกับการเขียนโค้ดและข้อมูล
- เมื่อนำ type definition (.d.ts) ที่สร้างจาก API ไปให้ GPT เป็น system prompt, GPT จะใช้งาน API ได้อย่างถูกต้องและสม่ำเสมอเป็นส่วนใหญ่ตั้งแต่ครั้งแรก
- ยังพบข้อดีที่น่าประหลาดใจอีกอย่างคือ เมื่อมีการตรวจสอบชนิดข้อมูล GPT จะพยายามแก้ข้อผิดพลาดด้วยตัวเองหากตรวจพบ
แมโครที่สร้างขึ้น
- Game API ยังเปิดทางไปสู่โฟลว์ UX ที่น่าสนใจอีกแบบหนึ่ง คือแมโครที่ถูกสร้างขึ้น
- โดยทั่วไปแล้ว ในแอปพลิเคชัน แมโครคือโปรแกรมขนาดเล็กที่ช่วยทำงานซ้ำ ๆ ให้เป็นอัตโนมัติ
- ในระบบ Braindump ทุกพรอมป์ตจะสร้างโค้ด และโค้ดนั้นสามารถทำให้งานแทบทุกอย่างที่ Game API รองรับเป็นอัตโนมัติได้
- ตัวอย่างเช่น คุณสามารถพิมพ์พรอมป์ตอย่าง "วางเต็นท์ข้างกองไฟ"
- หรือใช้ทำงานน่าเบื่อให้เป็นอัตโนมัติได้ (เช่น "สร้างแมว 5 ตัวที่แตกต่างกัน โดยมีค่าสเตตัสต่างกัน")
- รวมถึงขอให้ตอบคำถามที่ต้องมีการคำนวณได้ด้วย (เช่น "มีเต็นท์ที่หันไปทางเหนือกี่หลัง?")
- สิ่งนี้เปิดเส้นทางใหม่ให้กับวิธีการทำงาน
- ตอนแรกอาจรู้สึกแปลกเล็กน้อย แต่เมื่อคุ้นเคยแล้ว จะสามารถทำงานที่น่าเบื่อมาก ๆ ให้เสร็จได้ภายในไม่กี่วินาทีด้วยวิธีที่สร้างสรรค์
การแก้ไขแบบร่วมมือกับ AI
- เป้าหมายคืออยากทำให้ทุกอย่างใน Braindump เป็นแบบมัลติเพลเยอร์
- ทั้งการสร้างเกมและการเล่นเกม
- ตอนแรกมีเพียงแชตขนาดใหญ่ห้องเดียวที่ทุกคนมีส่วนร่วมได้ แต่กลับทำให้เกิดความสับสน
- ปัญหาหลักคือผู้คนมักทำงานอยู่กับสองเรื่องที่ไม่เกี่ยวข้องกัน
- หลังจากลองหลายแนวทาง จึงลงตัวกับสิ่งที่เรียกว่า "Threads"
- คุณสามารถเริ่มพรอมป์ตได้จากตรงไหนก็ได้ในโลกเกม และหากจำเป็นก็สามารถลงรายละเอียดหรือเติมต่อในพรอมป์ตนั้นได้
- แต่ละเธรดจะได้รับสถานะล่าสุดของเกมในตอนเริ่มต้น แต่ไม่ได้รับประวัติทั้งหมดของโปรเจกต์
- หลายเธรดสามารถ "ทำงาน" พร้อมกันได้ แต่ในหนึ่งเธรดจะรันได้ครั้งละหนึ่งพรอมป์ตเท่านั้น
- จนถึงตอนนี้ แนวทางนี้ทำงานได้ค่อนข้างดี
- ในการทดสอบ มีคน 5 คนทำงานในโลกเดียวกันพร้อมกัน แม้จะสับสนอยู่บ้างแต่ก็ยังใช้งานได้จริง
- ขณะนี้กำลังค้นหาวิธีอย่างจริงจังเพื่อให้ผู้ใช้ประสานงานกันได้อย่างมีประสิทธิภาพ
การทำเบนช์มาร์กและการทดสอบ
- ได้พัฒนาเครื่องมือเบนช์มาร์กขึ้นมาเพื่อประเมินประสิทธิภาพของเอนจินพรอมป์ต
- เครื่องมือนี้จะรันหลายสิบสถานการณ์ โดยแต่ละสถานการณ์มีพรอมป์ตเฉพาะของตัวเอง แล้วใช้ GPT ประเมินว่าพรอมป์ตนั้นสำเร็จหรือไม่
- GPT ตัวที่สองซึ่งเป็น "ผู้ประเมิน" (พร้อม system prompt ของตัวเอง) จะได้รับเงื่อนไขเหล่านี้ สถานะจำลองเมื่อเสร็จสิ้น และข้อผิดพลาดทั้งหมดที่เกิดขึ้น แล้วถูกขอให้ตัดสินว่าการทดสอบสำเร็จหรือไม่
- ชุดทดสอบยังอยู่ในช่วงเริ่มต้น แต่ก็มีการเพิ่มการทดสอบมากขึ้นเรื่อย ๆ ทุกครั้งที่พบรูปแบบพรอมป์ตใหม่หรือกรณีล้มเหลวแบบใหม่
เหตุผลที่สร้าง Braindump
- โดยส่วนตัวแล้ว ผู้สร้างรักเกมและความคิดสร้างสรรค์มาโดยตลอด
- generative AI คือก้าวถัดไปตามธรรมชาติของการเพิ่มผลิตภาพ
- เพราะมันช่วยให้เราทำสิ่งต่าง ๆ ได้มากขึ้น
- ในช่วงที่สตูดิโอขนาดใหญ่สร้างเกมแบบอนุรักษนิยมมากขึ้นเรื่อย ๆ การให้อำนาจกับกลุ่มเล็ก ๆ หรือแม้แต่บุคคลเดียวในการสร้างเกมในฝันของตนเองจึงเป็นเรื่องน่ายินดี
- อยากเห็นว่าผู้คนจะคิดและทำให้ไอเดียบ้าคลั่งแบบไหนเกิดขึ้นจริงได้บ้าง เมื่อพวกเขามีสตูดิโอเกม AI ทั้งชุดอยู่แค่ปลายนิ้ว
แผนต่อจากนี้
- Braindump เพิ่งเริ่มต้นเท่านั้น
- ตอนนี้มันเก่งพอสมควรในการทำตาม "คำสั่ง" ("สร้างแมว") แต่ก็รู้ว่ายังสามารถขยายให้รองรับงานที่คลุมเครือกว่านี้หรือ "ใหญ่" กว่านี้ได้
- กำลังวิจัยเรื่องต่อไปนี้
- รองรับพรอมป์ตที่ "ใหญ่ขึ้น" ผ่านการวางแผน (Planning)
- ทำให้ GPT เลิกเดาเอง และหันไปขอให้ผู้ใช้ช่วยอธิบายให้ชัดเจนแทน
- ปรับปรุงคุณภาพโค้ดโดยให้ GPT วิจารณ์งานของตัวเอง
- ปรับปรุงการค้นพบสิ่งที่ทำได้และแรงบันดาลใจ ("เราสร้างอะไรได้บ้างด้วยสิ่งนี้?")
- ปรับปรุงความสามารถของเกมเอนจินในแบบที่เหมาะกับ LLM
ยังไม่มีความคิดเห็น