เอนจิ้นกราฟิก 2D ข้ามแพลตฟอร์ม [ปิด]


57

ฉันกำลังมองหาเอ็นจิ้นกราฟิก 2 มิติที่จะอนุญาตให้ฉันปล่อยไปยัง Windows, Mac และ iPhone ซึ่งเป็นวิธีที่ Unity ทำเพื่อ 3D

มีเครื่องมือที่ดีที่ทำสิ่งนี้และเฉพาะกับ 2D หรือไม่?


หากคุณรู้สึกว่าการผจญภัยคุณสามารถลองดูเกม 2D ที่เปิดแหล่งที่มาเช่น Aquaria, Gish และส่วนที่เหลือของ Humble Indie Bundle
MarkovCh1

6
คุณลืมลินุกซ์ไม่มีคนรักพวกนั้นเหรอ?
Derek

คำตอบ:


37

มีเสมอสแตนด์บายเก่าSDL มันค่อนข้างอยู่ในระดับต่ำ แต่ความเรียบง่ายนั้นเป็นสิ่งที่ทำให้มันสามารถส่งไปยังแพลตฟอร์มของ bajillions (รวมถึง windows, linux, mac, nintendo DS, wii, etc ฯลฯ ) มีพอร์ต iPhoneที่ฉันไม่ได้ใช้ แต่ดูเหมือนว่าจะโตพอ


ไม่ปรากฏว่าพวกเขามีรุ่น 1.3 "เสถียร" แต่เป็นรุ่นที่คุณต้องการให้การสนับสนุนสำหรับ iPhone คุณอาจจะต้องคว้ารุ่น 1.3 จาก HG repo ของพวกเขาและสร้างมันเอง
Casey

22

ไม่มีเหตุผลใด ๆ ที่คุณไม่สามารถใช้ Unity3D เพื่อสร้างเกม "2D" คุณสามารถใช้ล่ามที่มีพื้นผิวและกล้อง orthographic และคุณมีเกม 2D ด้วยตัวเอง มีแม้แต่โซลูชันพิเศษบางอย่างเช่นการใช้ระบบภาพเคลื่อนไหวโครงกระดูกและวางสไปรต์ไว้บนข้อต่อที่แตกต่างกันหรือใช้กล้องมุมมองที่แน่นมาก ๆ

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


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

20

