โปรแกรมสำหรับสร้างเกม 2d โดยไม่ต้องเขียนโปรแกรม โปรแกรมสำหรับสร้างเกม


ใครไม่ชอบเล่นบนคอมพิวเตอร์หรือสมาร์ทโฟน? อาจมีเพียงไม่กี่คนเท่านั้น

สำหรับเกมเมอร์บางคน ความรักในเกมมีมากจนพวกเขาเริ่มเข้าใจความบันเทิงและใฝ่ฝันที่จะสร้างเกมด้วยตัวเอง วันนี้มีโอกาสมากมายที่จะทำให้ความฝันอันเป็นที่รักนี้เป็นจริง!

หากคุณต้องการสร้างของเล่นของคุณเองในยามว่าง ลองดูรายการโปรแกรมฟรีพิเศษสำหรับสิ่งนี้

เครื่องปั่น



แพ็คเกจโปรแกรมระดับมืออาชีพฟรีสำหรับการสร้างเกมเชิงโต้ตอบและคอมพิวเตอร์กราฟิก 3 มิติ

มีเครื่องมือเพียงพอสำหรับการทำงานสำหรับทั้งผู้เริ่มต้นและมืออาชีพ Blender มีเครื่องมือสำหรับการสร้างแบบจำลอง แอนิเมชั่น วิดีโอ และเสียง

โปรแกรมนี้เป็นตัวแก้ไขที่มีคุณสมบัติครบถ้วนซึ่งมีพื้นผิวหลัก ตัวจัดการเหตุการณ์ และโมเดลอยู่แล้ว หากคุณต้องการคุณสมบัติเพิ่มเติม คุณสามารถดาวน์โหลดปลั๊กอินได้: ปลั๊กอินเหล่านี้สร้างขึ้นโดยทั้งนักพัฒนาและผู้ใช้อย่างเป็นทางการ

แต่คุณจะพบบทเรียนการทำงานในโปรแกรมนี้

ไปข้างหน้าสร้างจักรวาลใหม่!

ยูนิตี้ 3 มิติ


นี่คือสภาพแวดล้อมที่ทรงพลังสำหรับการพัฒนาแอปพลิเคชันและเกม รวมถึงอุปกรณ์มือถือ เกมที่สร้างด้วย Unity 3D ทำงานบน Windows, iOS, Android, Playstation 3, Xbox 360 และ Wii คุณสามารถสร้างเกมประเภทใดก็ได้ นำเข้าพื้นผิวและแบบจำลองได้อย่างง่ายดาย และรองรับรูปแบบรูปภาพยอดนิยมทั้งหมด

สคริปต์เขียนด้วย JavaScript เป็นหลัก แต่โค้ดก็สามารถเขียนด้วยภาษา C# ได้เช่นกัน

คุณจะพบเอกสารการฝึกอบรมเกี่ยวกับการทำงานในสภาพแวดล้อม (เป็นภาษาอังกฤษ) ได้จากเว็บไซต์อย่างเป็นทางการที่นี่

สร้างคลาสสิก

เครื่องมือสร้างเกมโอเพ่นซอร์ส 2D และ 3D ไม่จำเป็นต้องมีความรู้ด้านการเขียนโปรแกรมเพื่อดำเนินการ สิ่งที่คุณต้องทำคือเพิ่มวัตถุและเปิดแอนิเมชั่น

ไม่มีเวอร์ชันภาษารัสเซีย แต่อินเทอร์เฟซมีความชัดเจนมาก ดังนั้นคุณจึงสามารถทำงานได้แม้จะมีความรู้ภาษาอังกฤษขั้นพื้นฐานก็ตาม

นักออกแบบไม่เพียงแต่ฟรีเท่านั้น แต่ยังเป็นโอเพ่นซอร์ส และหากคุณต้องการ คุณสามารถปรับแต่งและแก้ไขได้ตามที่คุณต้องการ

คุณสามารถดูบทเรียน Construct Classic ได้

โปรแกรมสร้างเกม Lite



โปรแกรมฟรีสำหรับการพัฒนาเกมง่ายๆ ทุกประเภท: แพลตฟอร์ม ปริศนา แอ็กชัน และเกม 3 มิติ เหมาะสำหรับผู้เริ่มต้น คุณสามารถใช้รูปภาพและเอฟเฟ็กต์ของคุณเองหรือโปรแกรมในตัวได้ หากต้องการเข้าถึงรูปภาพและเอฟเฟกต์ที่มีให้เลือกมากมาย คุณต้องลงทะเบียน

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

บทเรียนเกี่ยวกับการทำงานในโปรแกรมสำหรับผู้เริ่มต้นอยู่ในไซต์นี้

ชุดพัฒนาอันเรียล

เอ็นจิ้นฟรีสำหรับการสร้างเกม ทรงพลังมาก พร้อมด้วยฟีเจอร์และเครื่องมือมากมายสำหรับการแสดงภาพขั้นสูงและการจำลองโดยละเอียด คุณสามารถสร้างเกมสำหรับแพลตฟอร์มสมัยใหม่มากมาย

โปรแกรมมีพื้นผิว โมเดล เสียง สไปรต์ และสคริปต์อยู่แล้ว สิ่งที่เหลืออยู่ก็คือการรวมและสร้างเกมของคุณเอง

สามารถดูบทแนะนำวิดีโอและคู่มือสำหรับการทำงานกับโปรแกรมได้

ตัวแก้ไขเกม

โปรแกรมแก้ไขสำหรับสร้างเกมสองมิติอย่างง่ายสำหรับระบบปฏิบัติการ Windows, iOS, Android, Linux

มีชุดแอนิเมชั่นในตัวที่รับผิดชอบลักษณะที่ปรากฏของตัวละคร คุณสามารถใช้องค์ประกอบกราฟิกของคุณเองได้ โปรแกรมยังมีชุดปฏิกิริยามาตรฐานที่กำหนดพฤติกรรมของตัวละครในเกมด้วย แต่คุณสามารถสร้างของคุณเองได้โดยใช้โปรแกรมแก้ไขเกมภาษาสคริปต์พิเศษ

3D ราด



โปรแกรมฟรีสำหรับพัฒนาเกม 3 มิติและแอปพลิเคชันเชิงโต้ตอบ ไม่จำเป็นต้องใช้โค้ด ดังนั้นการสร้างเกมของคุณเองจึงค่อนข้างง่าย

เกมดังกล่าวสร้างขึ้นโดยการเลือกวัตถุต่าง ๆ และตั้งค่าการโต้ตอบระหว่างวัตถุเหล่านั้น มีฟังก์ชั่นนำเข้าโมเดล ตัวอย่าง และตัวอย่างจำนวนมาก คุณสามารถแจกจ่ายเกมที่เสร็จแล้วเป็นเว็บแอปพลิเคชันหรือโปรแกรมเต็มรูปแบบได้ สามารถฝังเกมบนหน้าเว็บได้

ผู้สร้างเกม: สตูดิโอ

ชุดเครื่องมือฟรีสำหรับสร้างเกมมือถือ อินเทอร์เฟซที่เรียบง่ายและใช้งานง่ายที่ทำให้การพัฒนาเกมค่อนข้างง่าย ไม่จำเป็นต้องมีความรู้ด้านการเขียนโปรแกรม เนื่องจากคุณไม่จำเป็นต้องเขียนโค้ดด้วยตนเอง

ไม่มีอะไรฟุ่มเฟือยในหน้าต่างการทำงานของโปรแกรม เกมที่พัฒนาด้วย Game Maker: Studio เป็นแพลตฟอร์มข้ามแพลตฟอร์ม และสามารถรวมแอปพลิเคชันสำเร็จรูปเข้ากับ Steam ได้

เครื่องยนต์ NeoAxis 3D

สภาพแวดล้อมสากลสำหรับการพัฒนาโครงการ 3D
นี่คือเอ็นจิ้นสำเร็จรูปที่มีโมเดล พื้นผิว ฟิสิกส์ เทมเพลต และกราฟิกเป็นของตัวเอง มีการ์ดสำเร็จรูปถึง 24 ใบ!
สามารถใช้เพื่อสร้างไม่เพียงแต่เกมเท่านั้น แต่ยังรวมถึงโมเดลเดี่ยวและการแสดงภาพซอฟต์แวร์ที่ซับซ้อนอีกด้วย

สิ่งที่เหลืออยู่คือการเปิดจินตนาการและสร้างสรรค์ของคุณ

คุณอยากจะสร้างเกมของคุณเองหรือเปล่า? ไม่มีปัญหา. เลือกโปรแกรมและก้าวไปสู่ความฝันของคุณ!

คุณอยากลองสร้างเกม 2D ของคุณเองดูไหม? นี่คือเครื่องมือที่ดีที่สุดสำหรับงานนี้ แม้ว่าคุณจะยังใหม่กับธุรกิจนี้ก็ตาม

การสร้างเกมเป็นเรื่องยาก ยิ่งคุณรู้เกี่ยวกับกระบวนการนี้มากเท่าไร คุณก็จะยิ่งประหลาดใจมากขึ้นเท่านั้นที่ใครก็ตามที่ปฏิบัติตามกระบวนการนี้จริงๆ Tom Francis อดีตนักเขียน PC Gamer คนหนึ่งกล่าวเมื่ออธิบายถึงขั้นตอนการเขียนโปรแกรมเกม Gunpoint ว่า “ในขณะที่เล่นเกมนี้ ผมได้ข้อสรุปข้อหนึ่งว่า เกมของผมมันบ้าไปเลย นี่คือคนไข้ของโรงพยาบาลจิตเวช เธอเสียสติไปแล้ว และคุณต้องเตรียมพร้อมสำหรับความจริงที่ว่าข้อโต้แย้งที่สมเหตุสมผลทั้งหมดจะต้องพบกับเรื่องไร้สาระที่กรีดร้องอย่างบ้าคลั่ง”

