16 กรกฎาคม 2562

Ren'Py พื้นฐาน | บทที่ 2 เริ่มต้นกับ Ren'Py

นักสร้างเกมหลายคนอยากสร้างเกมแรกเร็ว ๆ ผู้เขียนจึงพยายามยัดพื้นฐานการสร้างเกมด้วย Ren'Py ภายในบทเดียว เมื่ออ่านบทนี้จนจบผู้อ่านจะสามารถสร้างเกมอย่างง่ายด้วยโปรแกรม Ren'Py ได้ ในบทนี้เราจะเรียนกันเรื่องการสร้างโปรเจ็กต์ใหม่ การทดสอบเกม การแสดงคำพูด การแสดงรูปพื้นหลัง การแสดงรูปตัวละคร และการใส่คอมเมนต์


สร้างโปรเจ็กต์ใหม่ และทดสอบเกม

หัวข้อนี้จะเรียนการสร้างโปรเจ็กต์เกมใหม่และการทดสอบเกม สาเหตุที่นำสองอย่างนี้มารวมในหัวข้อเดียวกันเพราะเป็นสิ่งที่ต้องใช้โปรแกรม Ren'Py จริง นอกจากนั้นจะเป็นการใส่คำสั่งด้วยโปรแกรมประเภท Text Editor นี่ฟังดูแปลก ถึงจะบอกว่าเป็นการสร้างเกมด้วยโปรแกรม Ren'Py แต่ส่วนใหญ่กลับไม่ได้ใช้โปรแกรม Ren'Py ในการสร้างเกม
รูปที่ 2.1 หน้าต่างโปรแกรม Ren'Py

การสร้างโปรเจ็กต์ใหม่

1. คลิก Create New Project ด้านซ้ายของโปรแกรม (ดูรูปที่ 2.1)
2. โปรแกรมจะแสดงข้อความ Information ให้คลิก Continue
3. ตั้งชื่อโปรเจ็กต์ (ตัวอักษรอังกฤษหรือตัวเลขเท่านั้น) จากนั้นคลิก Continue
4. เลือกขนาดหน้าต่างเกม แนะนำให้เลือกขนาด 1280 x 720 จากนั้นคลิก Continue
5. เลือกสีหลักของเกม การแสดงแบบเต็มจอหรือหน้าต่าง และความเร็วตัวอักษรในเกม จากนั้นคลิก Continue
รูปที่ 2.2 เลือกสีและตั้งค่าได้ตามใจชอบ

6. โปรแกรมจะสร้างไฟล์เริ่มต้นสำหรับโปรเจ็กต์เกมใหม่

ในการสร้างโปรเจ็กต์ครั้งแรกโปรแกรมจะถามตำแหน่งที่เก็บโปรเจ็กต์ ส่วนครั้งต่อไปโปรแกรมจะสร้างโปรเจ็กต์ไว้ที่ตำแหน่งเดิม ผู้อ่านสามารถเปลี่ยนตำแหน่งสำหรับโปรเจ็กต์ใหม่ได้โดยการคลิก Preferences ที่ด้านล่างขวาของโปรแกรม
รูปที่ 2.3 การตั้งค่าใน Preferences

การทดสอบเกม

