Çapraz Platformlu 2D Grafik Motorları [kapalı]


57

Unity'nin 3D için yaptığı gibi, Windows, Mac ve iPhone'da yayınlamamı sağlayacak bir 2B grafik motoru arıyorum.

Bunu yapan ve 2D'ye özgü iyi bir motor var mı?


Kendinizi maceracı hissediyorsanız, Aquaria, Gish ve Humble Indie Bundle'ın geri kalanı gibi açık kaynaklı 2D oyunlardan birini her zaman kontrol edebilirsiniz.
MarkovCh1

6
Linux'u unuttun, bu adamlara aşk yok mu?
Derek

Yanıtlar:


37

Her zaman eski bekleme vardır, SDL . Oldukça düşük bir seviyedir, ancak bu basitlik bajilyonlarca platforma taşınmasını sağlar (pencereler, linux, mac, nintendo DS, wii vb. Dahil). Kullanmadığım , ancak yeterince olgun görünüyor bir iPhone bağlantı noktası var .


Henüz bir sürüm 1.3 "kararlı" görünmüyor ama henüz iphone desteği için isteyeceğiniz sürüm. Muhtemelen 1.3 sürümünü HG deposundan alıp kendiniz oluşturmanız gerekecektir.
Casey,

22

“2D” oyunlar oluşturmak için Unity3D'yi kullanamamanızın hiçbir nedeni yoktur. Dokulu dörtlüler ve bir ortografik kamera kullanabilirsiniz ve kendinize 2D bir oyununuz var. İskeletsel bir animasyon sistemi kullanmak, farklı eklemlerin üzerine sprite koymak veya ucuz paralaksenlik elde etmek için gerçekten sıkı bir perspektif kamera kullanmak gibi bazı benzersiz çözümler bile var.

Unity'nin daha iyi sprite yönetimi çözümleri sunmak için ara katman yazılımları bile var. Gibi sprite yöneticisi 2 .


2
Aslında bunu yapıyorum. Birliğin 3D yönünün, kullanıcı arayüzü söz konusu olduğunda girme eğiliminde olmasına rağmen, buluyorum. Ayrıca her zaman kök senaryomun ekli olduğu bir kameradan başka bir şey olmayan kukla bir sahne yapıyorum. Yine de bahsettiğin bağlantıyı kontrol edeceğim!
Kevin Laity

20