เป็นเรื่องง่ายที่จะรู้สึกหนักใจกับงานจำนวนมากที่เกี่ยวข้องกับการออกแบบและการเขียนโปรแกรมเกมของคุณ แต่เราได้ถามนักพัฒนาอิสระหลายคน และพวกเขาทั้งหมดก็ให้คำแนะนำแบบเดียวกันกับมือใหม่: แค่ลงมือทำ กระโจนเข้าสู่งานของคุณไม่ว่ามันจะดูน่ากลัวแค่ไหนก็ตาม เพื่อช่วยให้คุณก้าวไปสู่ขั้นตอนแรก (ที่น่ากลัว แต่ท้ายที่สุดก็คุ้มค่า) เราได้เตรียมรายชื่อเอนจิ้น 2 มิติสำหรับนักพัฒนาเกมที่มีความมุ่งมั่น เราหวังว่าคำแนะนำของนักออกแบบเกมที่มีประสบการณ์จะเป็นประโยชน์กับคุณ

เกมเมคเกอร์ สตูดิโอ 2

ค่าใบอนุญาต: $100 สำหรับเวอร์ชั่นพีซี; ทดลองใช้ฟรีได้

เหมาะสำหรับ: เกมแพลตฟอร์ม 2D และเกม RPG สั้น ๆ เกมข้ามแพลตฟอร์ม

ตัวอย่างเกม: Nidhogg, Hyper Light Drifter, Undertale, Risk of Rain

ข้อดี

Mark Essen ผู้เขียนเกม Nidhogg และ Nidhogg 2 กล่าวว่า GameMaker นั้นยอดเยี่ยมสำหรับผู้เริ่มต้นเนื่องจากระบบสำหรับการสร้างสคริปต์ในเกมนั้นเรียบง่ายและชัดเจนที่สุดเท่าที่จะเป็นไปได้และบนพอร์ทัล Yoyo Games คุณจะพบชุดคู่มือและ คำแนะนำในหัวข้อนี้ นอกจากนี้ยังมีส่วนเสริมมากมายสำหรับเอ็นจิ้นบนอินเทอร์เน็ตที่ให้คุณปรับแต่งเพื่อสร้างเกมแพลตฟอร์มหรือ RPG จากบนลงล่าง

Alex Preston ผู้สร้าง Hyper Light Drifter กล่าวว่าชุมชนของเอ็นจิ้น GameMaker ให้ความช่วยเหลืออันล้ำค่าแก่ผู้เริ่มต้น เขาตั้งข้อสังเกตว่านักพัฒนารายใหม่ควร "...เชื่อมต่อกับชุมชนนักพัฒนาซอฟต์แวร์และเรียนรู้เครื่องมือกลไกทั้งหมดเพื่อไปให้ถึงจุดที่ต้องการ และหากต้องการทำเช่นนี้ ก็คุ้มค่าที่จะขอคำแนะนำจากนักพัฒนาที่มีประสบการณ์"

ข้อเสีย

แน่นอนว่าคุณไม่สามารถสร้างเกมที่สามารถเผยแพร่บน Steam ได้ในทันที "เนื่องจาก GameMaker ใช้งานง่ายมาก โปรเจ็กต์จึงมักจะจบลงด้วยความไม่สมดุล" Essen กล่าว “ฉันชอบที่ในช่วงเริ่มต้นของการพัฒนา คุณสามารถร่างโครงร่างของเกมของคุณได้อย่างรวดเร็วและมุ่งเน้นไปที่การออกแบบของมัน แต่สิ่งนี้อาจส่งผลย้อนกลับได้ในภายหลัง โดยเฉพาะอย่างยิ่งหากคุณไม่ปฏิบัติตามมาตรฐานขององค์กร!”

Duncan Drummond ผู้เขียน Risk of Rain อันเป็นที่รัก ยังชี้ให้เห็นว่าการใช้งานง่ายของ GameMaker อาจเป็นฝันร้ายของนักพัฒนาได้ “คุณสามารถสร้างเกมได้อย่างรวดเร็วด้วยเอนจิ้น แต่ถ้าคุณมองข้ามข้อผิดพลาดในช่วงแรกๆ หลังจากนั้นจะส่งผลให้ต้นทุนของเกมเพิ่มขึ้น” เขากล่าว Drummond ตั้งข้อสังเกตว่าลักษณะเฉพาะของการทำงานร่วมกับ GameMaker นั้นแตกต่างจากการทำงานกับเอนจิ้นอื่นๆ มาก ดังนั้นหากคุณวางแผนที่จะเปลี่ยนไปใช้ Unity หรือเอนจิ้นอื่นๆ ในอนาคต คุณอาจจะมองหาที่อื่นดีกว่า

“อย่าลืมลบผลงานเก่าของคุณ! ยิ่งคุณเริ่มเกมตั้งแต่เริ่มต้นบ่อยเท่าไร คุณก็จะยิ่งมีประสบการณ์ในการออกแบบเกมมากขึ้นเท่านั้น" - Mark Essen, Nidhogg

“แค่เริ่มต้น! สตาร์ทเครื่องยนต์ อ่านคู่มือ และเริ่มทำงาน แม้ว่าคุณจะทำไม่ได้จริงๆ ก็ตาม ยิ่งคุณทำผิดพลาดมากเท่าไร คุณก็จะได้เรียนรู้บทเรียนมากขึ้นเท่านั้น" - Alex Preston, Hyper Light Drifter

“อย่ากลัวที่จะเริ่ม! มันเป็นวิธีพัฒนาที่น่าสนใจและค่อนข้างง่าย และไม่เสียเวลา" - Duncan Drummond, Risk of Rain

ความสามัคคี

ค่าใบอนุญาต: ฟรี Starter Pack, $35/เดือนสำหรับ Unity Plus, $125/เดือนสำหรับ Unity Pro

เหมาะสำหรับ: เกือบทุกเกมอินดี้

ตัวอย่างเกม: , Galak-Z, ทางตะวันตกแห่งความชิงชัง, ​​Cuphead

Unity เป็นหนึ่งในแพลตฟอร์มชั้นนำสำหรับการพัฒนาเกมอินดี้ยอดนิยม และถึงแม้จะมีความสามารถด้าน 3D ที่น่าประทับใจ แต่ก็ยังผลิตเกม 2D ที่น่าทึ่งบางเกมอีกด้วย ความสามัคคีนั้นเรียนรู้ได้ยากกว่าเอนจิ้นอื่นๆ ในรายการนี้ แต่ชุมชนนักพัฒนาขนาดใหญ่และบทช่วยสอนมากมายที่มีให้ทางออนไลน์สามารถช่วยให้คุณเริ่มต้นได้

บนเว็บไซต์อย่างเป็นทางการของ Unity คุณจะพบส่วนเสริมพิเศษที่ให้คุณปรับแต่งเอ็นจิ้นสำหรับการพัฒนาเกม 2D ได้ ตัวอย่างเช่น ส่วนขยาย 2D Platformer ฟรีหรือเครื่องมืออย่าง Corgi Engine และ Rex Engine ซึ่งนำเสนอฟิสิกส์ของเกม การควบคุม และฟีเจอร์ที่ปรับแต่งมาสำหรับเกมแพลตฟอร์มโดยเฉพาะ

เราได้พูดคุยกับ Joseph Humphrey จาก inkle และ Victor Thompson จาก Asymmetric Publications ซึ่งพูดคุยเกี่ยวกับประสบการณ์ของพวกเขากับ Unity

ข้อดี

Thompson ซึ่งเคยสร้างเกมด้วยวิธีดั้งเดิมมาก่อน ได้กลายมาเป็นแฟนตัวยงของ Unity ซึ่งเป็นกลไกที่ใช้ในการสร้าง West of Loathing ที่เพิ่งเปิดตัวเมื่อเร็วๆ นี้ “หลังจากทำงานกับเครื่องยนต์นี้มา 2-3 ปี สิ่งที่ผมตื่นเต้นมากที่สุดก็คือความรวดเร็วในการรวบรวมแนวคิดและต้นแบบเข้าด้วยกัน” เขากล่าว “ฉันใช้เอ็นจิ้นต่างๆ มากมาย ทั้งตัวเล็กสำหรับโปรเจ็กต์ของฉันเองและตัวใหญ่สำหรับการพัฒนาเกม AAA แต่ Unity นั้นเป็นเอ็นจิ้นที่ดีที่สุดที่ฉันเคยเห็น เพราะมันทำให้ฉันมีประสิทธิผลมากที่สุด”

ข้อเสีย

อย่างไรก็ตาม หากคุณกำลังจะใช้แพลตฟอร์มเดียวสำหรับการพัฒนาทั้งหมดของคุณ คุณจะพบกับข้อจำกัดบางประการ หากคุณพบข้อบกพร่องใน Unity คุณจะต้องรอให้ผู้เขียนกลไกแก้ไข และการดำเนินการนี้อาจไม่รวดเร็วเสมอไป “แม้ว่าเครื่องยนต์จะบอกว่าการแก้ไขข้อบกพร่องเป็นสิ่งสำคัญที่สุด แต่นักพัฒนา inkle ยังคงถือว่าความเสถียรในการแก้ไขจุดบกพร่องเป็นหนึ่งในปัญหาหลักของเครื่องยนต์” Humphrey กล่าว

“ก่อนอื่นเลย พยายามสร้างภาพตอนจบเกมในหัวของคุณและมุ่งเน้นไปที่มัน เป้าหมายสุดท้ายของคุณไม่ควรเป็นประสบการณ์ที่ได้รับในกระบวนการ แต่เป็นผลงานที่สำเร็จแล้ว แน่นอนว่าการเรียนรู้บทเรียนหนึ่งหรือสองบทเรียนจากความล้มเหลวเป็นเรื่องดี แต่ฉันคิดว่ามันสำคัญกว่ามากในการตั้งเป้าหมาย เรียนรู้ทุกสิ่งที่คุณต้องทำเพื่อบรรลุเป้าหมายนั้น และท้ายที่สุดทำให้มันเกิดขึ้น" - วิกเตอร์ ทอมป์สัน จาก West of ความเกลียดชัง

เรน'ปี้

