Club No.9

โน้มตัวเพื่อเล็ง ชาร์จช็อต ใส่สปิน และเล่นซ้ำทุกช็อตในห้องพูล 3D มุมมองบุคคลที่หนึ่งนี้ คัดลอกพรอมต์เพื่อสร้างเกมนี้

Loading preview...
เริ่มด้วยพรอมต์นี้

สร้างเกมพูลฟิสิกส์มุมมองบุคคลที่หนึ่งบนเว็บ พร้อมมินิเกมในบาร์และรีเพลย์ช็อต

ห้องสนุกเกอร์

เปลี่ยนกติกาและโต๊ะเป็นสนุกเกอร์

ลองใช้ Kimi Build
สร้างเกมพูลฟิสิกส์มุมมองบุคคลที่หนึ่งบนเว็บแบบสแตติกทั้งหมดที่ไม่ต้องมีขั้นตอน build ชื่อ "CLUB No.9" โดยใช้ Three.js + Rapier (@dimforge/rapier3d-compat) พร้อมอินเทอร์เฟซภาษาจีน (สลับจีน-อังกฤษได้) การควบคุมด้วยคีย์บอร์ดและเมาส์บนเดสก์ท็อป และโหมดผู้ชมอัตโนมัติบนหน้าจอสัมผัส

ข้อกำหนด:

ฉาก: โหลดโมเดลบาร์ Bar Diorama จาก Sketchfab มาเป็นห้องพูล (ซ่อนโต๊ะที่ติดมากับโมเดล) ใช้พื้นผิววอลนัตจาก Poly Haven สำหรับขอบโต๊ะและผิวไม้ของไม้คิว และใช้ HDRI เตาผิงสำหรับเงาสะท้อนของสภาพแวดล้อม; สร้างพื้นผิวที่เหลือทั้งหมด — สักหลาดโต๊ะ หมายเลขลูกบอล พื้น — แบบโพรซีเดอรัลบน Canvas (PRNG แบบกำหนดผลลัพธ์แน่นอน จึงเหมือนกันทุกครั้งที่โหลด)

รูปแบบการเล่นพูล: ฟิสิกส์วัตถุแข็ง Rapier, ลูกบอลมาตรฐาน 57.2 มม., ปรับผิวโต๊ะให้พอดีกับขอบโต๊ะของโมเดล; โหมดเดินมุมมองบุคคลที่หนึ่ง (WASD) พร้อม E เพื่อโน้มตัวเข้าไปเล็ง; กดปุ่มซ้ายค้างเพื่อชาร์จพลัง ใช้ล้อเลื่อนปรับกำลังอย่างละเอียด กด Space เพื่อแทง; A/D สำหรับสปินด้านข้าง, W/S สำหรับท็อปสปินและแบ็กสปิน, R เพื่อรีเซ็ตคิว; F สำหรับวางลูกบอลได้อิสระ, T เพื่อจัดเรียงลูกใหม่, G เพื่อสลับระหว่างแข่งขันกับฝึกซ้อม; เปิด/ปิดเส้นช่วยเล็งได้ แยกแกนฟิสิกส์ (sim.js) ออกจากการเรนเดอร์ (world.js): ฟิสิกส์เป็นแหล่งข้อมูลจริงเพียงหนึ่งเดียว การเรนเดอร์ทำได้แค่อ่านและห้ามเขียน และแกนฟิสิกส์ต้องไม่ขึ้นกับ DOM และต้องรันทดสอบใน Node ได้

กติกา: สนุกเกอร์จีนแบบแปดลูกฉบับย่อสำหรับผู้เล่นสองคนในเครื่องเดียว (ลูกแรกที่ลงหลังเบรกกำหนดกลุ่มลูก ลูกดำแปดตัดสินเกม ฟาวล์ทำให้อีกฝ่ายได้วางลูกบอลได้อิสระ) พร้อมโหมดฝึกซ้อมอิสระ; กระดานคะแนน เปลวไฟคอมโบ ป้ายความสำเร็จ และกล้องซูมตอนลูกลงหลุม (ปิดได้) เปลี่ยนเกมจากสนุกเกอร์จีนแบบแปดลูกเป็นสนุกเกอร์: ใช้โต๊ะขนาด 12 ฟุตพร้อมลูกแดง 15 ลูก สลับทำคะแนนด้วยลูกแดงและลูกสี และนำลูกสีกลับไปวางที่จุดเดิมหลังลงหลุม เพิ่มป้ายเบรกครบ 100 คะแนนและกระดานคะแนน โดยคงมินิเกมปาลูกดอกและลูกเต๋าในบาร์ไว้เหมือนเดิม ระบบรีเพลย์: เล่นซ้ำได้ทุกช็อต (V) พร้อมไทม์ไลน์ที่ลากได้และความเร็วปรับได้ 0.1x–1x

