ThaiGameDevX - Thai Game Developers eXchange Forums
27 September 2017, 08:44:49 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: หากมาครั้งแรก เชิญอ่าน ประกาศเจตนารมณ์ของ ThaiGameDevX และ กติกา ข้อตกลงในการใช้เว็บบอร์ด ครับ
 
   Home   Help Search Calendar Login Register  
Pages: [1]   Go Down
  Print  
Author Topic: เอไอสำหรับ เกมการ์ด แบทเทิล  (Read 3058 times)
0 Members and 1 Guest are viewing this topic.
dawn
Approved Member
Newbie
*

จำนวน ชม/ไม่พอใจ: +1/-1
Offline Offline

Posts: 11



« on: 09 December 2011, 06:37:29 AM »

สวัสดีครับ วันนี้มีคำถามนิดหน่อยนะครับ
ในตอนนี้ผมกำลังทำโปรเจคเกมใหม่ อยู่นะครับ จากที่ก่อนๆ ทำแต่เกมเล็กๆ
ซึ่งเป็นโปรเจคที่ใหญ่ทีสำหรับผมเลยทีเดียว  เป็นเกมการ์ด แบทเทิล แนว ซิมูเลชั่นนะครับ
คล้ายๆ แนว ยูกิโอ ที่เอาการ์ดมาวางแล้ว มีโมเดลของมอนสามมิติ เรนเดอร์ขึ้นมานะครับ
โดยในเกม ได้ออกแบบไว้ว่าจะมีการเล่นแบบ ดวลกับ เอไอ นะครับ ซึ่งติดปัญหาที่ว่าจะเริ่มยังไงนะครับ
เพราะตั้งแต่ เริ่มเขียนเกมมายังไม่เคยได้แตะ อันที่เกี่ยวกับเอไอเลย นะครับ ใครที่พอมีแนวทางช่วยแนะนำด้วยนะครับ
และตอนนี้กำลังทำการศึกษาเกี่ยวกับพวก minimax algorithm กับ อื่นๆ นะครับ ไม่รู้ว่ามันจะเกี่ยวกันไหม เพราะที่อ่าน
 text ของเมืองนอกมา รู้สึกจะเอาไปประยุกต์ได้กับเกมไพ่ทั่วไป 
แล้วก็เครื่องมือที่ใช้อยู่ตอนนี้ คือ unity 3d นะครับ

ขอบคุณล่วงหน้าครับ
ขอบคุณครับ
Logged
3kakun
Approved Member
Newbie
*

จำนวน ชม/ไม่พอใจ: +6/-3
Offline Offline

Posts: 41


« Reply #1 on: 12 December 2011, 10:44:10 AM »

 Smiley

เขียนโปรแกรมไม่เป็น

แต่เรื่องที่ทำ ดูน่าสนใจดีนะนั้นนะ

มานั่งรอดูความคืบหน้า นะฮ้าาฟฟฟ

 Smiley
Logged
Plus Pingya
Approved Member
Full Member
*

จำนวน ชม/ไม่พอใจ: +12/-0
Offline Offline

Gender: Male
Posts: 228


Plus Pingya


WWW
« Reply #2 on: 14 December 2011, 02:44:50 PM »

สำหรับผม ง่ายๆ คือพล้อตวิธีคิดของของคุณเอง หรือคนที่เล่นเก่งหน่อย ออกเป็น flowchart แล้วก็เขียนโปรแกรมไปตามนั้นครับ ไม่คิดอะไรมาก แต่ก็ได้ผลดีครับ (ผมทำเกมไพ่ King & Slave บน iPad)
Logged

Chidkido
Approved Member
Jr. Member
*

จำนวน ชม/ไม่พอใจ: +5/-1
Offline Offline

Posts: 91


« Reply #3 on: 10 February 2012, 02:34:36 AM »

พิมพ์แค่นี้ไม่รู้ว่าจะเห็นภาพแค่ไหนนะ ลองดู

ต้องประเมินการ์ด (การ์ดบนมือ รวมทั้งการ์ดที่ลงไปแล้ว)
ว่าได้กี่แต้ม (อาจจะคิดจากความเก่ง ของการ์ด หรืออะไรก็แล้วแต่ ที่คิดว่า มีการ์ดใบนี้แล้ว จะได้เปรียบฝ่ายตรงข้ามเท่าไร)
โดยประเมินทั้งฝั่งผู้เล่น และ ฝั่ง AI ว่าใครได้คะแนนมากกว่ากัน

1. ฝั่ง AI จำลองการลงการ์ด แล้วประเมินคะแนนใหม่
2. ฝั่ง ผู้เล่น จำลองการลงการ์ด แล้วประเมินคะแนนใหม่
3. ฝั่ง AI จำลองการลงการ์ด แล้วประเมินคะแนนใหม่
4. ฝั่ง ผู้เล่น จำลองการลงการ์ด แล้วประเมินคะแนนใหม่
... ไปเรื่อยๆ กี่รอบ อยู่ที่ว่า กี่รอบผู้เล่นถึงจะรอ ไม่นานเกินไป
เช่นมองลึกไป 5 ชั้น

AI จะเลือกลงการ์ดที่จะทำให้ตัวเองมีคะแนนที่ดีที่สุดในชั้นที่ 5

กลับไปขั้นตอนที่ 1 ใหม่ แล้วลองเปลี่ยนการ์ดที่จะลง
ทำซ้ำไปเรื่อยๆ จนกว่าจะครบทุกความเป็นไปได้ที่ทั้ง AI และ ผู้เล่นจะลงการ์ดได้
(หรืออาจจะไม่ครบ แต่เลยเวลาจำกัดที่ตั้งไว้ เช่น ให้ AI คิดนานแค่ 5 วินาที)

อันนี้คือ AI สามารถรู้การ์ดบนมือ ฝ่ายตรงข้าม หรือ แม้แต่การ์ดใบต่อๆไปที่ผู้เล่น หรือตัวเอง จะเปิดได้นะ
ถ้าเอาแฟร์ๆก็อาจจะหาอัลกอริทึมแบบอื่นเอา
Logged
Pages: [1]   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!