ค่าใบอนุญาต: ฟรี

เหมาะสำหรับ: นิยายภาพ 2 มิติ, สถานการณ์จำลอง

เข้ากันได้กับ: หลาม

ตัวอย่างเกม: Long Live the Queen, อะนาล็อก: เรื่องราวความเกลียดชัง

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

ข้อดี

“ลักษณะโอเพ่นซอร์สและข้ามแพลตฟอร์มของ Ren’Py มอบตัวเลือกมากมายสำหรับผู้ใช้เอนจิ้นทุกคน” Bensley กล่าว “ฉันยังคิดว่ามันเป็นข้อดีที่เอ็นจิ้นได้รับการออกแบบมาสำหรับผู้เริ่มต้น แต่ในขณะเดียวกันก็ต้องทำการเปลี่ยนแปลงโค้ดโปรแกรมของเกมด้วย ดีกว่าอินเทอร์เฟซแบบลากและวางแบบกราฟิก เพราะมันแสดงให้เห็นว่าการเขียนโปรแกรมไม่มีอะไรน่ากลัว"
Ren'Py เหมาะสำหรับคุณหากคุณกลัวโอกาสในการสร้างเกมตั้งแต่ต้น:

“หนึ่งในอุปสรรคที่ใหญ่ที่สุดที่คนส่วนใหญ่ไม่เคยทำงานในการพัฒนาเกมมาก่อนคือความเชื่อที่ว่าการเขียนโปรแกรมนั้น “ยากเกินไป” และดังนั้นจึงเกินความสามารถของพวกเขา และเอ็นจิ้นนี้ช่วยให้คุณสร้างเกมง่ายๆ ได้อย่างรวดเร็วและประสบความสำเร็จ ซึ่งสร้างความมั่นใจให้กับนักพัฒนามือใหม่ แม้ว่าพวกเขาจะไม่ได้วางแผนที่จะเผยแพร่นิยายภาพเพียงอย่างเดียวในอนาคตก็ตาม เมื่อคุณสร้างสิ่งที่คนอื่นสามารถเล่นได้ แม้แต่โปรเจ็กต์ง่ายๆ คุณก็จะไม่ตั้งคำถามถึงความสามารถของคุณอีกต่อไป”

ข้อเสีย

Ren'Py มีข้อจำกัดเล็กน้อยในแง่ของกราฟิกและฟีเจอร์การเล่นเกม หากคุณต้องการสร้างเกมที่มี 3D, Live2D, ระบบความเสียหาย และคุณสมบัติอื่น ๆ คุณควรมองหาตัวเลือกอื่น ๆ

หมึก

ค่าใบอนุญาต: ฟรี

เหมาะสำหรับ: เกมผจญภัยข้อความ

เรามีสติสัมปชัญญะด้วย: เอกภาพ, C#, HTML

ตัวอย่างเกม: 80 วัน เวทมนตร์!

Ink เป็นส่วนเสริมฟรีที่ดีสำหรับ Unity หากคุณต้องการเพิ่มสีสันให้กับเกมของคุณด้วยบทสนทนาและการเล่าเรื่องที่ขยายออกไป เรียนรู้ได้ง่าย ไม่ใช้โค้ดขั้นสูง และผสานรวมกับ Unity ได้อย่างราบรื่น ดังที่ผู้สร้างหมึก Joseph Humphrey กล่าว เอ็นจิ้นนี้เป็นเอ็นจิ้น "ระดับกลาง" - หลังจากสร้างสคริปต์ด้วยหมึกแล้ว ก็สามารถถ่ายโอนไปยังเกมที่ใหญ่กว่าได้โดยใช้เอ็นจิ้น Unity อย่างไรก็ตาม Inky Editor ยังให้คุณสร้างเกมบนเว็บได้

ข้อดี

การสร้างสคริปต์ขนาดใหญ่ที่มีเธรดบทสนทนาจำนวนมากอาจกลายเป็นเรื่องยุ่งวุ่นวายได้อย่างรวดเร็ว ดังนั้นหมึกจะช่วยให้คุณหลีกเลี่ยงการหลงทางในกระบวนการได้ “ผู้เขียนเกมสามารถใช้เครื่องมือของเอนจิ้นเพื่อสร้างบทสนทนาและข้อความในรูปแบบสคริปต์เชิงโต้ตอบที่ใช้งานง่ายพร้อมตัวชี้นำที่สำคัญ” ฮัมฟรีย์กล่าว “เอ็นจิ้นหมึกที่ทำงานใน Unity สามารถอ่านสคริปต์เหล่านี้และส่งออกข้อความไปยังหน้าจอภายในเกมได้”

โอเพ่นซอร์สมีบทบาทสำคัญในการพัฒนาโครงการที่มีความทะเยอทะยาน ฮัมฟรีย์ตั้งข้อสังเกตว่า “ข้อความที่สร้างขึ้นในเอ็นจิ้นหมึกไม่จำเป็นต้องแสดงเป็นข้อความเสมอไป ตัวอย่างเช่น ในเกม Heaven's Vault เอ็นจิ้นหมึกสร้างสถานการณ์แบบไดนามิกที่ตัวเกมตีความในรูปแบบของนิยายภาพเชิงโต้ตอบพร้อมองค์ประกอบการผจญภัย”

ink ยังเป็นเครื่องมือที่ยอดเยี่ยมสำหรับผู้ที่สนใจในการเขียนสคริปต์เกมมากกว่าการเขียนโปรแกรมเพียงอย่างเดียว “...จำนวนนักเขียนที่ใช้หมึกในการเขียนเรื่องราวเชิงโต้ตอบมีเพิ่มขึ้นอย่างต่อเนื่อง” ฮัมฟรีย์กล่าวเสริม “ที่ซึ่งน้ำมีรสชาติเหมือนไวน์ก็เป็นตัวอย่างหนึ่ง มันถูกสร้างขึ้นโดยผู้เขียนเกม Gone Home โดยใช้เอ็นจิ้นหมึก นักเขียนบทภาพยนตร์ชื่อดังอย่าง Lee Alexander, Emily Short และ Kara Ellison ทำงานในเกมนี้ ดังนั้นหากคุณสนุกกับการเขียนสคริปต์และสนใจในการพัฒนาเกม หมึกอาจเป็นจุดเริ่มต้นที่ดี”

ข้อเสีย

หมึกเหมาะที่สุดสำหรับเกมที่พัฒนาโดยใช้ Unity engine Humphrey กล่าวว่า "หมึกไม่ใช่ทางเลือกอื่นสำหรับ Unity แต่เป็นส่วนเสริมมากกว่า นอกจากนี้ Ink ยังเป็นเครื่องมือเขียนสคริปต์เชิงโต้ตอบเพียงเครื่องมือเดียวที่ถูกสร้างขึ้นโดยเจตนาเพื่อเป็นสื่อกลาง"

“คำแนะนำเดียวที่ฉันมีคือพยายามสร้างเกมเดโม หากคุณต้องการกรอกพอร์ตโฟลิโอของคุณซึ่งแสดงตัวอย่างสิ่งที่คุณทำได้ดี ตอนนี้ก็ถึงเวลาที่จะเริ่มกรอกพอร์ตโฟลิโอ สร้างตัวอย่างเหล่านี้!”

เมื่อต้นปี 2017 เราได้เขียนเกี่ยวกับการปรากฏตัวอย่างกะทันหันของ RPG Maker บนแพลตฟอร์ม Steam และวิธีที่เอนจิ้นได้รับความนิยมอย่างรวดเร็วในหมู่นักพัฒนาอินดี้มือใหม่ แต่มีเครื่องมืออื่น ๆ ที่ควรค่าแก่การใส่ใจ:

ฮากซ์เฟลิกซ์โอเพ่นซอร์สและข้ามแพลตฟอร์ม

ลายฉลุ– เครื่องมือสำหรับสร้างเกมโดยไม่ต้องใช้โปรแกรม

สร้าง- ฟรี ขึ้นอยู่กับ ไดเร็คเอ็กซ์9โปรแกรมสร้างเกมสำหรับ Windows ที่ออกแบบมาเพื่อการสร้างเกม 2D ใช้ระบบตามเหตุการณ์ที่สะดวกและเรียบง่าย ด้วยเครื่องมือนี้ คุณสามารถสร้างกฎเกณฑ์ที่เกมของคุณจะทำงานได้อย่างง่ายดาย

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

สร้างไม่ใช่โปรแกรมเชิงพาณิชย์และพัฒนาโดยอาสาสมัคร ตอนนี้คุณสามารถดาวน์โหลดโปรแกรมเวอร์ชันเต็มได้ฟรีโดยไม่ต้องมีหน้าต่าง โฆษณา หรือข้อจำกัดใดๆ ที่น่ารำคาญ โปรแกรมเวอร์ชันใช้งานได้เต็มรูปแบบนั้นฟรีอย่างแน่นอน!

ตัวฉันเอง สร้างเผยแพร่ภายใต้ใบอนุญาต GPL อย่างไรก็ตาม ใบอนุญาตนี้ใช้ไม่ได้กับงานใดๆ ที่สร้างขึ้นในโปรแกรม คุณสามารถแจกจ่ายและขายผลงานของคุณ (เกม โปรแกรม ฯลฯ) ที่สร้างขึ้นโดยใช้ สร้างและยังเผยแพร่เป็นแหล่งปิดอีกด้วย

นักออกแบบเกมอินดี้, ศิลปินหรือเพียงแค่ มือสมัครเล่นสามารถใช้ สร้างเพื่อสร้างโลกเสมือนจริงของคุณเองอย่างรวดเร็วและง่ายดายโดยไม่ต้องเขียนโปรแกรม ครูและนักเรียนสามารถใช้ สร้างเพื่อเรียนรู้หลักตรรกะอย่างสนุกสนาน นักพัฒนาสามารถใช้โปรแกรมเพื่อสร้างโครงร่างและต้นแบบได้อย่างรวดเร็วหรือเพียงเป็นทางเลือกในการเขียนโค้ดที่เร็วกว่า ไม่ว่าคุณจะเป็นใคร สร้างมีคุณสมบัติมากมายที่จะช่วยคุณแก้ปัญหาของคุณ