มินิเกมในบาร์ (พร็อพอยู่ในฉากถาวรและเริ่มเมื่อผู้เล่นเดินเข้าไปใกล้): ปาลูกดอก (กระดานมาตรฐาน 20 ช่อง ตัวแก้คำนวณวิถี ลูกดอกสามดอกต่อรอบ ป้าย 180), ทายสูงต่ำด้วยถ้วยลูกเต๋า (โมเดลถ้วยลูกเต๋าจริงพร้อมมินิโลก Rapier แยกต่างหากสำหรับเขย่า), รินวิสกี้ และรัสเซียนรูเล็ต (โมเดลลูกโม่)

เสียง: ตัวอย่างเสียงพูล CC0 จริงจากชุมชน Freesound (ลูกบอลกระทบ ขอบโต๊ะ หลุม เบรก จัดลูก เสียงเชียร์ โดยสุ่มเล่นจากหลายเวอร์ชัน) พร้อมรีเวิร์บห้องแบบโพรซีเดอรัลด้วย Web Audio (สร้าง impulse response จากการสลายตัวของสัญญาณรบกวน) และลิมิตเตอร์; ผู้ใช้จัดเตรียมลูปแจ๊สเลานจ์เป็น BGM, กด M เพื่อปิดเสียง

วิศวกรรม: ใช้ import map เพื่อนำเข้า three/rapier; ใช้พจนานุกรม i18n ควบคุมข้อความทั้งหมด; มีแผงการตั้งค่า (ภาษา / ซูมตอนลูกลงหลุม / เส้นช่วยเล็ง) และแผงเครดิต "เกี่ยวกับ · ทรัพยากรโอเพนซอร์สและสัญญาอนุญาต"; มีชุดทดสอบ Node สามชุดใน test/ สำหรับฟิสิกส์ ลูกดอก และตรรกะบาร์
ด่านท้าทาย

เพิ่มด่านท้าทายช็อตพิสดาร

ลองใช้ Kimi Build
สร้างเกมพูลฟิสิกส์มุมมองบุคคลที่หนึ่งบนเว็บแบบสแตติกทั้งหมดที่ไม่ต้องมีขั้นตอน build ชื่อ "CLUB No.9" โดยใช้ Three.js + Rapier (@dimforge/rapier3d-compat) พร้อมอินเทอร์เฟซภาษาจีน (สลับจีน-อังกฤษได้) การควบคุมด้วยคีย์บอร์ดและเมาส์บนเดสก์ท็อป และโหมดผู้ชมอัตโนมัติบนหน้าจอสัมผัส

ข้อกำหนด:

ฉาก: โหลดโมเดลบาร์ Bar Diorama จาก Sketchfab มาเป็นห้องพูล (ซ่อนโต๊ะที่ติดมากับโมเดล) ใช้พื้นผิววอลนัตจาก Poly Haven สำหรับขอบโต๊ะและผิวไม้ของไม้คิว และใช้ HDRI เตาผิงสำหรับเงาสะท้อนของสภาพแวดล้อม; สร้างพื้นผิวที่เหลือทั้งหมด — สักหลาดโต๊ะ หมายเลขลูกบอล พื้น — แบบโพรซีเดอรัลบน Canvas (PRNG แบบกำหนดผลลัพธ์แน่นอน จึงเหมือนกันทุกครั้งที่โหลด)

รูปแบบการเล่นพูล: ฟิสิกส์วัตถุแข็ง Rapier, ลูกบอลมาตรฐาน 57.2 มม., ปรับผิวโต๊ะให้พอดีกับขอบโต๊ะของโมเดล; โหมดเดินมุมมองบุคคลที่หนึ่ง (WASD) พร้อม E เพื่อโน้มตัวเข้าไปเล็ง; กดปุ่มซ้ายค้างเพื่อชาร์จพลัง ใช้ล้อเลื่อนปรับกำลังอย่างละเอียด กด Space เพื่อแทง; A/D สำหรับสปินด้านข้าง, W/S สำหรับท็อปสปินและแบ็กสปิน, R เพื่อรีเซ็ตคิว; F สำหรับวางลูกบอลได้อิสระ, T เพื่อจัดเรียงลูกใหม่, G เพื่อสลับระหว่างแข่งขันกับฝึกซ้อม; เปิด/ปิดเส้นช่วยเล็งได้ แยกแกนฟิสิกส์ (sim.js) ออกจากการเรนเดอร์ (world.js): ฟิสิกส์เป็นแหล่งข้อมูลจริงเพียงหนึ่งเดียว การเรนเดอร์ทำได้แค่อ่านและห้ามเขียน และแกนฟิสิกส์ต้องไม่ขึ้นกับ DOM และต้องรันทดสอบใน Node ได้

