2D Çapraz Platform Oyun Geliştirme Motorları [kapalı]


84

Corona SDK ile bir süre çalıştım ve Lua'yı kullanarak ne kadar hızlı ve kolay güçlü uygulamalar oluşturabildiğimi seviyorum. Ancak yalnızca iOS ve Android için derlenebilir, bu da artık çok az gibi geliyor.

Benim asıl ilgilendiğim şey bunun Masaüstü VE Mobil'e derlenebilmesidir. En azından aşağıdakiler için:

  • Bağımsız uygulamalar olarak masaüstü için Windows + Mac.
  • Mobil cihazlar için iOS + Android.

ActionScript yerine Lua tipi komut dosyalarına daha fazla eğilmesini tercih ederim, ancak lütfen birlikte çalıştığınız ve sevdiğiniz her şeyi yayınlamaktan çekinmeyin.

Şimdiye kadar aşağıdaki motorları buldum:

  • Marmalade Quick - Daha ayrıntılı bir şekilde inceledikten sonra, Marmalade Quick yalnızca Mobil için inşa edebilir!
  • IwGame - Marmelat üzerinde çalışıyor ve Lua ile masaüstü ve mobil cihazlara dağıtılabileceğini söylüyor. Bu konuda herhangi bir bilgi büyük beğeni topluyor
  • sio2 - "SIO2, iOS, Android, MacOS ve Windows için OpenGLES tabanlı bir çapraz platform 2D ve 3D oyun motorudur" ve "Motor ayrıca oyununuzu Mac Store ve Windows'a taşımanıza izin verir.", ancak forumları ve web başlığı "Mobil Cihazlar için Oyun Motoru" dur. Masaüstü platformlarına konuşlandırılıp dağıtılamayacağı hakkında herhangi bir bilgi bulunamıyor, herhangi bir bilgi tekrar büyük beğeni topluyor.
  • Loom Engine - Loom, ECMAScript'in AS3'ü kullanması açısından Haxe + OpenFL'ye (Flash geliştiricilerini çekmeye çalışır) benzer, ancak ondan yerel kod oluşturmaz. Bununla birlikte, render için Cocos2D kullanır, bu nedenle teoride Cocos2D kadar hızlı olmalıdır. - Bojan sayesinde.
  • SDL - SDL'nin neredeyse her platforma veya cihaza yerleştirilebileceğini ve bir Lua bağına sahip olduğunu birçok yerde okudum. Ama bunun bir motor olmadığı için nasıl çalıştığını bulamıyorum. Nasıl çalıştığını açıklayabilen ve eğer mümkünse bir kez daha çok takdir edilir.
  • SFML - "Windows, Linux, Mac OS X ve yakında Android ve iOS." Lua kullanmıyor ama Java ve Python gibi diğer dilleri de kullanabiliyor. Bu konuda bilgisi olan var mı?
  • Torgue2D - "Torque 2D, OS X, Windows ve iOS cihazları düşünülerek geliştirildi ve tüm platformlarda eşit derecede iyi çalışıyor." TorgueScript kullanır ve Android yok = (
  • Sencha - Tüm platformlarda derleniyor gibi görünüyor, benim de bildiğim Javascript kullanıyor. Ancak V8 JS ile bile bu, diğer seçeneklere kıyasla performans açısından iyi çalışır mı?
  • GameMaker - kendi komut dosyası dili GML ve bunu aslında programcı olmayanlar için bir araç olarak hatırlıyorum. Gerçekten gerçek bir motora dönüştü mü, yani ciddi bir gelişme için mi?
  • Construct2 - Oyun yapımcısı ile aynı soru
  • Corona - Lua, ancak yalnızca mobil (yalnızca Android ve iOS)
  • Cocos2D - Birçok seçeneği var gibi görünüyor, ancak aynı dilde olduğundan emin değil misiniz? Görünüşe göre kodunuzun tamamını yeniden yazmanız gerekiyor. Cocos2D'nin hemen hemen aynı kodla masaüstü + mobil cihazlara dağıtılabilmesi durumunda herhangi bir bilgi çok takdir edilecektir.
  • Angel2D - Android dışında her şeye dağıtılabileceğini ve Lua'yı kullandığını söylüyor, bunu daha önce hiç kullanan oldu mu?
  • libgdx --- Bununla ilgili sadece güzel şeyler gördüm. İşte libgdx için bir kıyaslama testi ve 60 fps'de 40k sprite ulaştığını gördüğüm yer. http://www.sparkrift.com/2012/1/love2d-vs-allegro-vs-clanlib-vs-libgdx-vs-cocos2d-x-vs-monogame-vs-xna-vs-sfml . Görünüşe göre libgdx 30k'yi zar zor aşıyor. Ama yine de harika görünüyor. Bu benim için Qt ile aynı seviyede, neredeyse mükemmel, ancak bunun üzerindeki performans konusunda gerçekten endişelenmiyorum. libgdx hemen hemen her şey için geliştirebilir.
  • XNA + MonoGame --- MonoGame'in performansı libgdx'ten yalnızca biraz daha düşük görünüyor, çoğu platformda geliştirilebilir. Ancak XNA hakkında pek bir şey bilmiyorum ve gelecekteki güncellemeleri almayacağını duydum, ancak oldukça kararlı mı? Daha fazla bilgi açığız.
  • Narenciye --- Narenciye hakkında da fazla bilgim yok. İOS, Android, Windows, Mac ve daha fazlası için geliştirebilen AS3 oyun motoru.
  • Haxe + OpenFL --- OpenFL (Haxe), yalnızca Flash için değil, birçok platformda yerel olarak oluşturulur. Windows, Mac, Linux ve Android'in tümü isteğe bağlı yerel dağıtım veya teorik olarak Flash'tan daha hızlı olan Neko adlı OpenFL çalışma zamanı alır ve SDL 2.0 yakında iOS dağıtımını etkinleştirecektir (ish). - Bojan sayesinde.
  • Qt-Project --- Sadece Qt projesini buraya bağlayarak, her şey için inşa edebilir ve size daha da fazla yardımcı olacak çok sayıda üçüncü taraf kitaplığı olan oldukça büyük bir topluluğa sahiptir.
  • Moai --- Masaüstü ve Mobil için geliştirebileceğini bildiğim tek Lua motoru. Tek dezavantajı, topluluğun o kadar büyük olmaması ve belgelerin en iyisi olmamasıdır. Ancak bunları geçebilirseniz, bu harika bir çözüm ve şu anda kullandığım çözüm.
  • Adobe --- Flash'ı destekleyen her şeye eklenebileceği için buraya adobe eklemeyi unutmamalı.
  • Unity3D --- Yakın zamanda duyurulan 2D entegrasyonu çok umut verici görünüyor, 2013'ün 3. ve 4. çeyreğinde piyasaya sürülmelidir.
  • Cocos2d-x --- Açık kaynaklı bir motor. JS, Lua, C ++ ve çoklu platformları destekler.
  • Html5 --- html5 mobil uygulamaları üzerinde çok fazla vurgu var gibi görünüyor, işte html5 projenizi bir platforma taşımanıza yardımcı olabilecek bulduğum birkaç araç:

    1. Gömülü krom

    2. Sencha

    3. Telefon aralığı

    4. Appcelerator / Titanyum

    5. Icenium

Bu nedenle, herhangi bir motorla ilgili deneyimlerinizden yorum yapabilir ve hangisini tavsiye edeceğinizi önerebilirseniz mutlu olurum. Yardımın için teşekkürler!

DÜZENLEME: Bu konu popüler hale geldiğinden, zaman içinde bulduğum diğer seçenekleri ekleyeceğim. Size en tanıdık olanı ve proje ihtiyaçlarınız için en iyisini seçmenizi öneririm.


1
OpenFL (Haxe), yalnızca Flash'ta değil, birçok platformda yerel olarak oluşturulur. Windows, Mac, Linux ve Android'in tümü isteğe bağlı yerel dağıtım veya teorik olarak Flash'tan daha hızlı olan Neko adlı OpenFL çalışma zamanı alır ve SDL 2.0 yakında iOS dağıtımını etkinleştirecektir (ish). Loom, ECMAScript'in AS3'ü kullanması açısından benzerdir (Flash geliştiricilerini çekmeye çalışır), ancak ondan yerel kod oluşturmaz. Ancak render için Cocos2D kullanıyor, bu yüzden teoride Cocos2D kadar hızlı olmalı
Bojan Markovic

2
Cocos2d-X'i listeye gerçekten eklemelisiniz: cocos2d-x.org
Clay

UDK by Epic Games'e kesinlikle göz atmalısınız. Moderleri ve Indie Developers'ı hedefleyen tam AAA motoru. Ne yazık ki şu anda android'i desteklemiyor, ancak Android'i destekleyen tam UE4 lisansını çok daha fazla kullanılabilir hale getirdiler. UE4'ün henüz piyasaya sürüldüğünü ve UDK'nın oldukça gelişmiş bir platform olduğunu unutmayın.
Igor Čordaš

Ayrıca Açık Kaynaklı ve taşınabilir (Java tabanlı) bir şey istiyorsanız, bkz. JMonkeyEngine.
Igor Čordaš

Yanıtlar:


9

V-Play'i tavsiye ederim (v-play.net) - bu, iOS, Android, Symbian, MeeGo, Blackberry10 için Qt tabanlı bir çapraz platform oyun motorudur ve ayrıca Windows, Mac ve Linux için yerel masaüstü uygulamaları için dışa aktarabilir.

C ++ tabanlıdır ancak QML ve JavaScript için temiz bir komut dosyası desteği vardır . QML öğrenmek zahmetsizdir ve daha az koda ihtiyaç duyulduğundan üretkenliğinizi artırabilir - aynı oyunların karşılaştırması için cocos2d-x (% 60 daha az Loc) veya Corona (% 15 daha az LoC) ile karşılaştırmaya bakın.

(Feragatname: V-Play'in arkasındaki adamlardan biriyim)


1
V-Play'in harika bir ürün olduğundan emin olsam da, kurucu ortak olduğunuza dair bir sorumluluk reddi beyanı koymalısınız. Bakınız: meta.stackexchange.com/a/59302
Nepoxx

1
Elbette - Daha yeni ekledim
Christian Feldbacher

7

Python kullanıyorsanız, Kivy bugünlerde harika bir çözüm. İstediğiniz tüm platformlar için derler:

Kivy, Linux, Windows, MacOSX, Android ve IOS üzerinde çalışıyor. Desteklenen tüm platformlarda aynı kodu çalıştırabilirsiniz. Yerel olarak çoğu giriş protokolünü ve WM_Touch, WM_Pen, Mac OS X Trackpad ve Magic Mouse, Mtdev, Linux Kernel HID, TUIO gibi cihazları kullanabilir. Çoklu dokunmatik fare simülatörü dahildir.

Kivy, grafik oluşturma için (Cython aracılığıyla) çok sayıda optimize edilmiş kod kullanır, bu yüzden de hızlıdır.

İşte size biraz arka plan ve genel bir bakış (android'e özel) sağlayan bir konuşma notu .


Kivy, oyun geliştirici için kullanılabilirken, tam olarak bir oyun motoru değildir, ancak kivyent (kivent.org), kivy tabanlı bir oyun motorudur ve oyununuz çok basit değilse ve öyle değilse daha uygun olabilir. ek karmaşıklık gerektirir.
Tshirtman


5

İşte oyun çerçevem Oxygine . Mobil ve PC platformları için açık kaynaklı modern donanım hızlandırmalı 2D C ++ çerçevesidir. Özellikler: OpenGL (ES) 2, sıkıştırılmış dokular, atlaslar, karmaşık animasyonlar / aralar / hareketli karakterler, sahne grafiği, yazı tipleri, olay işleme, oluşturma araçları ve diğerleri. SDL2 veya Marmalade SDK üzerine kurulabilir.

Motorun temelinde Flash'a benzeyen bir sahne grafiği var. Kısacası, bunu Flash for C ++ olarak adlandırabilirsiniz, ancak daha rahat ve çok daha hızlı. Başlangıçta mobil platformlar (iOS, Android) için geliştirildi, ancak PC oyunları için de kullanılabilir.

görüntü açıklamasını buraya girin


Denedim (ve aslında bitmiş bir oyun ürünü çıkardım), çok iyi çalışıyor!
Juster

4

Burada Uygulama Oyun Seti'nden (AGK) bahsedilmiyor, bu yüzden boşluğu doldurmama izin verin. C ++ 'da veya kendi "Temel" dilinde bir kez kodlama yapmanıza olanak tanıyan temelde 2D çapraz platform SDK'sıdır. Sürüm 2, Kickstarter'da% 400'ün üzerinde fon aldı ve tam 3D desteği, Omurga desteği (2D animasyonlu karakterler için), mermi fiziği ve diğer birçok yeni özelliğe sahip olacak.

Zaten Facebook, Twitter, bir dizi Ultrabook sensör komutu, Box2D ve daha fazlasına sahip. Başından beri kullanıyorum ve seviyorum (söyleyebilir misin?). Hayır, The Game Creators için çalışmıyorum bir süredir bazı uygulamalar yaptığımı kabul (onu yaratan şirket) için çalışmıyorum.

Benim bakış açıma göre en iyi özelliklerden biri, Windows üzerinde geliştirme yapabilmeniz ve Wi-Fi üzerinden IDE'den desteklenen herhangi bir cihaza yayın yapabilmenizdir, böylece kodlama yaparken (saniyeler içinde) kodumu iPad, Android'de test edebilirim. Windows, Mac veya Blackberry Playbook.


4

C # geçmişiniz varsa. Duality'ye bir göz atın.

Duality , tamamen C # ile yazılmış esnek bir 2D oyun çerçevesidir ve işleri sizin için biraz daha kolaylaştırmak için burada. Hem genişletilebilir bir oyun motoru hem de eşleşecek görsel bir düzenleyici sağlar. Seviye düzenleyiciye, test ortamına veya içerik yöneticisine gerek olmayacak çünkü Duality tek başına hepsi bu. Ve en iyisi: Ücretsizdir.


1
Güzel bir ek. Yakında listeye ekleyeceğim, ayrıca daha iyi organize etmenin yanı sıra öğrendiğim birkaç tane daha. Girişiniz için teşekkürler
Nefret Adları

Çapraz platform uyumlu mu?
JCPhlux

2
@JCPhlux, evet öyle. Mobilden emin değilim, ancak mono üzerinde çalışıyor.
Andy


Sabit. Cevabımı gönderdikten
Andy

2

Size SDL'nin nasıl kullanıldığına dair bazı bilgiler vermek istiyorum. Daha önce de söylediğin gibi, bu bir oyun motoru değil (aslında sadece bir kitaplık). Dahası, hiç nesne odaklı değildir ve bazı kolay animasyon olanaklarına sahip değilsiniz (bunları kendiniz kodlamalısınız).

Nasıl çalışır (C sürümünü kullandım ama sanırım Lua bağlamasının benzer olması gerekir):

Projeyi istediğiniz platformda oluşturmak için gereken başlıkları ekleyin.

Tam bir olay işleme sistemi, kare hızı yöneticisi ve bir "ekran temizleyici (veya güncelleyici)" (en azından) kuracağınız kendi oyun döngüsünüzü tasarlayın (ekranınızı manuel olarak yenilemeniz gerektiği gerçeğinde ısrar ediyorum. Corona ile ilgili endişelerinizden biri olmayan bir şey olan SDL_flip_screen rutinini kullanmak).

Ardından, daha önce yaptığınız tüm "mekanikleri" kullanarak oyununuzu kodlayın.

SDL, düşük seviyeli bir kütüphanedir (örneğin, kullanımı kolay bir GUI çerçevesine veya Corona'nın storyboard çerçevesine sahip olmayı beklemeyin).

Son olarak, bu kütüphane Civilization III'ü Linux'a taşımak için kullanıldı, bu yüzden evet işe yarıyor ancak Corona'da sahip olduğunuz gibi bir şeye sahip olmak için çok fazla enerji isteyecek;

Not: Anadili İngilizce değilim, bu yüzden lütfen net olamadıysam bana bildirin :)


2

Gideros şu anda hem Android hem de IOS platformlarını destekleyen Lua tabanlı harika bir 2d çapraz platform motorudur , ancak daha fazlası gelecek. Ayrıca, çeşitli ekran boyutlarını kolayca hedeflemek için anında cihaz testi, otomatik ölçeklendirme ve otomatik görüntü çözünürlüğü gibi bazı harika özelliklere ve her platformu yerel eklentilerle genişletme seçeneğine sahiptir.


1

Ayrıca Unity3D'nin ciddi bir rakibi olan ShiVa3D'ye de sahipsiniz . Lua kullanır ve mobilden oyun konsollarına ve web tarayıcılarına kadar birçok platformu destekler.

Kullanımı çok sezgisel ve çalışmak için çok güzel bir kullanıcı arayüzü.

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.