ด้านล่างนี้เป็นคำอธิบายทั่วไปเกี่ยวกับคุณสมบัติหลักของโปรแกรม สร้าง.

อินเทอร์เฟซ

อินเตอร์เฟซโปรแกรม สร้างมีแท็บต่างๆ มากมายที่ให้การเข้าถึงเครื่องมือที่หลากหลายได้อย่างรวดเร็ว อินเทอร์เฟซสามารถปรับแต่งได้อย่างเต็มที่ ดังนั้นคุณจึงสามารถจัดระเบียบใหม่ได้ตามที่คุณต้องการ

ประกอบด้วยแผงควบคุมโครงการ แท็บเลเยอร์ แท็บภาพเคลื่อนไหว และแผงคุณสมบัติ แผงเหล่านี้สามารถถอดออกและติดตั้งได้ทุกที่ที่สะดวกสำหรับคุณ เปลี่ยนขนาด และเปิดใช้งานการซ่อนอัตโนมัติ

เครื่องมือแก้ไขระดับเป็นภาพที่สมบูรณ์ สร้างขึ้นบนหลักการ WYSIWYG ซึ่งทำให้กระบวนการสร้างระดับเกมเป็นเรื่องง่ายและสนุกสนาน คุณสามารถดูเอฟเฟกต์ที่คุณเพิ่มแบบเรียลไทม์ หมุนและปรับขนาดวัตถุ และเปลี่ยนการตั้งค่าโปรเจ็กต์ได้ในแผงควบคุม คุณสมบัติ.

โปรแกรมยังมีโปรแกรมในตัวที่ให้คุณสร้างสไปรท์ ไอคอน และพื้นผิวสำหรับวัตถุในระดับนั้นได้ สามารถวางวัตถุบนเลเยอร์ต่างๆ ได้ ซึ่งช่วยให้คุณสร้างเอฟเฟกต์พารัลแลกซ์และปรับปรุงการจัดระเบียบระดับต่างๆ ได้

รายการกิจกรรม

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

เหตุการณ์ถูกสร้างขึ้นโดยการเลือกเงื่อนไขที่เป็นไปได้ มันง่ายมาก! ตัวอย่างเช่น คุณสร้างเงื่อนไข - เมื่อตัวละครของฉันแตะเหรียญทอง ตอนนี้คุณเลือกการกระทำสำหรับเงื่อนไขนี้แล้ว เช่น รับเหรียญและเพิ่ม 1,000 แต้มให้กับตัวละครของคุณ! รายการเหตุการณ์ได้รับการออกแบบให้มีความชัดเจนและใช้งานง่ายที่สุดเท่าที่จะเป็นไปได้ เพื่อให้คุณสามารถรับผลลัพธ์ได้ทันทีโดยไม่ต้องใช้ความพยายาม รายการกิจกรรมทั้งหมดสามารถจัดกลุ่ม คัดลอก ย้าย และแม้แต่ใช้ในระดับอื่นได้อย่างง่ายดาย ช่วยลดความยุ่งยากในการสร้างกิจกรรมใหม่อย่างต่อเนื่องในแต่ละระดับ

คุณสามารถลองใช้งานได้เลยในเวลาเพียง 5 นาทีแล้วดูว่าการทำงานในโปรแกรมนั้นง่ายแค่ไหน สร้าง.

วัตถุและพฤติกรรม

สร้างรวมถึง วัตถุมากกว่า 60 รายการและพฤติกรรมในตัว 20 รายการ- การใช้วัตถุเพื่อสร้างสไปรท์ ควบคุมเกม เล่นเพลง เสียง สร้างเอฟเฟกต์อนุภาค และอื่น ๆ อีกมากมาย

สถาปัตยกรรมของวัตถุ สร้างเปิดโอกาสให้นักพัฒนา C++ ที่สนใจโดยใช้ SDK สามารถเขียนและใช้เป็นออบเจ็กต์ได้ สร้างซึ่งช่วยให้คุณสามารถขยายขีดความสามารถของโปรแกรมได้อย่างไร้ขีดจำกัด

พฤติกรรมจะขยายขีดความสามารถของวัตถุทันที เช่น โดยการเพิ่มลักษณะการทำงานให้กับสไปรท์ แพลตฟอร์มคุณสามารถควบคุมมันได้ทันทีด้วยการวิ่งและกระโดดไปรอบ ๆ ด่าน คุณสามารถเปลี่ยนความเร็วในการวิ่ง ความแรงในการกระโดด ฯลฯ ได้อย่างง่ายดาย ซึ่งช่วยให้คุณปรับแต่งพฤติกรรมของตัวละครหรือวัตถุอื่น ๆ ในเกมได้อย่างสมบูรณ์ พฤติกรรมช่วยประหยัดเวลาเพราะช่วยให้คุณไม่ต้องสร้างกิจกรรมใหม่สำหรับงานเดียวกัน เช่น พฤติกรรม จางลงอนุญาตให้วัตถุใด ๆ หายไปหรือปรากฏในระดับเกมของคุณโดยอัตโนมัติ พฤติกรรมยังช่วยให้คุณควบคุมศัตรู สร้างแบบจำลองทางฟิสิกส์ที่สมจริง และอื่นๆ อีกมากมาย

เอฟเฟกต์และการแสดงภาพ

เมื่อคุณรันเกมที่คุณสร้างขึ้น การเรนเดอร์จะเกิดขึ้นโดยใช้ ไดเร็คเอ็กซ์9ด้วยการเร่งด้วยฮาร์ดแวร์ ซึ่งให้ประสิทธิภาพสูงสุดผ่านการใช้การ์ดแสดงผล และอนุญาตให้ใช้ตัวเชเดอร์พิกเซล

ใน สร้างมีอยู่ เอฟเฟกต์มากกว่า 50 รายการซึ่งคุณสามารถสร้างได้ การบิดเบือน, การผสม, เบลอ, เอฟเฟกต์คลื่นและเลนส์, มาสก์และอีกมากมาย คุณสามารถใช้เอฟเฟ็กต์กับวัตถุเฉพาะหรือแม้กระทั่งกับทั้งระดับได้ แต่ละเอฟเฟกต์มีการตั้งค่าที่ยืดหยุ่น ช่วยให้คุณสร้างเอฟเฟกต์พิเศษที่สวยงามและน่าประทับใจได้อย่างรวดเร็วและง่ายดาย

เกมปริศนาคริสต์มาส- การผจญภัยปีใหม่ในเกมไขปริศนาตรรกะประเภท Match-3 จาก แมรี่เจน- ในระยะเวลาที่กำหนด คุณจะต้องทำลายชิปทั้งหมดโดยวางชิป 3 อันขึ้นไปติดกัน กราฟิกและเสียงที่น่าทึ่งจะทำให้คุณติดอยู่กับหน้าจอเป็นเวลานาน เกมดังกล่าวมีเพียง 3 ระดับ ในตอนท้ายคุณจะเห็นสกรีนเซฟเวอร์ที่สวยงามและเจ๋ง!

โปรเจ็กต์สตาร์- เกมยิงอาร์เคดสุดคลาสสิกที่คุณควบคุมยานอวกาศขนาดเล็ก เกมดังกล่าวมีเพียง 1 ระดับซึ่งคุณจะต้องต่อสู้กับคู่ต่อสู้ 5 ประเภท เกมดังกล่าวสร้างขึ้นอย่างมีประสิทธิผลและมีชีวิตชีวา ไม่อนุญาตให้ผู้เล่นผ่อนคลาย และเพลงประกอบจะทำให้คุณดื่มด่ำกับบรรยากาศของเกมมากยิ่งขึ้น

บิ๊กบูม- พวกอันธพาลที่อันตรายที่สุดที่ถูกโค่นล้มคือการใช้เวลาอยู่ในเรือนจำกลางของเมือง "เอ็น" เขาควรจะมีชีวิตอยู่อย่างมีความสุขตลอดไป แต่ในวันเกิดปีถัดไป นักเลงจะได้รับเค้กที่มีระเบิดช็อคโกแลตอยู่บนหัวของเขา ยามโง่ ๆ ไม่รู้ด้วยซ้ำว่ามีระเบิดจริงอยู่ในเค้ก! กินเค้กเสร็จ โจรก็เอาระเบิดมา...

โจรสลัด- การผจญภัยในทะเลประเภท Arkanoid คุณควบคุมเรือที่มีหน้าที่ทำลายเรือโจรสลัด ในแต่ละระดับเกมจะยากขึ้นและศัตรูจะมีพฤติกรรมก้าวร้าวมากขึ้น โดยการทำลายเรือ คุณจะได้รับเหรียญและโบนัส เกมดังกล่าวมี 4 ระดับที่สว่างและไดนามิก หลังจากเสร็จสิ้นซึ่งคุณจะเห็นสกรีนเซฟเวอร์ที่สวยงาม!

ชุมชน

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

คุณสามารถเยี่ยมชมหน้าของเราที่เราเผยแพร่ข่าวสารล่าสุดทั้งหมดเกี่ยวกับโปรแกรม สร้างและไปที่ช่องวิดีโอของเรา ยูทูบเพื่อชมวิดีโอแนะนำ การสาธิตเกม และตัวอย่าง

สำหรับตอนนี้ สร้างอยู่ระหว่างการพัฒนา ดังนั้นคุณจึงสามารถช่วยทำให้ดีขึ้นได้โดยการรายงานปัญหาใดๆ ที่คุณพบขณะใช้งานโปรแกรม เพื่อให้นักพัฒนาทราบเกี่ยวกับปัญหาเหล่านั้นและสามารถแก้ไขได้

กรุณารายงานข้อบกพร่องใด ๆ ต่อเจ้าหน้าที่ (เว็บไซต์เป็นภาษาอังกฤษ)

