2D Oyun Kütüphaneleri / Altyapılar / Android için Motorlar [kapalı]


89

Android oyunumu oluşturmama yardımcı olacak herhangi bir şey var mı?

Yanıtlar:


62

EDIT: PSA: Bu cevabın 2012'de yazıldığını ve 3 yıl sonra çok daha fazla motorun bulunduğunu ve bunların çoğunun tamamen mobil cihazlar için yapıldığını unutmayın. Bu cevabı kabul etmeyin ve daha yeni motorlar için google'da arama yapmayın.


Irrlicht'i Android'de taşıdım ve 2D oyunlar için kullanıyorum. En iyi çözüm değil ama güçlü performanslarım var. Java Altyapıları denedim ancak Çöp Toplayıcı G1 telefonunda oyunlarınızı 0.2s boyunca geciktirebiliyor ... Bu yüzden çerçeve çok dikkatli bir şekilde tahsis etmeli.

Ticari C ++ çerçeveleri:

  • unity3D : çok iyi (Android, iOS, Web, Windows, OS X'te mevcut) [Oyun: Roket Tavşanları]
  • Unreal Engine (ticari): en iyi motor ama yeni başlayanlar için değil [Oyun: Dungeon Defenders]

Açık Kaynak C ++ çerçeveleri:

  • SDL : Oyun geliştirme, açık kaynak kodlu ve çapraz platform için muhtemelen en iyi C kütüphanesi (mobil cihaz dahil)
  • Ogre3D : en iyi açık kaynaklı 3d motor, ancak büyük bir çerçeve
  • Irrlicht : iyi performans, hafif çerçeve [Oyun: Moblox]
  • Linderdaum Engine : Windows ve Android için açık kaynak
  • Cocos2d-x : açık kaynaklı çapraz platform

Java Açık Kaynak Çerçeveleri:

  • LibGDX : Açık Kaynak, Çok Popüler, Birden fazla platformu, Döşeme , Box2D ve diğerlerini destekler, İyi Belgeler
  • AndEngine (Açık Kaynak): iyi performans. Dokümantasyon için örneklere bakın ve kaynak kodunu okuyun; ama bir oyun projesine başlamak için Ücretsiz kütüphane [Oyun: Drop Block]
  • Android için cocos2d : Çöp Toplayıcı sorunu
  • rokon : İyi performans ve mobil cihazlar için tasarlandı, ancak proje ölü gibi görünüyor.

Fizik Motoru:

  • box2d (OpenSource): hızlı ve kolay
  • jbox2d (OpenSource): Java'da o kadar yavaş ki, yerel box2d'yi kullanmak için SWIG ile bir JNI sarıcı yaptım (AndEngine aynı şeyi yapıyor)
  • sincap (Açık Kaynak): hızlı ama box2d'yi tercih ederim
  • bullet (Açık Kaynak): mükemmel 3D motor

Uyarı, Froyo ve JIT ile Java kitaplıkları çok daha iyi performans gösteriyor. Ancak Çöp Toplayıcı sorunları her zaman geçerlidir. Gingerbread ile, çöp toplayıcı süreklidir, bu yüzden sorun değil.


1
Ayrıca cocos2d-x'i de eklemek isterim, MIT lisansı altındadır ve hem Android, iOS hem de Windows Phone'da çalışır. Bunun yukarıda belirtilenlerden farklı olduğuna inanıyorum, çünkü bu özellikle C ++ değil Java.
Jamornh

AndEngine, box2d paketleyicisini libgdx'ten ödünç alıyor.
Matsemann

6
Unity3d, C ++ değil. Javascript lehçesi ve boo C # 'yi destekler
lhk

İsterseniz kesinlikle yerelden de yapabilirsiniz. Tiny Words yapanlar jmoses.co/2014/10/23/… '
John Moses

1
SDL Java değil; C: Deneymiş olabileceğiniz Java, C kodunu çağıran bir sarmalayıcı / ciltlemedir. Motorun hiçbir işlevselliği Java'da gerçekleşmez.
Slipp D. Thompson


11

AndEngine oldukça yeni, ancak açık kaynak ve umut verici görünüyor.

Kendini tanıtma:

Ücretsiz Android 2D OpenGL Oyun Motoru. AndEngine, Nicolas Gramlich tarafından geliştirilmiştir.


1
İPhone'da Cocos2d'den gelen bu konuda biraz deney yaptım ve sprite tabanlı 2d oyunları için şimdiye kadar oldukça iyi görünüyor. Proje aktif görünüyor ve çevresinde iyi bir forum topluluğuna sahip.
Matt Guest,

AndEngine hakkında ... Oldukça basit bir oyun yapmaya başladım ve bir süre sonra AndEngine ile ilgili olumsuz eleştiriler almaya başladım. Bu yüzden, bir test yaptım ve oyunuma 20 dev ekledim. "Kitabın yanında" her şeyi yaptım ve neredeyse HTC desire Z'mi öldürüyordu.

@AscensionSystems Orada ne yaptığını bilmiyorum, ama yanlış yaptığını biliyorum. Desire Z ile kolayca ekranda hareketli yüzlerce Sprite sahip olabilirsiniz. Basitçe örneklerde kıyaslamaları çalıştırın; doğru yapmayı göreceksiniz.
Nicolas Gramlich 19:11

Sağol Nicolas, motorunuz için "takıldığınızı" takdir ediyorum ama açıkçası yanlış bir şey yapmadım. Android ile bir ilgisi var ve VBO'nun çağrılarıyla GC'yi de tetikleyen bir hata var. VBO'ları devre dışı bırakarak iyi çalışan andengine alabilirim ancak bu da telefonumun çok ısınmasına neden oldu, 5 dakikalık oyundan sonra ortaya çıkacak. LibGDX ile aynı sorunu yaşadım, bu yüzden kendi motorumu C ++ 'da yazdım. Ayrıca örnekler uygulamasını kullanarak ekranda "yüzlerce" ifadesini elde edemezsiniz. Motorunuzla gecikmeden önce yaklaşık 90 128x128, 2 "kare" hareketli fiziksel sprite alabilirim.

(devam) ... motorumda, kare hızımın 60 fps'nin altına düşmeye başladığını görmeden önce ekranda 170, 512x512, 16 "kare" hareketli fiziksel spritler alabilirim.

8

Ben oyunu kullanmak düşünüyorum Kopya Ada dan Chris Pruett bir 2d oyun bir örnek olarak. Google I / O 2010'dan bu videoda anlatıldığı gibi diğer oyunların üssü olması gerektiğini düşünüyorum . Oyunu buradan izleyebilirsiniz .


Evet, bu iyi bir video, özellikle de verimlilikten söz ettiğinde kesinlikle izlemeye değer.
Spidey

7

Unity3D (teknik olarak 2D oyunlar yapmak için kullanılabilir) Android için "yakında geliyor": http://unity3d.com/


Evet, kesinlikle aynı fikirdeyim. İkincisi, Unity3D lisansları için ödeme yaparsanız, aynı işi birden fazla platformda yayınlayabilirsiniz. Yani ÜCRETSİZ WINDOWS / MAC lisansı ile başlarsınız. Programı öğren. Ardından lisansı, ilk önce uygun gördüğünüz platformlara yükseltin. Şu anda Android olsa, Unity3D PRO + Android PRO = 3000 $ ihtiyacınız olan anlamına gelir sadece PRO baskısı ...
BerggreenDK

İOS için Cocos2D kullanarak 10-15 2D oyun yaptım, bir tane Unity 4.6 kullanarak yaptım ve korkunç bir deneyim oldu, yavaş ve yanlış - iOS için - diğer platformlar için performans hakkında hiçbir şey söyleyemem .. 4.6 oldukça gelişmiştir. daha önce 2D malzemelerle çalışırken, Cocos2D ya da muhtemelen diğerlerinden farklı bir 2D rendering motoruna yakın değil. Performans korkunç ve hala iOS 64 bit desteği ile mücadele ediyorlar. Bununla birlikte, elbette çoklu platform gücü en büyük ... kuvvet.
Jonny,




4

Halen devam etmekte olan bir Android SDL bağlantı noktası var ve SDL muhtemelen en iyi 2D grafik çerçevesi. Blizzard'daki liderlerden biri tarafından tasarlandı, bu yüzden oyun yapımında bazı gerçek uzmanlıkların bulunduğunu biliyorsunuz.


3

SIO2 Oyun Motoru. Sadece tam Android Desteği olan yeni bir sürümünü yayınladı. Farklı platformlar arasındaki bağlantı noktasını kullanarak 2D ve 3D oyunlar oluşturabilirsiniz. http://sio2interactive.com



2

Hem Windows Mobile hem de Android için olması gereken YoghurtGum adlı açık kaynaklı bir 2d oyun motoru üzerinde çalışıyorum . Ancak, her şeyi Android C ++ 'a taşımak son derece zor olduğunu kanıtladı.

Bu şimdiye kadarki en yararsız cevap, ben de farkındayım.


2

AIR for Android'de geliştirme yapmak istiyorsanız, Flash'ı kullanabilirsiniz. Flash'ın kendisi oyuna özgü hiçbir özelliğe sahip değildir, ancak Flash'ın web'deki başarısı sayesinde özellikle oyunlar için tasarlanmış çok sayıda 3. parti kitaplık vardır.

Flash'taki oyunlar için daha popüler olan 3. parti çerçevelerden bazıları, oyun geliştirme için tamamen tasarlanmış olan Flixel (http://flixel.org/) ve PushButtonEngine (http://pushbuttonengine.com/) 'dır. Flash'ın ayrıca Box2D sürümü var (yukarıda belirtilen fizik motoru - http://box2dflash.sourceforge.net/ ) ve Papervision (http://code.google.com/p/papervision3d/) gibi çeşitli 3B kütüphaneler vardır. Gelecekte o yoldan gitmek istiyorsanız.

Yine de AIR'de gelişmenin en büyük dezavantajı, Froyo 2.2 veya daha yenisini hedeflemeniz gerektiğinden emin olduğumdan eminim, bu nedenle eski telefonlar dışarıda kalacak.


AndEngine'a ek olarak AIR for Android Betas ile de oynuyorum ve biraz yavaşlarsa oldukça güzeller. Bence strateji oyunları ya da çok fazla unsur içermeyen aksiyon oyunları için iyi çalışacağını düşünüyorum. Yine de 2.1 beta sürümüyle çalışıyorum, bu nedenle 2.2'deki son sürüm oldukça hızlı olabilir, henüz emin değilim. Kesinlikle izlenecek bir şey var.
Matt Guest,

1

Cocos2D-x , Android NDK'yi hedef alan C ++ ile yazılmış iPhone için bir Cocos2D limanıdır ve iPhone sürümüyle özellik eşliği elde etmek için aktif olarak geliştirilmektedir. Çöp toplama sorunları olmaz ve yakın gelecekte iOS, Win32 ve muhtemelen OSX'e nispeten kolay bir bağlantı noktası elde edersiniz.


0

PlayN , HTML5, Flash ve JVM'e ek olarak Android'i hedefleyen çok platformlu bir 2D oyun çerçevesidir. Biraz yeni, ancak Angry Birds’ün HTML5 uygulamasını yazmak için kullanıldı ve oldukça aktif bir topluluğa sahip.

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.