ฉันเคยทำงานกับ Unity3d มานานแล้วและพบว่ามันเป็นส่วนหนึ่งของ 2D กับ OnGUI () หรือ GUITextures เงอะงะเกินไป ยิ่งไปกว่านั้นเกมที่เล็กที่สุดใน Unity3d ยังดาวน์โหลดอย่างน้อย 10MB ซึ่งมากเกินไปสำหรับเกม 2D
ดังนั้นฉันกำลังมองหาเครื่องมือสำหรับ 2D ฉันได้ลอง Cocos2D แต่เป็น iOS เท่านั้นและฉันไม่ต้องการเขียนทุกอย่างเป็นภาษาอื่นสำหรับ Android (เช่นเช่นพอร์ต Java ของ Cocos2d สำหรับ Android ไม่ใช่ตัวเลือก) ฉันต้องการเขียนโค้ดเพียงครั้งเดียวและอย่างน้อยที่สุดก็ติดตั้งลงบน iOS, Android และ Windows Phone 7 ได้ฉันมีทั้ง Mac และ Windows
เพื่อให้มีรายละเอียดมากขึ้นต่อไปนี้เป็นข้อกำหนดสำหรับเครื่องยนต์ของฉัน:
- จะต้องข้ามแพลตฟอร์ม
- จะต้องมีประสิทธิภาพ
- ควรเป็น C ++, Java, C # หรือ Objective C เนื่องจากฉันพอใจกับมันและไม่ใช่ Flash, Javascript, HTML5 เนื่องจากฉันไม่ใช่นักพัฒนาเว็บ
- ต้องมีชุมชนขนาดใหญ่แบบฝึกหัดห้องสมุดเพิ่มเติมซึ่งครอบคลุมเนื้อหาส่วนใหญ่ที่คุณมีเมื่อพัฒนาบน iOS หรือ Android โดยตรง (การเรียกเก็บเงินในแอป Facebook ฯลฯ )
- แพ็คเกจที่ส่งมอบครั้งสุดท้ายจะต้องไม่ใหญ่เกินไป
- เครื่องยนต์ฟรี แต่ฉันก็ไม่รังเกียจที่จะจ่ายราคาที่สมเหตุสมผล
ฉันพบเครื่องมือต่อไปนี้:
- Marmalade (และIwGame engineอยู่ด้านบนของมัน) - C ++ พบรีวิวที่เป็นบวกโดยรวมของ Marmalade แต่ไม่แน่ใจเกี่ยวกับ IwGame แก้ไข (มีนาคม 2013) : ดูเหมือน Marmalade SDK ในขณะนี้มี Cocos2Dx และ IDE ในตัวบางตัวซึ่งทำให้ดีขึ้นมาก (และค่าใช้จ่าย $ 150 ต่อปีสำหรับอินดี้ dev ซึ่งใช้ได้กับฉัน)
- Corona SDK - Lua (สงสัยว่ามีประสิทธิภาพ), ต้องการการเชื่อมต่ออินเทอร์เน็ตเพื่อรวบรวมรหัส
- Cocos2d-x - C ++ ได้รับรีวิวจำนวนมากจากนักพัฒนาส่วนใหญ่เป็นบวกและหลายคนคิดว่าดีที่สุดสำหรับ 2D
- รหัสอนุภาค - Java + Eclipse ไม่พบความคิดเห็นหรือความคิดเห็น
- โมอาย - ลัวะไม่พบบทวิจารณ์ / ความคิดเห็นใด ๆ
- เครื่องยนต์ลิง - ดูเหมือนจะมีคุณสมบัติน้อยเกินไป
- Haxenme - มันเป็น Flash ฉันไม่เคยใช้มันและไม่ต้องการ
- ใช้Unity3dแต่ด้วยแพ็คเกจ 2D เช่น 2D Toolkit
- พอร์ตของSDLไปยังAndroid ( ที่นี่ ) และiOS - ดูเหมือนจะไม่มีการสนับสนุนหรือการพัฒนาในปัจจุบัน (?)
- GLBasic - ภาษาพื้นฐานฉันไม่ชอบมัน
- playN - ดูเหมือนว่าจะอยู่ในช่วงต้นของการพัฒนา (?)
- Gamvas - HTML5 ดูไม่เหมือนเครื่องมือสำหรับผู้ใหญ่
- Ignifuga - Python ไม่ดูเป็นผู้ใหญ่
- ORX - ไม่แน่ใจว่ายังคงพัฒนาอยู่หรือไม่ (?)
- สร้าง 2 - เตือน GameMaker อาจใช้ได้กับต้นแบบที่รวดเร็ว แต่ไม่ใช่สำหรับเกมระดับอุตสาหกรรม
- XNAและจากนั้นทำการเชื่อมต่อเกมโดยใช้ExEn (ต้องใช้Mono Touchเพื่อพอร์ตไปยัง iOS และMono สำหรับ Androidไปยังพอร์ตไปยัง Android) - C # และอาจเป็นความคิดที่มากกว่าสำหรับผู้ที่มาจากผลิตภัณฑ์ Microsoft เช่น xBox (ฉันมาจาก Android) นอกจากนี้เครื่องมือโมโนเหล่านั้นยังมีค่าใช้จ่าย $ 800 สำหรับนักพัฒนารายย่อย
- ผลกระทบ - JavaScript ใช้ HTML5 ฉันไม่ค่อยได้ใช้ JavaScript (เช่น C # ที่ต้องการบน Unity3d) แต่ก็ไม่แน่ใจเกี่ยวกับประสิทธิภาพเนื่องจากมันทำงานในเบราว์เซอร์ (?)
- GameMaker - ภาษาสคริปต์ GML ของตัวเองและฉันจำได้ว่าอันนี้เป็นเครื่องมือสำหรับผู้ที่ไม่ใช่โปรแกรมเมอร์ มันเติบโตเป็นเครื่องมือจริงหรือเปล่าฉันหมายถึงการพัฒนาที่จริงจัง?
- AppGameKit - C ++ แต่ดูเหมือนจะยังใหม่อยู่ ไม่พบบทวิจารณ์ใด ๆ
- ใช้Cocos2dและวัตถุประสงค์ C ในการพัฒนาสำหรับ iOS เท่านั้นและแล้วทำให้เอพีเคสำหรับ Android ออกมาจากมันโดยใช้สเตลล่า SDK มีใครทำเช่นนี้? ฉันค่อนข้างแน่ใจว่าจะมีข้อ จำกัด และวิธีการเกี่ยวกับการเรียกเก็บเงินในแอปของ Google, AdMob และการรวม Facebook บน Android?
- Moscrif - JavaScript ดูเหมือนว่าเป็นมากกว่าสำหรับนักพัฒนาเว็บเดิม
- Starling - Flash 11 ฉันไม่ได้ลง Flash มากนัก
- ND2D - ยังไม่ 1.0 มันมีคุณสมบัติมากมายหรือไม่?
ดังนั้นฉันจะมีความสุขถ้าคุณสามารถแสดงความคิดเห็นจากประสบการณ์ของคุณกับเครื่องยนต์และแนะนำว่าหนึ่งในรายการ (หรืออะไรก็ได้ที่ฉันพลาด) ดีที่สุดสำหรับข้อกำหนดที่อธิบายไว้ ฉันอาจจะผิดกับความประทับใจครั้งแรกของฉันเกี่ยวกับเครื่องยนต์บางอย่าง
ขณะนี้ฉันกำลังนึกถึง Marmalade + IwGame เป็นตัวเลือกที่ดีที่สุด แต่เนื่องจากฉันไม่มีข้อมูลมากมายเกี่ยวกับรหัส Cocos2d-x และ Particle ฉันไม่แน่ใจจริงๆเกี่ยวกับเรื่องนี้
ขอบคุณ!
แก้ไข (มิถุนายน 2013): จนถึงตอนนี้ฉันได้สร้างเกม 2D ข้ามแพลตฟอร์ม 2 เกมและใช้ Unity3D พร้อมด้วยชุดเครื่องมือ 2D สำหรับทั้งคู่ สำหรับเกมที่มี GUI อย่างง่ายฉันใช้ระบบ GUI ที่สร้างขึ้นเองอย่างง่ายตาม Unity's เอง สำหรับสิ่งที่ซับซ้อนกว่า (เช่นที่องค์ประกอบของ GUI สามารถทับซ้อนกัน) ฉันใช้ปลั๊กอิน NGUI เมื่อเร็ว ๆ นี้ชุดเครื่องมือ 2D เพิ่มคลาสเพิ่มเติมสำหรับ GUI ซึ่งมีประโยชน์มากเนื่องจากต้องใช้ระบบที่แตกต่างกัน 2 ระบบสำหรับพื้นผิวแผนที่เมื่อรวม NGUI กับชุดเครื่องมือ 2D ฉันจะลองแบบนั้นในเกม 2D ถัดไปอย่างแน่นอน เหตุผลหลักในการเลือก Unity3D สำหรับเกม 2D คือฉันได้ลึกเข้าไปใน Unity3D ทั้งในแง่ของประสบการณ์และตัวอย่างรหัสสะสมสำหรับการใช้งานซ้ำ นอกจากนี้ฉันซื้อ Unity3D pro (พร้อม Android Pro และ iOS Pro) สำหรับเกม 3 มิติและมันสมเหตุสมผลอย่างยิ่งที่จะจ่ายเพิ่มอีก $ 60 สำหรับชุดเครื่องมือ 2D เพื่อให้ได้เกม 2 มิติ ฉันจนถึงตอนนี้ ไม่เสียใจกับการตัดสินใจของฉันดูเหมือนจะดีที่สุดสำหรับกรณีของฉัน สิ่งเดียวที่ทำให้ฉันปวดหัวคือการเพิ่มฟีเจอร์โซเชียลด้วยปลั๊กอินของ Prime31 (ปลั๊กอินโซเชียลสำหรับ Android และ iOS) แต่ฉันคิดว่าข้อบกพร่องของพวกเขาไม่ใช่ความผิดของ Prime31 แต่เป็น Twitter / Facebook แทนดังนั้นฉันอาจจะเห็นบั๊กเดียวกันบน เครื่องมือหรือปลั๊กอินอื่น ๆ
แก้ไข (มกราคม 2014) : ฉันเดาด้วย Unity 4.3 คำตอบสำหรับคำถามของฉันค่อนข้างชัดเจนแล้วในตอนนี้: ระบบสไปรต์ใหม่ของ Unity และอาจจะเป็น 2DToolkit เอาชนะสิ่งอื่นทั้งหมดโดยเฉพาะอย่างยิ่งสำหรับคนที่มี (เหมือนฉัน) และซื้อรุ่น Pro พร้อมโปรแกรมเสริม