ในตัวติดตามนี้ คุณสามารถติดตามประวัติข้อผิดพลาดทั้งหมดและจัดเก็บไว้ที่ส่วนกลางเพื่อไม่ให้ลืมการเปลี่ยนแปลงใดๆ ที่เกิดขึ้น หากต้องการรายงานข้อผิดพลาด คุณต้องสร้างบัญชีใน หากคุณเป็นผู้ใช้ที่ลงทะเบียน นักพัฒนาสามารถติดต่อคุณได้อย่างง่ายดายหากต้องการข้อมูลเพิ่มเติมเกี่ยวกับจุดบกพร่อง

ข้อควรสนใจ: ข้อความแสดงข้อผิดพลาดในตัวติดตาม SourceForge.net จะต้องเผยแพร่เป็นภาษาอังกฤษเท่านั้น!

นักพัฒนา สร้างใช้ข้อมูลที่คุณให้มาเพื่อแก้ไขข้อผิดพลาดที่คุณพบ รายงานข้อบกพร่องมักไม่ได้ให้ข้อมูลเพียงพอสำหรับนักพัฒนาในการแก้ไขปัญหา นั่นเป็นเหตุผล เป็นสิ่งสำคัญมากที่รายงานข้อผิดพลาดของคุณประกอบด้วยประเด็นต่อไปนี้:

  • อย่าลืมเพิ่มข้อความแสดงข้อผิดพลาดของคุณ .หมวกไฟล์ที่ มีปัญหาเกิดขึ้น- ควรเรียบง่ายที่สุดเท่าที่จะเป็นไปได้เพื่อให้คุณสามารถค้นหาและเข้าใจธรรมชาติของข้อผิดพลาดได้อย่างรวดเร็ว
  • เขียนลงในไฟล์ .cap ของคุณด้วย คำแนะนำทีละขั้นตอนเกี่ยวกับวิธีการทำให้เกิดปัญหานี้เพื่อให้นักพัฒนาสามารถติดตามการกระทำของคุณและดูว่าคุณเห็นอะไรเมื่อเกิดข้อผิดพลาด
  • ระบุ รุ่นของโครงสร้างที่คุณใช้อยู่ และหากเป็นไปได้ คุณลักษณะของการ์ดแสดงผลของคุณ (สำคัญโดยเฉพาะอย่างยิ่งเมื่อแก้ไขปัญหากราฟิกและการเรนเดอร์)

สำหรับตัวอย่างรายงานข้อบกพร่องที่ดี โปรดดูที่พฤติกรรม แพลตฟอร์ม (เว็บไซต์เป็นภาษาอังกฤษ).

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

หากคุณตัดสินใจที่จะเริ่มสร้างเกม คุณจะต้องค้นหาซอฟต์แวร์สำหรับการพัฒนาตัวเองอย่างแน่นอน เราได้คัดสรรโปรแกรมมาให้คุณสร้างเกมโดยไม่ต้องเขียนโปรแกรม

Game Maker เป็นโปรแกรมออกแบบที่เรียบง่ายสำหรับการสร้างเกม 2D และ 3D ช่วยให้คุณสร้างเกมสำหรับแพลตฟอร์มจำนวนมาก: Windows, iOS, Linux, Android, Xbox One และอื่น ๆ แต่เกมจะต้องได้รับการกำหนดค่าสำหรับแต่ละระบบปฏิบัติการ เนื่องจาก Game Maker ไม่รับประกันว่าเกมจะทำงานเหมือนกันทุกที่

ข้อดีของตัวสร้างคือมีสิ่งกีดขวางทางเข้าต่ำ ซึ่งหมายความว่าหากคุณไม่เคยพัฒนาเกมมาก่อน คุณสามารถดาวน์โหลด Game Maker ได้อย่างปลอดภัย โดยไม่จำเป็นต้องมีความรู้พิเศษในการเขียนโปรแกรม

คุณสามารถสร้างเกมโดยใช้ระบบการเขียนโปรแกรมด้วยภาพหรือใช้ภาษาการเขียนโปรแกรม GML ในตัว เราขอแนะนำให้คุณศึกษา GML เนื่องจากเกมช่วยเหลือมีความน่าสนใจและคุณภาพสูงกว่ามาก

กระบวนการสร้างเกมที่นี่ง่ายมาก: การสร้างสไปรท์ในตัวแก้ไข (คุณสามารถอัปโหลดภาพวาดสำเร็จรูปได้) การสร้างวัตถุที่มีคุณสมบัติต่างกัน และสร้างระดับ (ห้อง) ในตัวแก้ไข ความเร็วของการพัฒนาเกมบน Game Maker นั้นเร็วกว่าเอ็นจิ้นอื่นที่คล้ายคลึงกันมาก

ยูนิตี้ 3 มิติ

หนึ่งในเอ็นจิ้นเกมที่ทรงพลังและได้รับความนิยมมากที่สุดคือ Unity 3D ด้วยความช่วยเหลือนี้ คุณสามารถสร้างเกมที่มีความซับซ้อนและประเภทใดก็ได้ โดยใช้อินเทอร์เฟซการเขียนโปรแกรมแบบภาพเดียวกัน แม้ว่าในตอนแรกการสร้างเกมที่เต็มเปี่ยมบน Unity3D จะหมายถึงความรู้โดยนัยเกี่ยวกับภาษาการเขียนโปรแกรม เช่น JavaScript หรือ C# แต่ก็จำเป็นสำหรับโปรเจ็กต์ขนาดใหญ่

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

ข้ามแพลตฟอร์ม ความเสถียร ประสิทธิภาพสูง ส่วนต่อประสานที่ใช้งานง่าย - นี่เป็นเพียงรายการเล็ก ๆ ของข้อดีของเอนจิ้น Unity 3D ที่นี่คุณสามารถสร้างได้เกือบทุกอย่างตั้งแต่ Tetris ไปจนถึง GTA 5 แต่โปรแกรมนี้เหมาะที่สุดสำหรับนักพัฒนาเกมอินดี้

หากคุณตัดสินใจที่จะลงรายการเกมของคุณบน PlayMarket สำหรับอย่างอื่นที่ไม่ใช่เกมฟรี คุณจะต้องจ่ายเงินให้กับผู้พัฒนา Unity 3D ตามเปอร์เซ็นต์ของยอดขาย และสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์ โปรแกรมนี้ให้บริการฟรี

และกลับมาเป็นดีไซน์เนอร์อีกครั้ง! Clickteam Fusion เป็นโปรแกรมสำหรับสร้างเกม 2 มิติโดยใช้อินเทอร์เฟซแบบลากและวาง ที่นี่คุณไม่จำเป็นต้องเขียนโปรแกรม เพราะคุณจะประกอบเกมทีละชิ้นเหมือนชุดก่อสร้าง แต่คุณสามารถสร้างเกมได้ด้วยการเขียนโค้ดสำหรับแต่ละอ็อบเจ็กต์

ด้วยโปรแกรมนี้ คุณสามารถสร้างเกมที่ซับซ้อนและประเภทใดก็ได้ โดยควรมีภาพนิ่งจะดีกว่า นอกจากนี้ เกมที่สร้างขึ้นสามารถเปิดได้บนอุปกรณ์ใดก็ได้ เช่น คอมพิวเตอร์ โทรศัพท์ PDA ฯลฯ

แม้ว่าโปรแกรมจะดูเรียบง่าย แต่ Clickteam Fusion ก็มีเครื่องมือที่น่าสนใจและหลากหลายมากมาย มีโหมดทดสอบที่คุณสามารถตรวจสอบข้อผิดพลาดของเกมได้

Clickteam Fusion มีราคาไม่แพงเมื่อเทียบกับโปรแกรมอื่นๆ และคุณยังสามารถดาวน์โหลดเวอร์ชันสาธิตฟรีได้จากเว็บไซต์อย่างเป็นทางการอีกด้วย น่าเสียดายที่โปรแกรมนี้ไม่เหมาะสำหรับเกมขนาดใหญ่ แต่สำหรับอาร์เคดขนาดเล็กมันเหมาะสมแล้ว

อีกโปรแกรมที่ดีมากสำหรับการสร้างเกมสองมิติคือ Construct 2 คุณสามารถสร้างเกมสำหรับแพลตฟอร์มยอดนิยมและไม่เป็นที่นิยมได้โดยใช้การเขียนโปรแกรมด้วยภาพ

ด้วยอินเทอร์เฟซที่เรียบง่ายและใช้งานง่าย โปรแกรมนี้จึงเหมาะสำหรับผู้ใช้ที่ไม่เคยเกี่ยวข้องกับการพัฒนาเกมเลย นอกจากนี้ ผู้เริ่มต้นจะพบบทช่วยสอนและตัวอย่างเกมมากมายในโปรแกรม พร้อมคำอธิบายโดยละเอียดของกระบวนการทั้งหมด

นอกเหนือจากชุดปลั๊กอิน พฤติกรรม และเอฟเฟ็กต์ภาพมาตรฐานแล้ว คุณสามารถเพิ่มด้วยตัวเองโดยการดาวน์โหลดจากอินเทอร์เน็ต หรือหากคุณเป็นผู้ใช้ที่มีประสบการณ์ คุณสามารถเขียนปลั๊กอิน พฤติกรรม และเอฟเฟกต์ใน JavaScript ได้

แต่ที่มีข้อดีก็ต้องมีข้อเสียเช่นกัน ข้อเสียเปรียบหลักของ Construct 2 คือการส่งออกไปยังแพลตฟอร์มเพิ่มเติมนั้นดำเนินการโดยใช้โปรแกรมของบุคคลที่สามเท่านั้น

CryEngine เป็นหนึ่งในเอ็นจิ้นที่ทรงพลังที่สุดสำหรับการสร้างเกม 3 มิติ ซึ่งมีความสามารถด้านกราฟิกที่เหนือกว่าโปรแกรมที่คล้ายกันทั้งหมด ที่นี่เป็นที่ที่มีการสร้างเกมชื่อดังอย่าง Crysis และ Far Cry และทั้งหมดนี้เป็นไปได้โดยไม่ต้องเขียนโปรแกรม

