EDYCJA: PSA: Pamiętaj, że ta odpowiedź została napisana w 2012 roku, a 3 lata później istnieje o wiele więcej silników, a wiele z nich jest stworzonych wyłącznie na urządzenia mobilne. Nie bierz tej odpowiedzi za pewnik i szukaj w wyszukiwarce Google nowszych wyszukiwarek.
Przesyłam Irrlicht na Androida i używam go do gier 2D. To nie jest najlepsze rozwiązanie, ale mam dobre wyniki. Wypróbowałem wiele frameworków Java, ale Garbage Collector może opóźnić twoje gry w 0.2s na telefonie G1 ... Więc framework powinien bardzo ostrożnie alokować.
Komercyjne frameworki C ++:
- unity3D : bardzo dobry (dostępny na Androida, iOS, Internet, Windows, OS X) [Gra: Rocket Bunnies]
- Unreal Engine (reklama): najlepszy silnik, ale nie dla początkujących [Gra: Dungeon Defenders]
Frameworki C ++ Open Source:
- SDL : prawdopodobnie najlepsza biblioteka C dla twórców gier, oprogramowania open source i międzyplatformowego (w tym mobilne)
- Ogre3D : najlepszy silnik 3d typu open source, ale jest to duży framework
- Irrlicht : dobra wydajność, lekki framework [Gra: Moblox]
- Linderdaum Engine : open source dla Windows i Androida
- Cocos2d-x : wieloplatformowa platforma open source
Struktury Java Open Source:
- LibGDX : Open Source, bardzo popularny, obsługuje wiele platform, obsługuje kafelki, Box2D i inne, dobra dokumentacja
- AndEngine (Open Source): dobra wydajność. Aby uzyskać dokumentację, przejrzyj przykłady i przeczytaj kod źródłowy; ale jest to darmowa biblioteka do rozpoczęcia projektu gry [Game: Drop Block]
- cocos2d dla Androida: problem z Garbage Collector
- rokon : dobra wydajność i zaprojektowana na urządzenia mobilne, ale projekt wydaje się martwy.
Silnik fizyki:
- box2d (OpenSource): szybki i łatwy
- jbox2d (OpenSource): tak wolno na Javie, że stworzyłem opakowanie JNI z SWIG, aby używać natywnego box2d (AndEngine robi to samo)
- chipmunk (OpenSource): szybki, ale wolę box2d
- bullet (OpenSource): doskonały silnik 3D
Ostrzeżenie: dzięki Froyo i JIT biblioteki Java działają znacznie lepiej. Ale problemy z Garbage Collector są zawsze aktualne. W przypadku piernika pojemnik na śmieci jest ciągły, więc nie ma problemu.
Dziwi mnie, że nikt nie wspomniał o libgdx. http://code.google.com/p/libgdx/
źródło
AndEngine jest całkiem nowy, ale jest open source i wygląda obiecująco.
Samoopis:
źródło
Myślę, że możesz użyć gry Replica Island od Chrisa Pruetta jako przykładu gry 2D. Myślę, że ma to być baza dla innych gier, jak wyjaśniono w tym filmie z Google I / O 2010. Możesz obejrzeć grę tutaj .
źródło
Unity3D (które technicznie można wykorzystać do tworzenia gier 2D) „wkrótce” na Androida: http://unity3d.com/
źródło
cocos2d dla Androida jest oparty na bibliotece cocos2d dla iPhone'a . W tej chwili nie jestem pewien, jak użyteczny, ale warto to sprawdzić.
źródło
Rokon wygląda całkiem nieźle, sam tego nie próbowałem, ale wydaje się dość aktywny.
źródło
androidbox2d to port Androida Box2D. Box2D to bogaty w funkcje silnik fizyki ciała sztywnego 2D.
źródło
Obecnie działa port SDL na Androida , a SDL jest prawdopodobnie najlepszą dostępną platformą graficzną 2D. Został zaprojektowany przez jednego z liderów Blizzarda, więc wiesz, że w to się zaangażowało.
źródło
Silnik gry SIO2. Właśnie wydałem nową wersję z pełną obsługą Androida. Za jego pomocą możesz budować gry 2D i 3D oraz przenosić je między różnymi platformami. http://sio2interactive.com
źródło
SILNIK Slick2D i GOLDEN T GAME
źródło
Pracuję nad silnikiem gier 2D typu open source o nazwie YoghurtGum, który powinien być przeznaczony zarówno dla systemu Windows Mobile, jak i Androida. Jednak przeniesienie całej rzeczy do Androida C ++ okazało się niezwykle trudne.
To najbardziej nieprzydatna odpowiedź, jak dobrze wiem.
źródło
Jeśli masz ochotę programować w środowisku AIR dla Androida, możesz użyć Flasha. Sam Flash nie ma w rzeczywistości żadnych funkcji specyficznych dla gry, ale dzięki sukcesowi Flasha w Internecie istnieje ogromna liczba bibliotek stron trzecich specjalnie zaprojektowanych do gier.
Niektóre z bardziej popularnych zewnętrznych platform gier dla Flasha to Flixel (http://flixel.org/) i PushButtonEngine (http://pushbuttonengine.com/), które są w pełni zaprojektowane do tworzenia gier. Flash ma również wersję Box2D (wspomniany wyżej silnik fizyki - http://box2dflash.sourceforge.net/ ) i istnieją różne biblioteki 3D, takie jak Papervision (http://code.google.com/p/papervision3d/) jeśli chcesz pójść tą drogą w przyszłości.
Główną wadą programowania w AIR jest to, że jestem prawie pewien, że będziesz musiał kierować reklamy na Froyo 2.2 lub nowszy, więc starsze telefony zostaną pominięte.
źródło
Cocos2D-x jest portem Cocos2D na iPhone'a napisanym w C ++, przeznaczonym dla Androida NDK i jest aktywnie rozwijany w celu osiągnięcia parytetu funkcji w stosunku do wersji na iPhone'a. Nie będzie miał problemów z odśmiecaniem pamięci, a w najbliższym czasie otrzymasz stosunkowo łatwy port dla iOS, Win32 i prawdopodobnie OSX.
źródło
PlayN to wieloplatformowa platforma do gier 2D, która oprócz Androida HTML5, Flash i JVM obsługuje Androida. Jest to nieco nowe, ale zostało użyte do napisania implementacji Angry Birds w HTML5 i ma dość aktywną społeczność.
źródło