• Braindump คือความพยายามในการจินตนาการว่าการสร้างเกมอาจมีหน้าตาอย่างไรในโลกใหม่ของ LLM และ generative AI
  • เมื่อใช้ Braindump คุณสามารถสร้างเกมมุมมองจากด้านบน/2.5D หรือโลกแบบโต้ตอบได้ เพียงแค่พิมพ์พรอมป์ตง่าย ๆ
    • ตัวอย่างเช่น หากพิมพ์ว่า "สร้างยานรบอวกาศที่ยิงเลเซอร์และทิ้งระเบิด BB-8 ได้" ระบบจะสร้างโมเดล 3D, ข้อมูลเกม และสคริปต์ที่จำเป็นขึ้นมา

จากการทดลองครั้งแรกจนถึงตอนนี้

  • เริ่มต้นจากโปรโตไทป์เรียบง่ายเมื่อราว 6 เดือนก่อน จากนั้นเพิ่มการสร้างโมเดล 3D, ความสามารถแบบมัลติเพลเยอร์ และปรับปรุง UX หลายครั้ง
  • ปัจจุบัน Braindump มีความสามารถหลักดังต่อไปนี้
    • กำหนดยูนิต ความสามารถ และคุณสมบัติ (เช่น "ออร์ค HP 50 ที่ทำไม้เท้าวิเศษหล่น")
    • วางอ็อบเจ็กต์ลงบนแผนที่เกม (เช่น "วางออร์ค 20 ตัวเป็นวงกลม")
    • สร้างกฎและลอจิกของเกม (เช่น "เมื่อพลังชีวิตของออร์คลดถึง 0 ให้สร้างโกสต์ออร์คตรงจุดนั้น")
    • สร้างโมเดล 3D ใหม่ (เช่น "อยากให้ออร์คเป็นสีชมพูและมีหูฟู ๆ", โดยใช้ Meshy)
  • ทั้งหมดนี้เข้าถึงได้ผ่านอินเทอร์เฟซพรอมป์ตภาษาธรรมชาติแบบรวมศูนย์

ความท้าทาย 1: การออกแบบ UX สำหรับการพรอมป์ต

  • เมื่อใช้ LLM เพื่อสร้างบางสิ่ง จะมีปัญหาใหญ่สองข้อ
    1. จะทำอย่างไรให้ LLM ทำงานได้ตรงตามต้องการอย่างสม่ำเสมอ
    2. 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

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น