ที่นี่คุณจะพบกับชุดเครื่องมือขนาดใหญ่มากสำหรับการพัฒนาเกม รวมถึงเครื่องมือที่นักออกแบบต้องการ คุณสามารถสร้างภาพร่างของโมเดลได้อย่างรวดเร็วในโปรแกรมแก้ไข หรือคุณสามารถไปยังสถานที่ได้ทันที

ระบบฟิสิกส์ใน EdgeEngin รองรับจลนศาสตร์แบบผกผันของตัวละคร ยานพาหนะ ฟิสิกส์ของวัตถุแข็งและอ่อน ของเหลว และเนื้อเยื่อ ดังนั้นวัตถุในเกมของคุณจะทำงานค่อนข้างสมจริง

แน่นอนว่า CryEngine นั้นเจ๋งมาก แต่ราคาของซอฟต์แวร์นี้ก็สอดคล้องกัน คุณสามารถตรวจสอบเวอร์ชันทดลองของโปรแกรมได้บนเว็บไซต์อย่างเป็นทางการ แต่เฉพาะผู้ใช้ขั้นสูงที่สามารถครอบคลุมค่าใช้จ่ายของซอฟต์แวร์เท่านั้นที่ควรซื้อ

Game Editor เป็นอีกหนึ่งผู้สร้างเกมในรายการของเราที่คล้ายกับ Game Maker แบบง่าย ที่นี่คุณสามารถสร้างเกม 2D ง่ายๆ ได้โดยไม่ต้องมีความรู้ด้านการเขียนโปรแกรมพิเศษใดๆ

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

นอกจากนี้ เมื่อใช้ Game Editor คุณสามารถสร้างเกมสำหรับทั้งคอมพิวเตอร์และโทรศัพท์ได้ ในการดำเนินการนี้ เพียงบันทึกเกมในรูปแบบที่ถูกต้อง

น่าเสียดายที่คุณไม่สามารถสร้างโปรเจ็กต์ขนาดใหญ่โดยใช้ Game Editor ได้ เนื่องจากจะต้องใช้เวลาและความพยายามอย่างมาก ข้อเสียอีกประการหนึ่งคือนักพัฒนาละทิ้งโครงการของตนและยังไม่มีการอัปเดต

และนี่คือคู่แข่งสำหรับ Unity 3D และ CryEngin - Unreal Development Kit นี่เป็นอีกเอ็นจิ้นเกมที่ทรงพลังสำหรับการพัฒนาเกม 3 มิติสำหรับแพลตฟอร์มยอดนิยมมากมาย เกมที่นี่ก็สามารถสร้างได้โดยไม่ต้องใช้ภาษาการเขียนโปรแกรม แต่เพียงกำหนดกิจกรรมสำเร็จรูปให้กับวัตถุ

แม้จะมีความยากลำบากในการเรียนรู้โปรแกรม แต่ Unreal Development Kit ก็มอบโอกาสอันยอดเยี่ยมในการสร้างเกมให้กับคุณ เราแนะนำให้คุณเรียนรู้วิธีใช้งานทั้งหมด โชคดีที่คุณจะพบเนื้อหามากมายบนอินเทอร์เน็ต

สำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์ คุณสามารถดาวน์โหลดโปรแกรมได้ฟรี แต่ทันทีที่คุณเริ่มได้รับเงินสำหรับเกม คุณจะต้องจ่ายดอกเบี้ยให้กับผู้พัฒนา ขึ้นอยู่กับจำนวนเงินที่ได้รับ

โครงการ Unreal Development Kit ไม่ได้หยุดนิ่งและนักพัฒนาก็โพสต์ส่วนเพิ่มเติมและอัปเดตเป็นประจำ นอกจากนี้ หากคุณมีปัญหาใด ๆ ในขณะที่ทำงานกับโปรแกรม คุณสามารถติดต่อฝ่ายบริการสนับสนุนบนเว็บไซต์ทางการ และพวกเขาจะช่วยเหลือคุณอย่างแน่นอน

Kodu Game Lab น่าจะเป็นตัวเลือกที่ดีที่สุดสำหรับผู้ที่เริ่มเข้าสู่การพัฒนาเกม 3D ต้องขอบคุณอินเทอร์เฟซที่มีสีสันและชัดเจน การสร้างเกมในโปรแกรมนี้จึงน่าสนใจและไม่ยากเลย โดยทั่วไปโครงการนี้ได้รับการพัฒนาเพื่อสอนเด็กนักเรียน แต่ก็ยังมีประโยชน์แม้กระทั่งกับผู้ใหญ่

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

คุณสมบัติพิเศษของ Code Game Lab คือเป็นโปรแกรมฟรีในภาษารัสเซีย และนี่เป็นสิ่งที่หาได้ยากในบรรดาโปรแกรมพัฒนาเกมที่จริงจัง นอกจากนี้ยังมีสื่อการเรียนรู้มากมายที่ทำในรูปแบบภารกิจที่น่าสนใจ

แต่ถึงโปรแกรมจะดีแค่ไหนก็มีข้อเสียเช่นกัน Kodu Game Lab นั้นเรียบง่าย ใช่แล้ว แต่ไม่มีเครื่องมือมากเท่าที่เราต้องการ สภาพแวดล้อมการพัฒนานี้ยังต้องการทรัพยากรระบบค่อนข้างมาก

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

นี่เป็นหนึ่งในไม่กี่โปรแกรมที่ให้บริการฟรีแม้จะใช้ในเชิงพาณิชย์ก็ตาม จำเป็นต้องซื้อเอ็นจิ้นเกมเกือบทั้งหมดหรือต้องหักเปอร์เซ็นต์ของรายได้ออก ใน 3D Rad คุณสามารถสร้างเกมประเภทใดก็ได้และสร้างรายได้จากเกมนั้น

สิ่งที่น่าสนใจคือใน 3D Rad คุณสามารถสร้างเกมที่มีผู้เล่นหลายคนหรือเกมเครือข่าย และแม้แต่ตั้งค่าการแชทในเกมได้ นี่ก็เป็นอีกหนึ่งคุณสมบัติที่น่าสนใจของโปรแกรมนี้

นักออกแบบยังทำให้เราพอใจกับคุณภาพของการสร้างภาพและกลไกทางฟิสิกส์อีกด้วย คุณสามารถปรับแต่งพฤติกรรมของวัตถุที่แข็งและอ่อนได้ และยังบังคับให้โมเดล 3 มิติสำเร็จรูปปฏิบัติตามกฎฟิสิกส์ด้วยการเพิ่มสปริง ข้อต่อ ฯลฯ เข้าไป

ด้วยความช่วยเหลือของโปรแกรมที่น่าสนใจและมีสีสันอีกตัวหนึ่ง - Stencyl คุณสามารถสร้างเกมที่สดใสและมีสีสันสำหรับแพลตฟอร์มยอดนิยมมากมาย โปรแกรมนี้ไม่มีข้อจำกัดประเภท ดังนั้นคุณจึงสามารถทำให้ไอเดียทั้งหมดของคุณเป็นจริงได้

Stencyl ไม่ใช่แค่ซอฟต์แวร์พัฒนาแอปพลิเคชัน แต่เป็นชุดเครื่องมือที่ทำให้การสร้างแอปพลิเคชันง่ายขึ้น ช่วยให้คุณมุ่งเน้นไปที่สิ่งที่สำคัญที่สุดได้ ในกรณีนี้ ไม่จำเป็นต้องเขียนโค้ดด้วยตัวเอง สิ่งที่คุณต้องทำก็แค่ย้ายบล็อกด้วยโค้ด ซึ่งจะเป็นการเปลี่ยนพฤติกรรมของตัวละครหลักของแอปพลิเคชันของคุณ

แน่นอนว่าเวอร์ชันฟรีของโปรแกรมนั้นค่อนข้างจำกัด แต่ก็ยังเพียงพอที่จะสร้างเกมเล็กๆ และน่าสนใจได้ นอกจากนี้คุณยังจะพบสื่อการเรียนรู้มากมายรวมถึงสารานุกรมวิกิอย่างเป็นทางการ - Stencylpedia

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



บทช่วยสอนนี้มีไว้สำหรับผู้ที่เพิ่งเริ่มพัฒนา Android เป็นหลัก แต่ก็อาจเป็นประโยชน์สำหรับนักพัฒนาที่มีประสบการณ์มากกว่าเช่นกัน ที่นี่เราจะบอกวิธีสร้างเกม 2D ง่ายๆ บน Android โดยไม่ต้องใช้เอ็นจิ้นเกมใดๆ ฉันใช้ Android Studio สำหรับสิ่งนี้ แต่สามารถใช้สภาพแวดล้อมการพัฒนาอื่น ๆ ที่กำหนดค่าไว้อย่างเหมาะสมได้

ขั้นตอนที่ 1 คิดไอเดียเกมขึ้นมา
ตัวอย่างเช่น ลองใช้แนวคิดที่ค่อนข้างง่าย:

ที่ด้านล่างของหน้าจอคือยานอวกาศ มันสามารถเลื่อนไปทางซ้ายและขวาได้โดยการกดปุ่มที่เกี่ยวข้อง ดาวเคราะห์น้อยเคลื่อนที่ในแนวตั้งลงมาจากด้านบน ปรากฏทั่วทั้งความกว้างของหน้าจอและเคลื่อนที่ด้วยความเร็วที่ต่างกัน เรือจะต้องหลบอุกกาบาตให้นานที่สุด หากอุกกาบาตโดน เกมจะจบลง


ขั้นตอนที่ 2 สร้างโครงการ
ใน Android Studio ให้เลือกไฟล์ > ใหม่ > โครงการใหม่จากเมนูด้านบน

ที่นี่เราป้อนชื่อแอปพลิเคชัน โดเมน และเส้นทาง คลิกถัดไป

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

ที่นี่เราต้องเลือกกิจกรรมที่ว่างเปล่า และคลิกถัดไป

