2D Game DevelopmentDeveloperFeaturedGame DevelopmentGame DevelopmentiOS DeveloperObjective CProgramming Language

เขียนเกมบน iPhone พัฒนาเกมด้วย SpriteKit หรือ Cocos2D อันไหนดีกว่ากัน?

ช่วงหลังเน้นหนักไปนิดในเรื่องของ Mobile Game บน iOS ก็เลยคิดว่าจะลองวิเคราะห์ความแตกต่างระหว่าง Cocos2D และ SpriteKit ไหนดีกว่ากัน ครับ ก็เลยไปหาข้อสรุปมา

สำหรับ iOS Developer ทุกคนที่กำลังเริ่มต้นพัฒนาเกมครับ ก็จะทราบดีว่าเครื่องมือมากมายในการพัฒนาเกมนั้นมีหลายตัว โดยเฉพาะ 2D เกมครับ ก็จะมีตัวฟรีเด่นๆ คือ Cocos2D และสิ่งที่มากับ iOS7 อย่าง SpriteKit ครับ

ผมเองก็มี Tutorial ของการพัฒนาเกมจากทั้ง 2 Framework นี้อยู่เหมือนกัน คือ

และ

จะเห็นว่าโดยส่วนตัวผมมองว่า SpriteKit นั้นเขียนง่ายกว่า Cocos2D ครับเพราะใช้ภาษาที่ใกล้เคียงกับ Objective C ต่างกับ Cocos2D ที่ออกไปเชิง C++ และ Java ซะมากกว่า แต่บางครั้งมันก็จะเจอบางสิ่งที่ขัดใจเหมือนกัน ก็เลยมาลองวิเคราะห์เครื่องมือกันดูครับ

เกม Chroma Squad โดย Behold Studio กำลังพัฒนาบน iOS และ Android
เกม Chroma Squad โดย Behold Studio กำลังพัฒนาบน iOS และ Android
Scrolls ของทีม Mojang ที่กำลังพัฒนาลง iOS และ Android
Scrolls ของทีม Mojang ที่กำลังพัฒนาลง iOS และ Android

ข้อดีของการใช้ Native Framework อย่าง SpriteKit
เรื่องการรองรับ และประสิทธิภาพของการทำงานของเกม ที่ปราศจากการ Lack ใดๆครับ และไม่ต้องกังวลในเรื่องการเปลี่ยน OS Version ของเจ้า iOS ทีเปลี่ยนบ่อย เสียเหลือเกิน ต่างกับ Cocos2D ที่จะต้องมีการ Integrate กันเล็กน้อยกับเวอร์ชันของ OS ครับ

กลายเป็นว่าข้อดีสุดๆ ของ SpriteKit ก็คือ

  • ความเป็น Native Framework เรื่องของ Performance นั้นไม่ต้องห่วง
  • ใช้งานง่าย ไม่ต้องจำภาษาที่แตกต่างจาก Objective C
  • มีการดึงประสิทธิภาพการประมวลผลกราฟิกผ่าน Core Image เลย
  • มี Physics Simulation ให้ใช้

ข้อเสียของ SpriteKit คือ

  • มันไม่ใช่ Open Source เพราะมันมากับ XCode 5 และ iOS7 มันจะ Port ไปแพลตฟอร์มอื่นไม่ได้
  • มันเล่นได้แค่ iOS7 เป็นต้นไป
  • เรื่องของ Shaders และ Camera หากทำเกม 2.5D จะลำบาก

ทีนี้มาดูฝั่ง Cocos2D ครับ Framework ที่กึ่งๆ 3rd Party ตัวนี้นั้นมีอะไรดีบ้าง

  • ความเป็น Open Source ที่ทำงานได้ทั้งบนแพลตฟอร์มของ iOS และ Android ช่วงหลังมี Cocos2D-X มาร่วมอีก
  • เรื่องของ Shaders และ Camera หายห่วง มี Tutorial มากมายที่พิสูจน์เรื่องนี้
  • มีตัวอย่างให้ศึกษาเยอะกว่า SpriteKit และรองรับ iOS เวอร์ชันก่อนหน้า iOS7 ด้วย
  • เรื่องกราฟิกอาจจะไม่ดีเท่า SpriteKit แต่ก็ใช้ง่ายกว่า OpenGL

ข้อเสียของ Cocos2D คือ

  • Syntax ที่ไม่เกี่ยวกับ Native ของ Objective C เลย
  • Physic Simulation นั้นต้องใช้ Template ของ Chipmunk หรือ Box2D ตั้งแต่แรกเริ่มก่อนพัฒนา
เกม Death Road to Canada โปรเจ็ค Kickstarter ของทีม Madgarden and RocketCat เตรียมลง iOS
เกม Death Road to Canada โปรเจ็ค Kickstarter ของทีม Madgarden and RocketCat เตรียมลง iOS

ดังนั้น การวางแผนพัฒนาเกมนั้น เราจะเลือกอะไรดี ระหว่าง SpriteKit และ Cocos2D

ให้มองว่า สเกล และแพลตฟอร์มเป็นตัวเลือกครับ ถ้ามีการวางแผนจะขยายข้ามแพลตฟอร์มแนะนำว่า Cocos2D และเป็นเกมขนาดใหญ่ๆ แต่ไฟล์ไม่ใช่ ส่วน SpriteKit นั้นถ้าเป็นเกมเล็กๆ หรือขนาดใหญ่ไฟล์จะใหญ่มาก และไม่สามารถข้ามแพลตฟอร์มได้นอกเหนือจาก iOS อย่างเดียว

ก็จะทราบแนวทางการเลือกพัฒนาแล้วนะครับ 😀 ว่าจะเลือกใช้อะไรดี ในการเริ่มต้น

Asst. Prof. Banyapon Poolsawas

อาจารย์ประจำสาขาวิชาการออกแบบเชิงโต้ตอบ และการพัฒนาเกม วิทยาลัยครีเอทีฟดีไซน์ & เอ็นเตอร์เทนเมนต์เทคโนโลยี มหาวิทยาลัยธุรกิจบัณฑิตย์ ผู้ก่อตั้ง บริษัท Daydev Co., Ltd, (เดย์เดฟ จำกัด)

Related Articles

Back to top button

Adblock Detected

เราตรวจพบว่าคุณใช้ Adblock บนบราวเซอร์ของคุณ,กรุณาปิดระบบ Adblock ก่อนเข้าอ่าน Content ของเรานะครับ, ถือว่าช่วยเหลือกัน