SFML , güzel, modern, Nesneye Yönelik, çapraz platform grafik motorudur. Donanımı hızlandırdı (OpenGL’ye dayanarak) ve

  • C ++
  • C
  • Net (C #, VB.Net, C ++ / CLI, ...)
  • piton
  • D
  • Yakut
  • Ocaml

4
SFML için +1. Harika, ancak tek sorun bir iphone portunun olmaması.
Komünist Ördek

12

SDL, Allegro, OpenGL
SDL ve Allegro sadece grafik kütüphaneleri değil aynı zamanda oyun geliştirme kütüphaneleridir.
SDL'nin bir aşağı tarafı, ana () kodunu devralması ve yeniden tanımlaması, onu diğer kütüphanelerle birleştirmeyi zorlaştırmasıdır. (Tecrübelerime göre QT)
Bir başka kötü şey de, SDL'nin sadece bir pencereye izin vermesidir (bu sürüm 1.3, sürüm 1.3 ise kararlı, ancak henüz tam olarak desteklenmemiş veya belgelenmemiş)
SDL'nin zayıf noktalarını adlandırabilirim çünkü en iyisini biliyorum ve onunla çalıştım, ancak buna rağmen, çok güçlü, Mame ve ScummVM limanı dahil birçok emülatör ve aynı zamanda oyunlar kullanıyor.
OpenGL, popüler 3D kullanımına rağmen, grafiksel bir kütüphanedir ve bu nedenle, aynı zamanda yüzeylerin piksel düzeyinde manipülasyon yoluyla 2D grafiklere izin verir ve hem 3D hem de 2D'de donanım ivmesini kapsamlı olarak kullanır.


Her zaman Allegro'da oyun yapmak için kullanıyorum. Onu sevdim.
Sesi

Qt, QCoreApplication öğesindeki bir olay döngüsüyle bile ana işlemi ele almaz. QApp-> processEvents'ı istediğiniz herhangi bir döngüde çağırabilirsiniz ve Qt mutlu olacaktır.
Mircea Chirea

1
Yine de SDL ana döngünüzü devralmak zorunda mı? Zaman ... SDLmain.h dahil ve şeyleri kendiniz yapmak için dikkatli olmak vermeyerek önlemek sandım
Ricket

2
SDL ana oyun döngüsünü devralmaz. Genelde kendi olayınızı yaratırsınız ve SDL'nin bildiği herhangi bir olayı elde etmek için SDL_PollEvent çağrısının içinde (klavye girişi, fare hareketi vb.).
dcarrigg

6

Sen Troll2D bakabilirsiniz

Box2D birçok platform için kullanılır. İPhone dahil olmak üzere. Ama bu nesneleri göstermenin bir yolunu bulmalısın. Box2D sadece 2D fizik simülasyonunu kullandığından beri.


Olafur - Troll2D'nin cevabınız olduğunu söyleyebilirim, bu yüzden başlamalısınız. Box2d sonradan olmalıdır.
Iain

5

LÖVE , Lua dilinde oyunların kolay ve hızlı bir şekilde geliştirilmesini sağlayan 2B bir motordur .

Mac (PPC ve Intel), Windows ve Linux (32 ve 64bit) işletim sistemlerinde çalışır ve oyunlar kolayca tüm platformlarda ".love" dosyaları halinde çalışır.

Temel olarak sevginin yeniden adlandırıldığı zip uzantısıyla oyununuzun sıkıştırılmış bir versiyonudur .

Ne yazık ki, şu ana kadar iPhone bağlantı noktası yok.


5

Cocos2D Mac / Windows altında Python'da oluşturuldu ve iPhone'un altında bir Objective-C lezzetinde mevcut . 2D iPhone oyun geliştirme popüler. Ray Wenderlich'in iPhone için harika Cocos2D dersleri var .

Python'dan Objective-C'ye taşındıklarından, artık aynı platformdan tüm platformlar arasında çapraz derleme yapamayacağınızdan şüpheleniyorum.


Doğru, birçok cocos2d portu var, ancak hepsi kendi dilini kullanıyor. İPhone için Objective-C, Android için Java, Web için Javascript, orijinal PC sürümü için Python ve Windows Mobile'ı destekleyebilecek veya desteklemeyecek olan yeni Windows bağlantı noktası için C ++ (bu konuda belirsiz). İsim ve tasarım felsefesinden başka hiçbir şekilde değiştirilemezler.
LearnCocos2D

Bence Cocos2d-x şimdi tek bir uygulama diliyle oldukça sağlam ve çapraz bir platform: C ++ (iPhone da dahil).
legends2k

4

İPhone için endişelenmiyorsanız, her zaman AIR olarak paketlenmiş Flash vardır - iPhone'u kaybedersiniz ancak Linux ve web dağıtımı elde edersiniz. Daha sonra projenize uygun oyun / fizik / görüntü oluşturma motorlarını seçebilirsiniz, örneğin. FlashPunk, Flixel, Box2d.


Ayrıca gelecekte Android telefon desteği (en azından yenileri) ve muhtemelen Palm / Blackberry / Windows Mobile desteği kazanıyorsunuz.
davr,

Linux desteklenmediğinde iOS artık desteklenmektedir.
Danik

4

Angel Engine'i deneyebilirsin . C ++, OpenGL, Box2D tabanlıdır ve komut dosyası için Python kullanır. Çoğunlukla prototip yapımı için, ancak son sürümler tam oyun oynamaya odaklanmış gibi görünüyor.


3

torque2D , PC'yi ve kutunun dışında macu destekler. İTorque2D, iphone aygıtına dağıtımı destekler. Konsol dağıtımı elde etmek de mümkündür.


2

PlayN , HTML5, Android, iOS, Flash ve masaüstü Java'yı destekler.

Kodunuzu Java'ya yazıyorsunuz ve Java kodunuzu HTML için JavaScript'e (GWT aracılığıyla), ARM montajına (Java bayt kodundan CLR bayt koduna gitmek için IKVM yoluyla, ardından CLR bayt kodunu yerel bir iOS uygulamasına derlemek için MonoTouch'a) dönüştürmeyi ele alıyor. JavaScript yerine ActionScript üreten özel bir GWT arka ucuyla ActionScript'e ve dönüşüm olmadan Android ve masaüstü Java'ya.


2

Moai SDK , bu platformlarda * çalışabilen bir çerçevedir. Açık kaynak kodludur, bu yüzden github repolarını kontrol edin .

Moai ayrıca Google Chrome ve Android'de de yayınlanabilir.

* Yayınlamanın mac veya windows için olduğunu sanmıyorum (yani bir .app veya .exe) şu anda mevcut ancak eklenebilir.


1

Haxe + NME , HTML5, Flash, Android, iOS, Blackberry, Windows, Mac, Linux, WebOS'u destekler. 2D grafikleri (bitmap sprite, vektör çizim, ayrıca alt gölge ve bulanıklık gibi efektler) destekler.


0

Son zamanlarda iPhone ve iPod touch geliştirmeyi yapan insanlar için MonoTouch hakkında çok şey duydum . Çerçeve, zaten platformlar arası uyumlu olan Mono'nun tepesinde.


Ne yazık ki, C / C ++ / ObjC olmayan ve bir çeviri katmanı kullandığınız için iTunes mağaza anlaşmasını ihlal ediyor. Hala onay alabilirsin, ama seni gelecekte çekebilirler. Şahsen ben riske atmam.
davr,

@davr monotouch,> 1 yıl önce yapılan sözleşmenin şartlarını ihlal etmiyor.
dodgy_coder

@dodgy_coder Evet, Apple'ın nihayet geri zekalı kurallarını (yalnızca inanıyorum ki Adobe'ye zarar vermeyi amaçlayan) çıkardığını hatırlıyorum. Özgün yorumum olsa onu yayınladığımda
doğruydu

-1

Unity3d en iyi 2d oyun geliştirme aracı ve motorudur. alternatif olarak monogame. html5 ve flash bu konu için uygun değil. zaten flaş öldü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.