ที่นี่เราปล่อยให้ทุกอย่างเหมือนเดิมแล้วคลิกเสร็จสิ้น จึงมีการสร้างโครงการขึ้น เรามาดูขั้นตอนที่สามกันดีกว่า

ขั้นตอนที่ 3 เพิ่มรูปภาพ

ขั้นตอนที่ 5 แก้ไขคลาส MainActivity

ก่อนอื่น ให้เพิ่ม Implements View.OnTouchListener ให้กับคำจำกัดความของคลาส คำจำกัดความของคลาสจะเป็นดังนี้:

MainActivity คลาสสาธารณะขยาย AppCompatActivity ใช้งาน View.OnTouchListener (
มาเพิ่มตัวแปรคงที่ (ตัวแปรคลาส) ที่เราต้องการในคลาส:

บูลีนคงที่สาธารณะ isLeftPressed = false; // กดปุ่มซ้ายสาธารณะบูลีนคงที่ isRightPressed = false; // กดปุ่มขวา
ในขั้นตอนการป้องกันเป็นโมฆะ onCreate (Bundle saveInstanceState) (
เพิ่มบรรทัด:

GameView gameView = GameView ใหม่ (สิ่งนี้); // สร้าง gameView LinearLayout gameLayout = (LinearLayout) findViewById(R.id.gameLayout); // ค้นหา gameLayout gameLayout.addView(gameView); // และเพิ่มปุ่ม gameView ลงไป leftButton = (ปุ่ม) findViewById(R.id.leftButton); // ค้นหาปุ่มต่างๆ Button rightButton = (ปุ่ม) findViewById(R.id.rightButton); leftButton.setOnTouchListener (นี้); // และเพิ่มคลาสนี้เป็นผู้ฟัง (onTouch จะทำงานเมื่อกด) rightButton.setOnTouchListener(this);
คลาส LinearLayout, ปุ่ม ฯลฯ ถูกเน้นด้วยสีแดงเนื่องจากยังไม่ได้เพิ่มในการนำเข้า
หากต้องการเพิ่มและลบการไฮไลต์สีแดงเพื่อนำเข้า คุณต้องกด Alt+Enter สำหรับแต่ละรายการ
GameView จะถูกเน้นด้วยสีแดงเนื่องจากคลาสนี้ยังไม่มีอยู่ เราจะสร้างมันขึ้นมาในภายหลัง

ตอนนี้เราเพิ่มขั้นตอน:

บูลีนสาธารณะ onTouch(ปุ่มดู, การเคลื่อนไหว MotionEvent) ( switch(button.getId()) ( // กำหนดว่าปุ่มไหนเป็นตัวพิมพ์ R.id.leftButton: switch (motion.getAction()) ( // กำหนดว่ากดหรือปล่อยหรือไม่ case MotionEvent.ACTION_DOWN: isLeftPressed = true; break; case MotionEvent.ACTION_UP: isLeftPressed = false; break; case R.id.rightButton: สวิตช์ (motion.getAction()) ACTION_DOWN: isRightPressed = จริง; ตัวพิมพ์เล็ก MotionEvent.ACTION_UP: isRightPressed;
ถ้าใครสับสน? นี่คือสิ่งที่คลาส MainActivity ผลลัพธ์ควรมีลักษณะดังนี้:

แพ็คเกจ com.spaceavoider.spaceavoider; นำเข้า android.support.v7.app.AppCompatActivity; นำเข้า android.os.Bundle; นำเข้า android.view.MotionEvent; นำเข้า android.view.View; นำเข้า android.widget.Button; นำเข้า android.widget.LinearLayout; MainActivity คลาสสาธารณะขยาย AppCompatActivity ใช้งาน View.OnTouchListener ( บูลีนคงที่สาธารณะ isLeftPressed = false; // กดปุ่มซ้าย บูลีนคงที่สาธารณะ isRightPressed = false; // กดปุ่มขวา @Override ป้องกันโมฆะ onCreate (Bundle saveInstanceState) ( super.onCreate( saveInstanceState) ; setContentView(R.layout.activity_main); GameView gameView = new GameView(นี่); // สร้าง gameView LinearLayout gameLayout = (LinearLayout) findViewById(R.id.gameLayout); ; / และเพิ่มปุ่ม gameView leftButton = (ปุ่ม) findViewById(R.id.leftButton); // ค้นหาปุ่ม ปุ่ม rightButton = (ปุ่ม) findViewById(R.id.rightButton); leftButton.setOnTouchListener(สิ่งนี้); คลาสนี้ในฐานะผู้ฟัง (เมื่อกด onTouch จะทำงาน) rightButton.setOnTouchListener(นี่); บูลีนสาธารณะ onTouch(ปุ่มดู, การเคลื่อนไหว MotionEvent) ( switch(button.getId()) ( // กำหนดตัวพิมพ์ของปุ่ม R.id. leftButton : switch (motion.getAction()) ( // กำหนดว่ากดหรือปล่อย case MotionEvent.ACTION_DOWN: isLeftPressed = true;
ดังนั้นคลาส MainActivity พร้อมแล้ว! มันเริ่มต้นคลาส GameView ที่ยังไม่ได้สร้าง และเมื่อกดปุ่มซ้าย ตัวแปรคงที่คือLeftPressed = true และเมื่อกดปุ่มขวา isRightPressed = true นั่นคือทั้งหมดที่เขาทำ

ขั้นแรก ตรวจสอบให้แน่ใจว่ายานอวกาศปรากฏบนหน้าจอ และยานอวกาศจะเคลื่อนที่เมื่อกดปุ่มควบคุม เราจะออกจากดาวเคราะห์น้อยในภายหลัง

ขั้นตอนที่ 6: สร้างคลาส GameView

ในที่สุดเรามาสร้างคลาส GameView ที่ขาดหายไปกันดีกว่า มาเริ่มกันเลย มาเพิ่มส่วนขยาย SurfaceView ที่ใช้ Runnable ให้กับคำจำกัดความของคลาส อุปกรณ์เคลื่อนที่มีความละเอียดหน้าจอที่แตกต่างกัน อาจเป็นโทรศัพท์เครื่องเก่าขนาดเล็กที่มีความละเอียด 480x800 หรือแท็บเล็ตขนาดใหญ่ที่มีความละเอียด 1800x2560 เพื่อให้เกมมีลักษณะเหมือนกันในทุกอุปกรณ์ ฉันแบ่งหน้าจอออกเป็น 20 ส่วนในแนวนอนและ 28 ส่วนในแนวตั้ง ฉันเรียกหน่วยวัดผลลัพธ์เป็นหน่วย คุณสามารถเลือกหมายเลขอื่นได้ สิ่งสำคัญคือความสัมพันธ์ระหว่างพวกเขาจะถูกรักษาไว้โดยประมาณไม่เช่นนั้นภาพจะยาวหรือบีบอัด

สาธารณะคงที่ int maxX = 20; // ขนาดแนวนอนสาธารณะคงที่ int maxY = 28; // หน่วยลอยคงที่สาธารณะขนาดแนวตั้ง W = 0; // พิกเซลต่อหน่วยหน่วยลอยคงที่สาธารณะในแนวนอนH = 0; // พิกเซลต่อหน่วยในแนวตั้ง
เราจะคำนวณ unitW และ unitW ในภายหลัง เราต้องการตัวแปรอื่นด้วย:

บูลีนส่วนตัว firstTime = จริง; เกมบูลีนส่วนตัวRunning = true; เรือส่วนตัว เรือ; gameThread เธรดส่วนตัว = null; สีทาส่วนตัว ผ้าใบแคนวาสส่วนตัว SurfaceHolder ส่วนตัว SurfaceHolder;
ตัวสร้างจะเป็นดังนี้:

Public GameView(บริบทบริบท) ( super(บริบท); // เตรียมใช้งานวัตถุสำหรับการวาดภาพ surfaceHolder = getHolder(); paint = new Paint(); // เตรียมใช้งานเธรด gameThread = new Thread(this); gameThread.start(); )
เมธอด run() จะมีวงวนไม่สิ้นสุด ที่จุดเริ่มต้นของลูป เมธอด update() จะถูกดำเนินการ
ซึ่งจะคำนวณพิกัดใหม่ของเรือ จากนั้นวิธี Draw() จะดึงเรือบนหน้าจอ และในตอนท้าย เมธอด control() จะหยุดชั่วคราวเป็นเวลา 17 มิลลิวินาที หลังจากผ่านไป 17 มิลลิวินาที run() จะทำงานอีกครั้ง และต่อไปเรื่อย ๆ จนกระทั่งตัวแปร gameRunning == true เหล่านี้คือวิธีการ:

@แทนที่ public void run() ( while (gameRunning) ( update(); Draw(); control(); ) ) private void update() ( if(!firstTime) ( ship.update(); ) ) private void Draw () ( if (surfaceHolder.getSurface().isValid()) ( //ตรวจสอบว่าพื้นผิวถูกต้องหรือไม่ถ้า(firstTime)( // การเริ่มต้นในการเปิดตัวครั้งแรก firstTime = false; unitW = surfaceHolder.getSurfaceFrame().width() /maxX ; // คำนวณจำนวนพิกเซลในหน่วย unitH = surfaceHolder.getSurfaceFrame().height()/maxY; ship = new Ship(getContext()); // เพิ่ม ship ) canvas = surfaceHolder.lockCanvas() ; .drawColor(Color.BLACK); // เติมพื้นหลังด้วย ship.drow สีดำ (สี, ผ้าใบ); // วาด surfaceHolder.unlockCanvasAndPost (ผ้าใบ) ) // หยุดชั่วคราวเป็นเวลา 17 มิลลิวินาที ลอง ( gameThread.sleep(17); ) catch (InterruptedException e) ( e.printStackTrace(); ) )
ให้ความสนใจกับการเริ่มต้นเมื่อคุณเริ่มต้นครั้งแรก ที่นั่นเราคำนวณจำนวนพิกเซลในหน่วยและเพิ่มยาน เรายังไม่ได้สร้างเรือเลย แต่ก่อนอื่นเราจะสร้างคลาสพาเรนต์ของมันขึ้นมา

ขั้นตอนที่ 7 สร้างคลาส SpaceBody

มันจะเป็นผู้ปกครองของคลาสเรือและดาวเคราะห์น้อย มันจะมีตัวแปรและวิธีการทั้งหมดที่ใช้กันในคลาสทั้งสองนี้ การเพิ่มตัวแปร:

ป้องกันลอย x; // พิกัดป้องกันลอย y; ขนาดลูกลอยที่มีการป้องกัน // ขนาดความเร็วลอยป้องกัน; // ป้องกันความเร็ว int bitmapId; // รหัสรูปภาพป้องกันบิตแมปบิตแมป; // รูปภาพ
และวิธีการ

เป็นโมฆะ init(บริบทบริบท) ( // บีบอัดรูปภาพให้มีขนาดที่ต้องการ บิตแมป cBitmap = BitmapFactory.decodeResource(context.getResources(), bitmapId); bitmap = Bitmap.createScaledBitmap(cBitmap, (int)(size * GameView.unitW) , ( int)(size * GameView.unitH), false); cBitmap.recycle(); void update())( // พิกัดใหม่จะถูกคำนวณที่นี่ ) void drow(Paint paint, Canvas canvas)( // Draw a รูปภาพ canvas.drawBitmap (บิตแมป, x*GameView.unitW, y*GameView.unitH, สี);
ขั้นตอนที่ 8 สร้างคลาส Ship

ตอนนี้เรามาสร้างคลาส Ship กันดีกว่า มันสืบทอดคลาส SpaceBody ดังนั้นเราจะเพิ่มส่วนขยาย SpaceBody ให้กับคำจำกัดความของคลาส

มาเขียนคอนสตรัคเตอร์:

เรือสาธารณะ(บริบทบริบท) ( bitmapId = R.drawable.ship; // กำหนดพารามิเตอร์เริ่มต้น size = 5; x=7; y=GameView.maxY - size - 1; speed = (float) 0.2; init(context) ; // เริ่มต้นเรือ)
และแทนที่เมธอด update()

@Override public void update() ( // ย้ายเรือขึ้นอยู่กับปุ่มที่กด if(MainActivity.isLeftPressed && x >= 0)( x -= speed; ) if(MainActivity.isRightPressed && x<= GameView.maxX - 5){ x += speed; } }
ด้วยเหตุนี้ยานอวกาศจึงพร้อม! เรารวบรวมทุกอย่างและรันมัน ยานอวกาศควรปรากฏบนหน้าจอ เมื่อคุณกดปุ่มมันควรจะเลื่อนไปทางซ้ายและขวา ตอนนี้เราเพิ่มดาวเคราะห์น้อยที่ตกลงมาจากด้านบน หากคุณชนกับเรือ เกมจะจบลง

ขั้นตอนที่ 9 สร้างคลาสดาวเคราะห์น้อย

มาเพิ่มคลาสดาวเคราะห์น้อยกันเถอะ นอกจากนี้ยังสืบทอดคลาส SpaceBody ด้วย ดังนั้นเราจะเพิ่มส่วนขยาย SpaceBody ให้กับคำจำกัดความของคลาส

มาเพิ่มตัวแปรที่เราต้องการ:

รัศมี int ส่วนตัว = 2; // รัศมีส่วนตัวลอย minSpeed ​​\u003d (ลอย) 0.1; // ความเร็วต่ำสุดส่วนตัวโฟลต maxSpeed ​​= (โฟลต) 0.5; // ความเร็วสูงสุด
ดาวเคราะห์น้อยควรปรากฏที่จุดสุ่มที่ด้านบนของหน้าจอและบินลงมาด้วยความเร็วสุ่ม เมื่อต้องการทำเช่นนี้ x และความเร็วจะถูกระบุโดยใช้ตัวสร้างตัวเลขสุ่มในตัวสร้าง

ดาวเคราะห์น้อยสาธารณะ(บริบทบริบท) ( Random Random = new Random(); bitmapId = R.drawable.asteroid; y=0; x = Random.nextInt(GameView.maxX) - radius; size = radius*2; speed = minSpeed ​​​​+ (maxSpeed ​​​​- ความเร็วขั้นต่ำ) * Random.nextFloat();
ดาวเคราะห์น้อยจะต้องเคลื่อนตัวลงในแนวตั้งด้วยความเร็วที่แน่นอน ดังนั้นในเมธอด update() เราจึงเพิ่มความเร็วให้กับพิกัด x

@Override การอัปเดตโมฆะสาธารณะ () ( y += ความเร็ว; )
นอกจากนี้เรายังต้องมีวิธีการในการพิจารณาว่าดาวเคราะห์น้อยชนกับเรือหรือไม่

isCollision บูลีนสาธารณะ (float shipX, float shipY, float shipSize) ( return !(((x+size)< shipX)||(x >(shipX+ขนาดจัดส่ง))||((y+size)< shipY)||(y >(shipY+ขนาดเรือ))); -
เรามาดูกันดีกว่า เพื่อความง่าย เราจะถือว่าเรือและดาวเคราะห์น้อยเป็นสี่เหลี่ยมจัตุรัส ที่นี่ฉันไปจากฝั่งตรงข้าม นั่นคือ ฉันพิจารณาว่าเมื่อใดที่ช่องสี่เหลี่ยมไม่ตัดกัน

((x+ขนาด)< shipX) - корабль слева от астероида.
(x > (shipX+shipSize)) - เรือทางด้านขวาของดาวเคราะห์น้อย
((y+ขนาด)< shipY) - корабль сверху астероида.
(y > (shipY+shipSize)) - จัดส่งจากใต้ดาวเคราะห์น้อย

ระหว่างสี่สำนวนนี้คือ || (หรือ). นั่นคือ ถ้าอย่างน้อยหนึ่งนิพจน์เป็นจริง (ซึ่งหมายความว่ากำลังสองไม่ตัดกัน) ผลลัพธ์ที่ได้ก็จะเป็นจริงเช่นกัน

ฉันกลับสีหน้าทั้งหมดนี้ด้วยเครื่องหมาย!. เป็นผลให้เมธอดคืนค่าเป็นจริงเมื่อกำลังสองตัดกัน ซึ่งเป็นสิ่งที่เราต้องการ

คุณสามารถอ่านเกี่ยวกับการกำหนดจุดตัดของตัวเลขที่ซับซ้อนมากขึ้นได้

ขั้นตอนที่ 10 เพิ่มดาวเคราะห์น้อยใน GameView

เพิ่มตัวแปรให้กับ GameView:

รายการอาร์เรย์ส่วนตัว ดาวเคราะห์น้อย = ArrayList ใหม่<>- // ดาวเคราะห์น้อยจะถูกเก็บไว้ที่นี่ ส่วนตัวสุดท้าย int ASTEROID_INTERVAL = 50; // เวลาที่ดาวเคราะห์น้อยปรากฏขึ้น (ในการวนซ้ำ) private int currentTime = 0;
นอกจากนี้เรายังเพิ่ม 2 วิธี:

Private void checkCollision())( // ผ่านดาวเคราะห์น้อยทั้งหมดและตรวจสอบว่ามีหนึ่งในนั้นสัมผัสกับเรือหรือไม่ (Asteroid asteroid: asteroids) ( if(asteroid.isCollision(ship.x, ship.y, ship.size)) ( // ผู้เล่นแพ้ gameRunning = false; // หยุดเกม // TODO เพิ่มแอนิเมชั่นการระเบิด ) ) ) โมฆะส่วนตัว checkIfNewAsteroid() ( // ทุกๆ 50 รอบจะเพิ่มดาวเคราะห์น้อยใหม่ if(currentTime >= ASTEROID_INTERVAL)( Asteroid asteroid = ดาวเคราะห์น้อยใหม่(getContext() ); asteroids.add(asteroid); currentTime = 0; )else( currentTime ++; )
และในเมธอด run() เราจะเพิ่มการเรียกให้กับเมธอดเหล่านี้ก่อนการเรียก control()

@Override public void run() ( while (gameRunning) ( update(); Draw(); checkCollision(); checkIfNewAsteroid(); control(); ) )
ต่อไป ในเมธอด update() เราจะเพิ่มลูปที่วนซ้ำดาวเคราะห์น้อยทั้งหมดและเรียกเมธอด update() กับพวกมัน

การอัปเดตเป็นโมฆะส่วนตัว() ( if(!firstTime) ( ship.update(); for (Asteroid asteroid: asteroids) ( asteroid.update(); ) ) )
เราเพิ่มการวนซ้ำเดียวกันให้กับเมธอด Draw()

Private void Draw() ( if (surfaceHolder.getSurface().isValid()) ( //ตรวจสอบว่าพื้นผิวถูกต้องหรือไม่ถ้า(firstTime)( // การเริ่มต้นในการเปิดตัวครั้งแรก firstTime = false; unitW = surfaceHolder.getSurfaceFrame() width( )/maxX; // คำนวณจำนวนพิกเซลในหน่วย unitH = surfaceHolder.getSurfaceFrame().height()/maxY; ship = new Ship(getContext()); // เพิ่ม ship ) canvas = surfaceHolder lockCanvas(); ปิด canvas.drawColor(Color.BLACK); // เติมพื้นหลังด้วย ship.drow สีดำ (สี, ผืนผ้าใบ); // วาดเรือสำหรับ (Asteroid asteroids: asteroids)( // วาดดาวเคราะห์น้อย asteroid.drow (สี, ผ้าใบ); ) surfaceHolder.unlockCanvasAndPost (ผ้าใบ);
แค่นั้นแหละ! เกม 2D ที่ง่ายที่สุดพร้อมแล้ว มาคอมไพล์รันและดูว่าเกิดอะไรขึ้น!
หากใครสับสนหรือทำอะไรไม่ได้ก็สามารถดาวน์โหลดซอร์สได้

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

นั่นคือทั้งหมดที่ เขียนบทวิจารณ์ คำถาม หัวข้อที่คุณสนใจเพื่อดำเนินการต่อ