ถ้ามีไฟล์ที่แก้ไขอยู่ด้วยโปรแกรมประเภท Text Editor ให้บันทึกไฟล์ทั้งหมดก่อน การทดสอบเกมทำได้เพียงเลือกโปรเจ็กต์ที่ต้องการทดสอบที่ด้านซ้ายของโปรแกรม แล้วคลิก Launch Project โปรแกรมจะแปลคำสั่งในไฟล์ต่าง ๆ ให้เป็นเกม และเปิดเกมขึ้นมา (เชิงเทคนิค : การทดสอบเกมด้วยโปรแกรม Ren'Py เป็นการ Compile & Run ไม่ใช่การ Debug)
รูปที่ 2.4 ทดสอบเกม


ไฟล์สคริปต์

การสร้างเกมด้วย Ren'Py ทำได้โดยการใส่คำสั่งในไฟล์สคริปต์ แต่โปรแกรม Ren'Py ไม่สามารถแก้ไขไฟล์สคริปต์ได้โดยตรง เพราะไม่มี Editor อยู่ในตัว (เชิงเทคนิค : Ren'Py เป็น SDK ไม่ใช่ IDE) ในการแก้ไขไฟล์สคริปต์เราต้องใช้โปรแกรมประเภท Text Editor (เช่น Notepad) ไฟล์สคริปต์ทั้งหมดอยู่ในโฟลเดอร์โปรเจ็กต์

นามสกุลของไฟล์สคริปต์มีสองนามสกุลคือ .rpy และ .rpyc ความแตกต่างของสองชนิดนี้คือ .rpy เป็นไฟล์ที่สามารถเปิดด้วยโปรแกรมประเภท Text Editor ได้ (เชิงเทคนิค : .rpy เป็น Plain Text) ส่วน .rpyc เป็นไฟล์ที่เกมใช้จริง ๆ (เชิงเทคนิค : .rpyc เป็น Binary File) การสร้างเกมนั้นเราจะใส่คำสั่งที่ไฟล์ .rpy เท่านั้น เมื่อทดสอบเกมโดยการคลิกปุ่ม Launch Project ในโปรแกรม Ren'Py (ดูรูปที่ 2.1) ไฟล์ .rpy ที่เราใส่คำสั่งจะถูกแปลเป็นไฟล์ .rpyc ที่มีชื่อไฟล์เหมือนกัน จากนั้นตัวเกมจะปรากฏขึ้นโดยใช้ข้อมูลจากไฟล์ .rpyc
รูปที่ 2.5 ขั้นตอนการสร้างเกมด้วยโปรแกรม Ren'Py

ไฟล์สคริปต์ที่เราจะใช้กันทั่วไปคือ script.rpy คำสั่งที่เราจะเรียนกันอยู่ในไฟล์นี้ ดังนั้นเมื่อบอกให้ใส่คำสั่งต่าง ๆ ให้ผู้อ่านใส่คำสั่งลงในไฟล์นี้ และอย่าลืมบันทึกไฟล์ก่อนทดสอบเกม ส่วนไฟล์สคริปต์อื่นเป็นไฟล์ที่มีคำสั่งเฉพาะทางตามชื่อไฟล์นั้น ตามหลักการแล้วโปรแกรม Ren'Py จะมองไฟล์สคริปต์ทั้งหมดรวมกันโดยไม่สนใจชื่อไฟล์, จำนวนไฟล์สคริปต์, และคำสั่งภายในไฟล์ ทำให้สามารถใส่คำสั่งสลับไฟล์กันได้ นอกจากนั้นยังสามารถเรียกคำสั่งข้ามไฟล์กันได้ เพราะสุดท้ายโปรแกรมจะรวมทุกไฟล์เข้าด้วยกัน แต่ในทางปฏิบัติแล้วแนะนำให้แยกไฟล์กันเพื่อความสะดวกในการสร้างเกม ไฟล์สคริปต์หลักที่ใช้คือ script.rpy

อีกสิ่งที่ควรระวังคือตัวเกมจะใช้ข้อมูลจากไฟล์ .rpyc เท่านั้น ในกรณีที่คำสั่งในไฟล์ .rpyc ไม่ตรงกับไฟล์ .rpy เช่น กรณีที่ไม่ได้ Compile ใหม่ หรือกรณีที่ลบไฟล์ .rpy แต่ไม่ได้ลบไฟล์ .rpyc กรณีเช่นนี้ตัวเกมจะถูกสร้างโดยใช้ข้อมูลจาก .rpyc ซึ่งเป็นข้อมูลเดิม เกมจะไม่ได้อัพเดทคำสั่งใหม่ที่เราใส่ลงไป ถ้าผู้อ่านต้องการลบไฟล์สคริปต์ให้ลบทั้งไฟล์ .rpy และ .rpyc ที่มีชื่อเดียวกัน ส่วนกรณีที่มีเฉพาะไฟล์ .rpy แต่ไม่มีไฟล์ .rpyc จะไม่มีปัญหาอะไร เพราะโปรแกรม Ren'Py จะแปลไฟล์ .rpy เป็นไฟล์ .rpyc ทุกครั้งที่คลิก Launch Project ในโปรแกรม Ren'Py (ดูรูปที่ 2.1)


แสดงคำพูด

สิ่งแรกที่นึกถึงเมื่อพูดถึงเกม Visual Novel คือตัวอักษรยาว ๆ ที่เป็นคำพูดของตัวละคร การแสดงคำพูดของตัวละครมีรูปแบบคำสั่งดังนี้

คำสั่งแสดงคำพูดทั่วไปประกอบด้วยเครื่องหมาย " " สองชุด ชุดทางซ้ายให้ใส่ชื่อตัวละครที่พูด ชื่อนี้จะปรากฏบนกล่องข้อความของเกม ชุดทางขวาให้ใส่คำพูดที่ตัวละครพูด ถ้าต้องการแสดงคำพูดที่มีหลายบรรทัดให้ใส่ \n ระหว่างคำพูดนั้น ยกตัวอย่างเช่น


ใส่คำสั่งข้างบนนี้ในไฟล์ script.rpy ไว้ด้านล่างบรรทัด label start: แต่ไว้ด้านบนบรรทัด return จะได้เกมดังรูปที่ 2.7
 รูปที่ 2.6 ใส่คำสั่งแสดงคำพูด
รูปที่ 2.7 ทดสอบแสดงคำพูด

คำสั่งแสดงคำพูดยังมีอีกรูปแบบคือมีเครื่องหมาย " " แค่ชุดเดียว คำสั่งรูปแบบนี้จะแสดงเฉพาะคำพูด แต่ไม่แสดงชื่อตัวละคร


สำหรับการแสดงคำพูดที่เป็นตัวอักษรภาษาไทยจะต้องเปลี่ยนฟอนต์ก่อน เพราะฟอนต์เริ่มต้นไม่รองรับภาษาไทย เราจะเรียนเรื่องการเปลี่ยนฟอนต์กันในบทที่ 3


แสดงรูปพื้นหลังและตัวละคร

คำสั่งการแสดงรูปพื้นหลังมีรูปแบบดังนี้


คำสั่งการแสดงรูปตัวละครมีรูปแบบดังนี้


ไฟล์รูปต้องอยู่ในโฟลเดอร์ images ของโปรเจ็กต์ ชื่อไฟล์ต้องเป็นตัวอังกฤษตัวเล็กหรือตัวเลข และไม่ต้องใส่นามสกุลไฟล์ สามารถมีเว้นวรรคภายในชื่อได้ ถ้าชื่อไฟล์เป็นตัวอังกฤษตัวใหญ่ตอนใส่คำสั่งให้เปลี่ยนเป็นตัวอังกฤษตัวเล็ก เช่น ชื่อไฟล์จริงคือ Eileen Happy.png เมื่อใส่คำสั่งให้ใช้ชื่อไฟล์รูปเป็น eileen happy แทนชื่อไฟล์จริง


เมื่อใส่รูปที่มีชื่อไฟล์ดังกล่าวในโฟลเดอร์ images และนำคำสั่งนี้ไปใส่ด้านบนคำสั่งแสดงคำพูดจากหัวข้อที่แล้ว จะได้เกมดังรูปที่ 2.9
รูปที่ 2.8 ใส่คำสั่งแสดงรูปพื้นหลังและตัวละคร
รูปที่ 2.9 ทดสอบแสดงรูปพื้นหลังและตัวละคร


คอมเมนต์ (Comment)

คอมเมนต์คือคำอธิบายที่เราใส่เพื่ออธิบายคำสั่ง คอมเมนต์จะไม่ถูกนำไปใช้ในเกม เป็นเพียงสิ่งที่ไว้อธิบายรายละเอียดให้เข้าใจง่ายเฉย ๆ จุดประสงค์ของการใส่คอมเมนต์ เช่น เพื่ออธิบายให้เพื่อนที่สร้างเกมด้วยกันเข้าใจคำสั่งของเรา หรือเพื่ออธิบายคำสั่งให้ตัวเองเมื่อต้องกลับมาแก้ไขในภายหลัง จะได้ไม่ต้องงมทำความเข้าใจนาน คอมเมนต์ไม่ใช่สิ่งบังคับที่ต้องใส่ในเกม จะมีหรือหรือไม่มีก็ได้
รูปแบบคอมเมนต์คือใส่เครื่องหมาย # หลังจากนั้นจะเป็นคำอธิบายในคอมเมนต์จนจบบรรทัด คอมเมนต์สามารถอยู่ต้นบรรทัดหรือตามหลังคำสั่งก็ได้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น