Brainstorming
Download
Report
Transcript Brainstorming
Process of creating
games
Game Design
Vishnu Kotrajaras, PhD
กระบวนการโดยย่อ
Brainstorming
– คิดไอเดียออกมาให้มากที่สุดเท่าที่ทาได้
– ตีกรอบลงมาให้เหลือ 3
– เขียนอธิบาย 1 หน้ากระดาษ สาหรับแต่ละไอเดีย
Physical prototype
–
–
–
–
ใช้กระดาษและปากกา
Playtests (ลองเล่นดูจริ งๆ ว่าเล่นแล้วเป็ นไง ต้องปรับยังไง)
ต้องทาการเล่นและปรับหลายรอบ
เมื่อเสร็จแล้ว เขียนรายงาน 3-6 หน้าเกี่ยวกับเกมและวิธีการเล่น
กระบวนการโดยย่อ (2)
นาเสนอผลงาน(optional)
– ทาเพื่อให้ได้เงินทุน
– เป็ นอีกโอกาสหนึ่งที่จะได้รับความเห็นตอบรับ
– นาเสนอ artwork ตัวอย่าง และวิธีการเล่นโดยละเอียด
– ดัดแปลงเกมให้เป็ นไปตามความต้องการของ sponsor หรื อยกเลิก
โครงการถ้ามีทีท่าว่าจะไปไม่รอด
– จริ งๆขั้นนี้อาจไม่ได้ทา เพราะบริ ษทั เกมเจ้าใหญ่ๆ ไม่รับงานจากมือใหม่
เราจึงต้องทาเกมต่อไปเพื่อขายเองแบบ indie จะมีโอกาสมากกว่า
กระบวนการโดยย่อ (3)
Software prototype
– ไม่ตอ้ งทาส่ วน graphics ให้ใช้ภาพที่มีอยูแ่ ล้ว ที่นามาใช้ได้ง่าย
– ทดสอบ Prototype ซ้ าๆ
Design document (ร่ าง)
Production
– ทางานร่ วมกันกับทุกคน ต้องแน่ใจได้วา่ ไอเดียการออกแบบแต่ละส่ วนได้ถูกนาเสนอ
อย่างถูกต้องในเอกสาร
– เขียนโปรแกรมจริ ง และทารู ปที่จะใช้จริ ง
– ทดสอบและประเมินผลงานในทุกขั้นตอน
– อย่าเพิม่ concept ลงไป เว้นแต่จะจาเป็ นจริ งๆ.
กระบวนการโดยย่อ (4)
Quality control
– Playtest ซ้ าๆ หลายๆครั้ง ก่อนจะนาออกเผยแพร่
Physical Prototype
ควรทา ถ้าเป็ นไปได้
เหมาะที่จะใช้ในการปรับแต่งสิ่ งต่างๆ ก่อนจะนาไปเขียนเป็ นโค้ด
จริ ง
– จะได้ feedback ทันที
ถ้าพบข้อบกพร่ อง จะสามารถแก้ไขได้ง่ายเมื่อยังอยูใ่ นขั้นนี้
สิ่ งที่ควรรู้เกี่ยวกับการ prototype
มนุษย์สามารถจา 7+-2 concepts ได้ในขณะใดขณะหนึ่ง
(1956, George Miller)
หมายเลขโทรศัพท์ยาว 7 หลัก
Tetris มีตวั บล็อก 7 แบบ
ดังนั้น concept ของเกมต้องเรี ยบง่ายพอที่จะทาให้มนุษย์เข้าใจได้
Prototyping ช่วยทาให้เข้าใจได้ ด้วยการทดลองเล่น
– กฎที่ดูหลวม จะดูชดั เจนขึ้น
พยายามดัดแปลง Prototype ให้สามารถเล่นได้ดีข้ ึน
จากกระดานสู่คอมพิวเตอร์
Diablo 2, baldur’s gate, EverQuest,
Asheron’s Call, Dark Age of Camelot.
– มีพ้นื ฐานมาจาก D&D.
Civilization.
Civilization
Wooden Ships & Iron Men
Shockforce
BattleTech
ตัวอย่าง prototype ของเกม FPS
ใช้กระดาษกราฟ เป็ นช่องหกเหลี่ยม
สร้างกาแพงและกาหนดจุดเกิด
– ทาให้สามารถเปลี่ยนย้ายตาแหน่งได้
– ใช้ไม้ขีดไฟก็ดี ประหยัด
จากนั้นจึงวาง unit ลงไป โดยต้องสามารถระบุได้วา่ แต่ละ unit
กาลังหันหน้าไปในทิศทางใด
ผูเ้ ล่นแต่ละคนได้รับการ์ด 9 ใบ
–
–
–
–
–
–
“เดิน 1 ช่อง” x1
“เดิน 2 ช่อง” x1
“เดิน 3 ช่อง” x1
“เดิน 4 ช่อง” x1
“หันไปทางไหนก็ได้” x2
“ยิง” x3
ผูเ้ ล่นแต่ละคนเลือกการ์ ด 3 ใบ แล้วนามาวางควา่ ซ้อนกันไว้บนโต๊ะ
ผูเ้ ล่นแต่ละคนเปิ ดการ์ ดใบบนสุ ด
– ดาเนินการยิง:
• ผูเ้ ล่นที่เปิ ดการ์ดยิง ทาการยิงไปในทิศทางที่ unit หันหน้าไป
• ถ้าแนวการยิงตัดกับช่องที่ unit อื่นยืนอยู่ ถือว่ายิงโดน
• การยิงเกิดขึ้นพร้อมกันสาหรับผูเ้ ล่นทุกคน
– หันหน้า:
• ผูเ้ ล่นที่เปิ ดการ์ดหันทิศทาง เลือกหัน unit ของตนเองไปในทิศที่ตอ้ งการ
– ทาการเคลื่อนที่:
• ผูเ้ ล่นเคลื่อนที่ไปตามที่การ์ด เดิน ระบุไว้
ทาซ้ ากับการ์ ดใบที่ 2 และ 3
ถ้า unit ถูกยิง ให้นาออกจากเกม แล้วไปเกิดใหม่ที่ตาแหน่งจุดเกิดเมื่อเริ่ ม
การเล่นในรอบถัดไป
ส่ วนเพิ่มเติมอื่นๆ ที่เป็ นไปได้
– ระบบนับคะแนน อาจจะนับจานวนครั้งที่ฆ่าได้
– อัตราการยิงโดนหรื อไม่โดน ตามระยะการยิง.
• ใช้ลูกเต๋ า 10 หน้า
• 100% ที่ช่องติดกัน และลดลง 10% สาหรับระยะที่ห่างออกไปแต่ละช่อง
– พลังชีวิต
• เช่น 5 แต้ม แล้วลดลงครั้งละ 1 เมื่อถูกยิง
– มีจุดปฐมพยาบาลบนฉาก
– กระสุ นและจุดเติมกระสุ น
– อาวุธอื่นๆ
แต่มนั มีขอ้ จากัดอยูม่ ากไม่ใช่หรื อ?
ไม่ใช่ 3D, ไม่เป็ น real time?
ไม่ตอ้ งเป็ นห่ วง โครงสร้างของเกมมีความสาคัญมากกว่าในช่วงนี้
Physical prototyping บังคับให้เราคิดถึงรายละเอียด
การออกแบบในส่ วนต่างๆ และนิยามออกมาให้ชดั เจน
โปรแกรมเมอร์ จะสามารถเข้าใจวิสัยทัศน์ของเราได้จาก
prototype
Mage knight
คาแนะนาสาหรับ physical prototype
เริ่ มจากกลไกหลักของเกม
– ในตัวอย่างเกม FPS, เราอนุญาตให้มีการเคลื่อนที่พร้อมกันได้ เพื่อให้เกิด
gameplay แบบ real time
เพิ่มสิ่ งที่สาคัญก่อน
– เมื่อใดก็ตามที่เพิม่ features กฎของเกมโดยรวมจะต้องถูกเปลี่ยนเพื่อมารองรับ
ระบบใหม่
– กฎต้องมาก่อน features
– สามารถทดลองเอากฎออกเพื่อดูวา่ เกมจะยังทางานได้หรื อไม่
หลังจาก gameplay อยูต่ วั ดีแล้ว จึงเพิ่มรายละเอียดลงไป
เพิ่มรายละเอียดครั้งละหนึ่ ง feature เท่านั้น ทดสอบ feature อันต่อ
อัน
ถ้า gameplay ไม่ดี ลองเอา feature ออก แล้วทดสอบใหม่
ใช้ flowchart ในการช่วยให้เห็นภาพของเกมชัดขึ้น
ถ้าตัน ไม่รู้ทาไงดี
ลองเปลี่ยน resource จากจากัด เป็ นไม่จากัด หรื อจากไม่จากัดเป็ นจากัด
ดู
เพิ่มแอคชัน
่ ให้ผเู ้ ล่นหยุดหรื อเปลี่ยนแอคชัน่ ของผูเ้ ล่นอีกคนได้
– จะได้เกิดแผนการในการเล่นเพิม่ ขึ้น เช่นการ counter หรื อ การร่ วมมือกัน
ให้ผเู ้ ล่นทาการเปลี่ยนลาดับของสิ่ งที่เกิดในเกมได้
– เช่น เร่ งให้ตาเดินเร็ วขึ้นหรื อทาให้คู่ต่อสู ้ตอ้ งข้ามตาเดิน
เอากฎออกไป โดยเฉพาะกฎที่ไม่เกี่ยวกับส่ วนหลักของเกม
เปลี่ยนค่าตัวแปร ตัวเดียว ให้เป็ นสองเท่า หรื อเป็ นครึ่ งหนึ่ ง แล้วลองเล่นใหม่
Software prototype
Software prototype เป็ นส่ วนเพิ่มเติมเล็กๆ ไม่ใช่เกมทั้งเกมใน
ตัวเอง
– Demo
– A level
ต้องแสดงให้เห็นถึง gameplay.
– ประกอบด้วยสิ่ งที่พดู ถึงในโฟกัสของเกม
การให้ส่วนเล็กๆของเกมทางาน ทาให้เราพอจะรู ้ได้วา่ ท้ายสุ ดแล้ว เกมจะสนุก
หรื อไม่
– สามารถปรับแต่ง หรื อแม้แต่ยกเลิกโครงการได้
Non-intuitive
, need fixing
ถ้าโปรโตไทป์ ยังไม่สนุก อย่า
ทา design document อย่างละเอียด
แต่งข้อความและบทสนทนาในเกม
ทาฉากแผนที่อย่างละเอียด
สร้างด่านที่สมบูรณ์ออกมา
วาดรู ปที่จะใช้จริ ง
ข้อเสี ยของการทาด่าน ภาพ และเอกสารอย่างละเอียด
สิ่ งเหล่านี้อาจจะสร้างความเข้าใจที่คลาดเคลื่อนเกี่ยวกับ
gameplay ได้
– ความพยายามเสี ยเปล่า เพราะยังไงเกมต้องเปลี่ยนแน่ๆ
– คนที่ลงแรงทางานไปแล้ว จะยึดติดกับผลงานนั้น (เก็บไว้ แม้จะใช้งาน
ไม่ได้กต็ าม)
• ทาให้เกมแย่ถา้ ยังเอาของที่ใช้ไม่ได้ใส่ ในเกมอยู่
จาไว้วา่ ยิง่ มีคนมาก ก็ยงิ่ ยากที่จะเปลี่ยนแปลงเกมได้
ตัวอย่าง 1: Odyssey: The Legend of
Nemesis
Richard Rouse ได้รับ game engine และ
บางส่ วนของเกมมาจากผูพ้ ฒั นากลุ่มก่อนหน้า
เริ่ มจากเอกสาร 6 หน้าไปยังผูจ้ ดั จาหน่าย
– หนึ่งหน้าต่อหนึ่งฉาก
– เมื่อถึงจุดที่สร้างเกาะที่ 2 เขาก็รู้ตวั ว่าควรจะทิ้งเกาะอื่นๆบางเกาะไป
– ไม่เสี ยงานไปมาก เพราะการออกแบบช่วงแรกไม่ได้ลงรายละเอียดมาก
นัก
Odyssey: The Legend of Nemesis
จากนั้นก็สร้างเกม โดยใช้รูปภาพชัว่ คราว (นามาจาก project
อื่น).
ไม่ตอ้ งกลัวเสี ยรู ปที่ได้วาดไปแล้ว
จ้าง artist มาทารู ปทดแทนทีหลัง
ตัวอย่าง 2: Centipede 3D
Original gameplay idea.
แต่สร้างมาถึง 6 ด่าน!!
และมีด่านที่ออกแบบไว้อีก!!
แล้วมาค้นพบทีหลังว่ามันไม่สนุก
– ปรับแต่ง gameplay
– แต่ตอ้ งทิ้งด่านที่สร้างไว้แล้วบางด่าน รวมถึงด่านที่ออกแบบไว้ดว้ ย
– ถ้าผูอ้ อกแบบตัดสิ นใจเก็บด่านเหล่านั้นไว้ จะแย่ยงิ่ กว่านี้
Centipede 3D
ระยะ prototype
ระยะทดสอบกลไกหลัก
– ทดสอบส่วนหลักเท่านั้น
– ดูวา่ สนุกหรื อไม่
– อาจจะต้องทดสอบคนเดียว (ซ้ าๆ)
ทดสอบกับคนนอก
– เพิ่มโครงสร้างส่วนต่างๆ ให้เพื่อน (คนที่ยงั ไม่เห็นภาพเต็มของเกม) ให้เล่นได้
– ทดสอบการทางาน และความสนุก ซึ่งอาจต้องทดสอบซาๆหลายที
ทดสอบเกมที่กฎการเล่นครบแล้ว
– ทดสอบจุดอ่อนและความสมดุลของเกม ต้องทาซาๆ
Refinement
– ทดสอบในส่วนของความสนุกและการเข้าถึงได้ ต้องทาซ้ าๆ
Software หรื อ programming
environments ที่มีประโยชน์
Flash
Macromedia Director
Game Maker
NeverWinter’s Aurora toolset
– เหมาะมากสาหรับการออกแบบเกม 3D
TorchEd
Panda3D
Unity
Unreal 3
Counter-Strike เป็ น mod ของ Half-Life.
Warcraft 3 มี level editor ที่สลับซับซ้อนมาก
– ต้องลองเล่นดูถา้ อยากออกแบบเกม RTS.
Game maker
Aurora
บางเกมจาเป็ นต้องมี software prototype
Tetris.
Space war game.
เมื่อใดที่โมเดลกระดาษใช้ยากเกินไป
อย่าลืมใช้เครื่ องมือที่ทาให้สามารถเปลี่ยนแปลงได้เร็ วที่สุด
อย่าคิดจะนาโค้ดมาใช้ใหม่
สาหรับบริ ษทั ใหญ่ๆอาจมีปัญหาพวกนี้
ศิลปิ น ผูอ้ อกแบบด่าน และคนเขียนโค้ด เริ่ มทางานตั้งแต่ระยะแรกๆ
ผูจ้ ดั จาหน่ายอาจจะต้องการเห็น design document ทั้งหมด ก่อนที่
จะการอื่นใด
– ไม่มีทางเลือก ต้องทาตามที่ sponsor บอก
– ถ้าเป็ นไปได้ ใช้ทุนของตัวเองจนกว่าจะได้ gameplay prototype ที่
ทางานได้
– Prototype ที่ดีจะช่วยให้หาเงินทุนได้ในภายหลัง
การสร้างเกม (Production)
ก่อนอื่นต้องสร้างเทคโนโลยีที่เป็ นตัวยืนพื้นก่อน
สร้างระบบหนึ่ ง หรื ออย่างหนึ่ งในเกมให้เสร็ จก่อน ก่อนที่จะเริ่ มทา
ระบบที่ตอ้ งพึ่งพาระบบหรื อสิ่ งที่สร้างนี้ต่อไป
ั ระบบที่ตอ้ ง
ยากที่จะให้หลายทีม เขียนโค้ดขนานกันไปให้กบ
ทางานร่ วมกัน ทาเป็ นลาดับ แต่ช่วยกันทา ง่ายกว่า
สร้าง core technology
ต้องสร้าง Game engine เป็ นอันดับแรก
– ไม่จาเป็ นต้องเสร็ จสมบูรณ์ก่อนที่จะเริ่ มทา prototype
– เราไม่รู้ถึงขีดจากัดของเทคโนโลยีเสมอไป
• เราอาจจะเริ่ มจากการออกแบบศัตรู 10 ตัวบนหน้าจอ แต่ engine รองรับได้
แค่ 3 ตัว ดังนั้นเราจึงต้องออกแบบใหม่
ขั้นตอนต่อๆไป
แบ่งส่ วนการออกแบบออกเป็ นงานย่อยๆ งานส่ วนหลัก และงานที่ตอ้ งพึ่งพา
งานส่ วนอื่น
– Sidescroll platform: ทาให้ระบบเคลื่อนที่ของผูเ้ ล่นทางานได้ เป็ นงาน
อันดับแรก
•
•
•
•
เดินหน้า ถอยหลัง หันหน้า
ทาจนกว่าจะดูดี
จากนั้นเพิ่มการเคลื่อนที่แบบอื่นๆ: ก้ม, กระโดด.
ต้องแน่ใจได้วา่ จะไม่ทาให้การเคลื่อนที่ก่อนหน้าเสี ย ทั้งหมดต้องทางานร่ วมกันได้
– จากนั้นเพิ่มการโจมตี: ทดสอบจนกว่าจะรู้สึกว่าถูกต้อง
– จากนั้นเพิ่มศัตรู
ตัวอย่างขั้นตอนการเติมศัตรู และ item
ขั้นแรก ให้ใส่ ตวั ศัตรู ลงไปในเกม เพื่อที่ผเู ้ ล่นจะสามารถโจมตีได้.
จากนั้นให้มนั เริ่ มเคลื่อนที่ไปรอบๆ
จากนั้นให้มนั ทาการโจมตีของตัวเอง
จากนั้นเพิ่ม Item เข้าไปในเกม
ต่อจากนั้น ทาให้ผเู ้ ล่นสามารถหยิบของขึ้นมาได้ โยนของได้ ฯลฯ
ในแต่ละขั้นตอน เกมจะต้อง เล่นได้ และ สนุก
– เมื่อเพิ่มอะไรลงไปในเกมแล้วทาให้ของเก่าพัง ให้รีบแก้ทนั ที
ควรเล่นเกมที่สร้าง ตลอดช่วงการสร้าง
เป็ นการง่ายที่จะลืมความสาคัญของ gameplay ถ้าหากใช้เวลาไปมาก
ในการพัฒนาเกมในช่วงที่ไม่สามารถเล่นได้
ถ้าสมาชิกของทีมสามารถหยิบเกมมาเล่นได้ทุกเมื่อ จะทาให้ได้ไอเดียที่ชดั เจน
เกี่ยวกับเกมที่กาลังทาอยู่
ถ้าบางอย่างที่ถกู เพิม
่ เข้าไปในเกม ทาให้เกมสนุกน้อยลง จะเห็นผลได้ทนั ที
ด่านด่านแรกที่สร้างในเกม
เมื่อระบบทุกส่ วนสามารถทางานได้ตามที่ตอ้ งการแล้ว ก็เริ่ มสร้างด่าน
เมื่อเริ่ มทดสอบเกมในแต่ละด่าน จะค้นพบ feature ที่ขาดหายไปจากเกม
สร้างแต่ละด่านให้ใกล้เคียงกับสถานะสุ ดท้ายตามที่ตอ้ งการมากที่สุด ก่อนที่
จะเริ่ มสร้างด่านถัดไป
– จะเรี ยนรู้ได้มากจากแต่ละด่าน และทาไประหยัดเวลาในการสร้างด่านต่อๆไป
– แต่เนื่องจากมีการดัดแปลงแก้ไขด่านแรกนี้มาก ด่านนี้จึงจะไม่ดีนกั เมื่อเทียบกับด่านที่
สร้างมาในอนาคต
– เป็ นเรื่ องปกติที่จะทิ้งด่านนี้ไป
ระวังเกี่ยวกับระดับความยากของเกม
ในขณะที่กาลังสร้างด่านแรก เราจะมีโอกาสในการปรับแต่งระดับ
ความยากโดยทัว่ ไปของเกม
ให้เพื่อนมาช่วยเล่นเกม
– สังเกตการณ์ดูวา่ หัดเล่นได้ง่ายแค่ไหน
– ถ้าเกมเล่นได้ยากกว่าที่คิดไว้ ต้องเปลี่ยนแนวทางการออกแบบทันที
ระวังจะเกิดความเคยชินกับจุดบกพร่ องต่างๆ:
– การควบคุมที่เข้าใจได้ยาก
– การเคลื่อนไหวของศัตรู ในแบบที่ไม่ยตุ ิธรรม
เผชิญกับการเปลี่ยนแปลง
การทิ้งรู ปภาพ โค้ด ด่าน และแม้แต่แผนการออกแบบ เป็ นสิ่ งที่
เกิดขึ้นเป็ นปกติ
ทุกคนต้องกล้าพอที่จะโยนมันทิ้งไป
จาไว้วา่ งานที่ดีบางอย่างอาจจะไม่เข้ากันกับเกมนี้ กไ็ ด้
แต่อย่าทาเกินไป
ผูอ้ อกแบบอาจจะเบื่อกับลักษณะของด่านที่ตอ้ งออกแบบ และ
อาจจะตัดสิ นใจทาด่านใหม่ เพียงเพื่อให้ได้อะไรใหม่ๆ
ต้องหยุดเขาไม่ให้ทาอย่างนั้น! สาหรับผูเ้ ล่นแล้ว ด่านนี้ จะใหม่
เสมอเมื่อเขาเริ่ มเล่นเป็ นครั้งแรก
ถ้า gameplay ดีอยูแ่ ล้ว อย่าเปลี่ยนอะไร
การเขียนโปรแกรม และการออกแบบ
เราต้องการ feedback ระหว่างคนออกแบบ และ
โปรแกรมเมอร์ อย่างสม่าเสมอ
ผูอ้ อกแบบที่สามารถเขียนโปรแกรมได้ดว้ ย จะ
ได้เปรี ยบ:
– สามารถทดลองความคิดใหม่ๆได้ดว้ ยตัวเอง
– เข้าใจข้อจากัดของเทคโนโลยี
• ตัวอย่าง: ดาบสามารถเปลี่ยนรู ปร่ างได้ เมื่อถูกเสก
มนตร์…(engine ทาไม่ได้).
– ใช้ Engine แสดง particle รอบๆดาบ ผูอ้ อกแบบเกม
อาจจะพอใจกับแนวทางการแก้ปัญหานี้ดว้ ยซ้ า (แม้วา่ เขาจะไม่รู้ถึง
ข้อจากัดของ engine ก็ตาม)
ความคิดที่แตกต่างระหว่างผูอ้ อกแบบ และ
โปรแกรมเมอร์ เกี่ยวกับ gameplay
โปรแกรมเมอร์อาจจะแกล้งทาเป็ นว่ายาก ทั้งที่จริ งแล้วเขาไม่ชอบ
ไอเดีย
ผูอ้ อกแบบที่ไม่รู้เกี่ยวกับเทคโนโลยีจะถูกเอาเปรี ยบได้
ถ้าผูอ้ อกแบบเกม ไม่เขียนโปรแกรมเอง
หัวหน้าโปรแกรมเมอร์ จะต้องเข้าใจ gameplay ได้อย่างดี
ไม่เช่นนั้น โครงการอาจจะล้มเหลวได้
สรุ ป: Iterative & incremental process
No problem
problem
Generate ideas
Make prototype
Evaluate results
playtest
Iterative process diagram [FSH]