กติกา: สนุกเกอร์จีนแบบแปดลูกฉบับย่อสำหรับผู้เล่นสองคนในเครื่องเดียว (ลูกแรกที่ลงหลังเบรกกำหนดกลุ่มลูก ลูกดำแปดตัดสินเกม ฟาวล์ทำให้อีกฝ่ายได้วางลูกบอลได้อิสระ) พร้อมโหมดฝึกซ้อมอิสระ; กระดานคะแนน เปลวไฟคอมโบ ป้ายความสำเร็จ และกล้องซูมตอนลูกลงหลุม (ปิดได้) เพิ่มโหมดท้าทาย: ผังโต๊ะที่กำหนดไว้ล่วงหน้า 20 แบบ ซึ่งต้องเคลียร์ให้ได้ภายในหนึ่งหรือสองช็อต ให้คะแนนแต่ละด่านสูงสุดสามดาวตามเวลาและจำนวนช็อตที่ใช้ เพิ่มหน้าจอเลือกด่านในเมนูหลัก และปลดล็อกสกินไม้คิวใหม่เมื่อผ่านความท้าทาย ระบบรีเพลย์: เล่นซ้ำได้ทุกช็อต (V) พร้อมไทม์ไลน์ที่ลากได้และความเร็วปรับได้ 0.1x–1x

มินิเกมในบาร์ (พร็อพอยู่ในฉากถาวรและเริ่มเมื่อผู้เล่นเดินเข้าไปใกล้): ปาลูกดอก (กระดานมาตรฐาน 20 ช่อง ตัวแก้คำนวณวิถี ลูกดอกสามดอกต่อรอบ ป้าย 180), ทายสูงต่ำด้วยถ้วยลูกเต๋า (โมเดลถ้วยลูกเต๋าจริงพร้อมมินิโลก Rapier แยกต่างหากสำหรับเขย่า), รินวิสกี้ และรัสเซียนรูเล็ต (โมเดลลูกโม่)

เสียง: ตัวอย่างเสียงพูล CC0 จริงจากชุมชน Freesound (ลูกบอลกระทบ ขอบโต๊ะ หลุม เบรก จัดลูก เสียงเชียร์ โดยสุ่มเล่นจากหลายเวอร์ชัน) พร้อมรีเวิร์บห้องแบบโพรซีเดอรัลด้วย Web Audio (สร้าง impulse response จากการสลายตัวของสัญญาณรบกวน) และลิมิตเตอร์; ผู้ใช้จัดเตรียมลูปแจ๊สเลานจ์เป็น BGM, กด M เพื่อปิดเสียง

วิศวกรรม: ใช้ import map เพื่อนำเข้า three/rapier; ใช้พจนานุกรม i18n ควบคุมข้อความทั้งหมด; มีแผงการตั้งค่า (ภาษา / ซูมตอนลูกลงหลุม / เส้นช่วยเล็ง) และแผงเครดิต "เกี่ยวกับ · ทรัพยากรโอเพนซอร์สและสัญญาอนุญาต"; มีชุดทดสอบ Node สามชุดใน test/ สำหรับฟิสิกส์ ลูกดอก และตรรกะบาร์
บทเรียนสำหรับผู้เริ่มต้น

เพิ่มบทเรียนการเล็งและการใส่สปินสำหรับผู้เล่นใหม่

ลองใช้ Kimi Build
สร้างเกมพูลฟิสิกส์มุมมองบุคคลที่หนึ่งบนเว็บแบบสแตติกทั้งหมดที่ไม่ต้องมีขั้นตอน build ชื่อ "CLUB No.9" โดยใช้ Three.js + Rapier (@dimforge/rapier3d-compat) พร้อมอินเทอร์เฟซภาษาจีน (สลับจีน-อังกฤษได้) การควบคุมด้วยคีย์บอร์ดและเมาส์บนเดสก์ท็อป และโหมดผู้ชมอัตโนมัติบนหน้าจอสัมผัส

ข้อกำหนด:

ฉาก: โหลดโมเดลบาร์ Bar Diorama จาก Sketchfab มาเป็นห้องพูล (ซ่อนโต๊ะที่ติดมากับโมเดล) ใช้พื้นผิววอลนัตจาก Poly Haven สำหรับขอบโต๊ะและผิวไม้ของไม้คิว และใช้ HDRI เตาผิงสำหรับเงาสะท้อนของสภาพแวดล้อม; สร้างพื้นผิวที่เหลือทั้งหมด — สักหลาดโต๊ะ หมายเลขลูกบอล พื้น — แบบโพรซีเดอรัลบน Canvas (PRNG แบบกำหนดผลลัพธ์แน่นอน จึงเหมือนกันทุกครั้งที่โหลด)