SFMLเป็นเอ็นจิ้นกราฟิคข้ามแพลตฟอร์มที่ทันสมัยและใช้งานง่าย มันเป็นฮาร์ดแวร์เร่งความเร็ว (ขึ้นอยู่กับ OpenGL) และมีการเชื่อมโยง

  • C ++
  • C
  • .Net (C #, VB.Net, C ++ / CLI, ... )
  • หลาม
  • D
  • ทับทิม
  • Ocaml

4
+1 สำหรับ SFML มันยอดเยี่ยม แต่ปัญหาเดียวคือการขาดพอร์ต iphone
The Duck Communist

12

SDL, Allegro, OpenGL
SDL และ Allegro ไม่เพียง แต่เป็นกราฟฟิก libs เท่านั้น แต่ยังมี libs สำหรับการพัฒนาเกมทั้งหมดอีกด้วย
ด้านหนึ่งของ SDL คือการใช้เวลาเหนือ main () ของคุณและกำหนดใหม่ทำให้ยากที่จะรวมเข้ากับไลบรารีอื่น (QT จากประสบการณ์ของฉัน)
สิ่งที่ไม่ดีอีกอย่างคือ SDL อนุญาตให้หนึ่งหน้าต่างเท่านั้น (นี่คือรุ่นเสถียร 1.2, รุ่นพัฒนา 1.3 ทำ แต่ยังไม่รองรับอย่างเต็มที่หรือทำเป็นเอกสาร)
ฉันสามารถตั้งชื่อจุดอ่อนของ SDL ได้เพราะฉันรู้ว่าดีที่สุด ทำงานได้กับมัน แต่ถึงแม้ว่ามันจะมีประสิทธิภาพมากอีมูเลเตอร์จำนวนมากรวมถึงพอร์ตของ Mame และ ScummVM เช่นเดียวกับเกมที่ใช้มัน
OpenGL แม้จะมีการใช้งาน 3D ที่เป็นที่นิยม แต่ก็เป็นห้องสมุดกราฟิกและยังช่วยให้กราฟิก 2D ผ่านการจัดการระดับพิกเซลของพื้นผิวและใช้การเร่งความเร็วของฮาร์ดแวร์อย่างกว้างขวางทั้งใน 3D และ 2D


ฉันใช้เพื่อสร้างเกมใน Allegro ตลอดเวลา รักมัน.
เสียง

Qt ไม่ได้ยึดหลักแม้ว่าจะมีเหตุการณ์วนรอบใน QCoreApplication คุณสามารถเรียก qApp-> processEvents ในลูปที่คุณต้องการและ Qt จะมีความสุข
Mircea Chirea

1
SDL ต้องเข้าควบคุมวงวนหลักของคุณหรือไม่? ฉันคิดว่าคุณสามารถหลีกเลี่ยงได้โดยไม่รวม SDLmain.h และระมัดระวังในการทำสิ่งต่าง ๆ ด้วยตัวคุณเอง ...
Ricket

2
SDL ไม่เข้าควบคุมเกมหลักของคุณ โดยทั่วไปแล้วคุณสร้างของคุณเองและภายในการโทร SDL_PollEvent เพื่อรับเหตุการณ์ใด ๆ SDL ตระหนักถึง (ใส่แป้นพิมพ์การเคลื่อนไหวของเมาส์ ฯลฯ )
dcarrigg

6

คุณสามารถดูTroll2D

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


Olafur - ฉันว่า Troll2D เป็นคำตอบของคุณดังนั้นคุณควรเริ่มด้วยมัน Box2d ควรจะเป็นภายหลัง
เลน

5

LÖVEเป็นเอนจิ้น 2 มิติที่ช่วยให้การพัฒนาเกมในภาษาLuaง่ายและรวดเร็ว

มันทำงานบน Mac (PPC และ Intel), Windows และ Linux (32 และ 64 บิต) และเกมจะถูกกระจายอย่างง่ายดายเป็นไฟล์ ".love" หนึ่งไฟล์ที่รันบนทุกแพลตฟอร์ม

พวกเขามีพื้นรุ่นซิปของเกมของคุณด้วยซิปขยายเปลี่ยนชื่อเป็นรัก

น่าเสียดายที่ไม่มีพอร์ต iPhone (จนถึงตอนนี้)


5

Cocos2dเกิดขึ้นภายใต้ Mac / Windows ในหลามและสามารถใช้ได้ในรสชาติ Objective-C ภายใต้ไอโฟน เป็นที่นิยมในการพัฒนาเกม 2D iPhone เรย์ Wenderlich มีบางอย่างที่ดีบทเรียน Cocos2d สำหรับ iPhone

เนื่องจากพวกเขาย้ายจาก Python มาเป็น Objective-C ฉันสงสัยว่าคุณจะไม่สามารถคอมไพล์ระหว่างแพลตฟอร์มทั้งหมดได้อีกต่อไปจากฐานรหัสเดียวกัน


ถูกต้องมีพอร์ต cocos2d มากมาย แต่ทั้งหมดใช้ภาษาของตัวเอง Objective-C สำหรับ iPhone, Java สำหรับ Android, Javascript สำหรับเว็บ, Python สำหรับเวอร์ชั่น PC ดั้งเดิมและ C ++ สำหรับพอร์ต Windows ใหม่ซึ่งอาจหรืออาจไม่รองรับ Windows Mobile (ไม่มีความชัดเจนในเรื่องนั้น) นอกเหนือจากชื่อและปรัชญาการออกแบบพวกเขาจะไม่สามารถแลกเปลี่ยนกันในทางใดทางหนึ่ง
LearnCocos2D

ฉันคิดว่า Cocos2d-x ตอนนี้ค่อนข้างเสถียรและข้ามแพลตฟอร์มด้วยภาษาเดียวของการใช้งาน: C ++ (รวมถึง iPhone ด้วย)
legends2k

4

หากคุณไม่กังวลเกี่ยวกับ iPhone จะมีแพ็คเกจแฟลชในฐานะ AIR อยู่เสมอคุณจะสูญเสีย iPhone แต่คุณจะได้รับการปรับใช้ Linux และเว็บ จากนั้นคุณสามารถเลือกเครื่องมือเกม / ฟิสิกส์ / การแสดงผลที่เหมาะกับโครงการของคุณเช่น FlashPunk, Flixel, Box2d


คุณยังได้รับการสนับสนุนทางโทรศัพท์ Android (อย่างน้อยที่ใหม่กว่า) และอาจรองรับ Palm / Blackberry / Windows Mobile เช่นกันในอนาคต
davr

รองรับ iOS แล้วในขณะที่ Linux ไม่รองรับ
Danik

4

คุณสามารถลองใช้Angel Engineได้ มันขึ้นอยู่กับ C ++, OpenGL, Box2D และใช้ Python สำหรับการเขียนสคริปต์ ส่วนใหญ่ใช้สำหรับการทำต้นแบบ แต่รุ่นล่าสุดดูเหมือนจะมุ่งเน้นไปที่การสร้างเกมเต็มรูปแบบ


3

torque2Dรองรับ PC และ Mac นอกกรอบ iTorque2D รองรับการปรับใช้กับ iPhone เป็นไปได้ที่จะได้รับการปรับใช้คอนโซล


2

PlayNรองรับ HTML5, Android, iOS, แฟลชและ Java บนเดสก์ท็อป

คุณเขียนโค้ดของคุณใน Java และจัดการการแปลงโค้ด Java ของคุณเป็น JavaScript (ผ่าน GWT) สำหรับ HTML เป็น ARM แอสเซมบลี (ผ่าน IKVM เพื่อเปลี่ยนจาก Java bytecode เป็น CLR bytecode จากนั้น MonoTouch เพื่อรวบรวม CLR bytecode เป็นแอป iOS ดั้งเดิม) เพื่อ ActionScript ผ่านแบ็กเอนด์ GWT ที่กำหนดเองที่สร้าง ActionScript แทน JavaScript และสำหรับ Android และ Java บนเดสก์ท็อปโดยไม่มีการแปลง


2

Moai SDKเป็นเฟรมเวิร์กที่สามารถรัน * บนแพลตฟอร์มเหล่านี้ มันเป็นที่มาเปิดเพื่อตรวจสอบของพวกเขาrepo GitHub

โมอายสามารถเผยแพร่ไปยัง Google Chrome และ Android

* ฉันไม่คิดว่าการเผยแพร่คือ mac หรือ windows (เช่น. app หรือ. exe) สามารถใช้ได้ในขณะนี้ แต่สามารถเพิ่มได้


1

Haxe + NMEรองรับ HTML5, แฟลช, Android, iOS, Blackberry, Windows, Mac, Linux, WebOS รองรับกราฟิก 2D (สไปรต์บิตแมปภาพวาดเวกเตอร์รวมถึงเอฟเฟกต์เช่นเงาและเบลอ)


0

ฉันได้ยินมามากมายเกี่ยวกับMonoTouchเมื่อเร็ว ๆ นี้สำหรับคนที่พัฒนา iPhone และ iPod touch Framework นั้นอยู่บนสุดของ Mono ซึ่งสามารถใช้งานข้ามแพลตฟอร์มได้


น่าเสียดายที่นี่ละเมิดข้อตกลงการจัดเก็บของ iTunes เนื่องจากคุณเขียนในสิ่งที่ไม่ใช่ C / C ++ / ObjC และใช้เลเยอร์การแปล คุณอาจได้รับการอนุมัติ แต่พวกเขาอาจจะดึงคุณในอนาคต ส่วนตัวฉันจะไม่เสี่ยง
davr

@davr monotouch ไม่ได้ละเมิดข้อกำหนดของข้อตกลง ณ > 1 ปีที่แล้ว
dodgy_coder

@dodgy_coder ใช่ฉันจำได้ว่าในที่สุด Apple ก็ทำตามกฎหน่วงเหนี่ยวเหล่านั้น ความคิดเห็นเดิมของฉันเป็นจริงในเวลาที่ผมโพสต์มันแม้ว่า :)
davr

-1

Unity3d เป็นเครื่องมือและเครื่องมือพัฒนาเกม 2d ที่ดีที่สุด อีกทางหนึ่งคือ monogame html5 และ flash ไม่เหมาะสมสำหรับหัวข้อนี้ แฟลชตายไปแล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.