รูปแบบการเล่นพูล: ฟิสิกส์วัตถุแข็ง Rapier, ลูกบอลมาตรฐาน 57.2 มม., ปรับผิวโต๊ะให้พอดีกับขอบโต๊ะของโมเดล; โหมดเดินมุมมองบุคคลที่หนึ่ง (WASD) พร้อม E เพื่อโน้มตัวเข้าไปเล็ง; กดปุ่มซ้ายค้างเพื่อชาร์จพลัง ใช้ล้อเลื่อนปรับกำลังอย่างละเอียด กด Space เพื่อแทง; A/D สำหรับสปินด้านข้าง, W/S สำหรับท็อปสปินและแบ็กสปิน, R เพื่อรีเซ็ตคิว; F สำหรับวางลูกบอลได้อิสระ, T เพื่อจัดเรียงลูกใหม่, G เพื่อสลับระหว่างแข่งขันกับฝึกซ้อม; เปิด/ปิดเส้นช่วยเล็งได้ แยกแกนฟิสิกส์ (sim.js) ออกจากการเรนเดอร์ (world.js): ฟิสิกส์เป็นแหล่งข้อมูลจริงเพียงหนึ่งเดียว การเรนเดอร์ทำได้แค่อ่านและห้ามเขียน และแกนฟิสิกส์ต้องไม่ขึ้นกับ DOM และต้องรันทดสอบใน Node ได้

กติกา: สนุกเกอร์จีนแบบแปดลูกฉบับย่อสำหรับผู้เล่นสองคนในเครื่องเดียว (ลูกแรกที่ลงหลังเบรกกำหนดกลุ่มลูก ลูกดำแปดตัดสินเกม ฟาวล์ทำให้อีกฝ่ายได้วางลูกบอลได้อิสระ) พร้อมโหมดฝึกซ้อมอิสระ; กระดานคะแนน เปลวไฟคอมโบ ป้ายความสำเร็จ และกล้องซูมตอนลูกลงหลุม (ปิดได้) เพิ่มโหมดบทเรียนสำหรับผู้เริ่มต้น: สี่บทเรียนครอบคลุมการโน้มตัวเพื่อเล็ง การชาร์จและควบคุมกำลัง การใส่สปินด้านข้างและท็อปสปิน/แบ็กสปิน และการวางตำแหน่งลูกคิว แต่ละบทเรียนมีแอนิเมชันสาธิตพร้อมแบบฝึกปฏิบัติสามแบบ ซึ่งระหว่างนั้นจะบังคับเปิดเส้นช่วยเล็งและทำเครื่องหมายจุดเป้าหมายของลูกคิว ระบบรีเพลย์: เล่นซ้ำได้ทุกช็อต (V) พร้อมไทม์ไลน์ที่ลากได้และความเร็วปรับได้ 0.1x–1x

มินิเกมในบาร์ (พร็อพอยู่ในฉากถาวรและเริ่มเมื่อผู้เล่นเดินเข้าไปใกล้): ปาลูกดอก (กระดานมาตรฐาน 20 ช่อง ตัวแก้คำนวณวิถี ลูกดอกสามดอกต่อรอบ ป้าย 180), ทายสูงต่ำด้วยถ้วยลูกเต๋า (โมเดลถ้วยลูกเต๋าจริงพร้อมมินิโลก Rapier แยกต่างหากสำหรับเขย่า), รินวิสกี้ และรัสเซียนรูเล็ต (โมเดลลูกโม่)

เสียง: ตัวอย่างเสียงพูล CC0 จริงจากชุมชน Freesound (ลูกบอลกระทบ ขอบโต๊ะ หลุม เบรก จัดลูก เสียงเชียร์ โดยสุ่มเล่นจากหลายเวอร์ชัน) พร้อมรีเวิร์บห้องแบบโพรซีเดอรัลด้วย Web Audio (สร้าง impulse response จากการสลายตัวของสัญญาณรบกวน) และลิมิตเตอร์; ผู้ใช้จัดเตรียมลูปแจ๊สเลานจ์เป็น BGM, กด M เพื่อปิดเสียง

วิศวกรรม: ใช้ import map เพื่อนำเข้า three/rapier; ใช้พจนานุกรม i18n ควบคุมข้อความทั้งหมด; มีแผงการตั้งค่า (ภาษา / ซูมตอนลูกลงหลุม / เส้นช่วยเล็ง) และแผงเครดิต "เกี่ยวกับ · ทรัพยากรโอเพนซอร์สและสัญญาอนุญาต"; มีชุดทดสอบ Node สามชุดใน test/ สำหรับฟิสิกส์ ลูกดอก และตรรกะบาร์