Android 용 2D 게임 라이브러리 / 프레임 워크 / 엔진 [닫기]


89

Android 게임을 빌드하는 데 도움이되는 것들이 있습니까?

답변:


62

편집 : PSA :이 답변은 2012 년에 작성되었으며 3 년 후에 훨씬 더 많은 엔진이 존재하며 많은 것들이 순수하게 모바일 장치 용으로 만들어졌습니다. 이 답변을 당연한 것으로 생각하지 말고 최신 엔진을 검색하려면 Google을 검색하십시오.


나는 안드로이드에 Irrlicht를 포팅하고 2D 게임에 사용합니다. 최상의 솔루션은 아니지만 강력한 성능을 제공합니다. 많은 Java 프레임 워크를 시도했지만 가비지 콜렉터는 0.2 초 동안 G1 전화에서 게임을 지연시킬 수 있습니다. 따라서 프레임 워크는 매우 신중하게 할당해야합니다.

상업용 C ++ 프레임 워크 :

  • unity3D : 매우 좋음 (Android, iOS, Web, Windows, OS X에서 사용 가능) [게임 : 로켓 버니]
  • 언리얼 엔진 (상업용) : 최고의 엔진이지만 초보자에게는 적합하지 않음 [게임 : 던전 디펜더]

오픈 소스 C ++ 프레임 워크 :

  • SDL : 게임 개발, 오픈 소스 및 크로스 플랫폼 (모바일 포함)을위한 최고의 C 라이브러리
  • Ogre3D : 최고의 오픈 소스 3D 엔진이지만 큰 프레임 워크입니다.
  • Irrlicht : 좋은 성능, 가벼운 프레임 워크 [게임 : Moblox]
  • Linderdaum Engine : Windows 및 Android 용 오픈 소스
  • Cocos2d-x : 오픈 소스 크로스 플랫폼

자바 오픈 소스 프레임 워크 :

  • LibGDX : 오픈 소스, 매우 인기 있음, 여러 플랫폼 지원, Tiled, Box2D 및 기타 유용한 문서 지원
  • AndEngine (오픈 소스) : 좋은 성능. 설명서는 예제를보고 소스 코드를 읽으십시오. 하지만 게임 프로젝트를 시작하는 것은 무료 라이브러리입니다 [Game : Drop Block]
  • Android 용 cocos2d : 가비지 콜렉터 문제
  • rokon : 좋은 성능과 모바일 용으로 설계되었지만 프로젝트는 죽은 것 같습니다.

물리 엔진 :

  • box2d (오픈 소스) : 빠르고 쉬운
  • jbox2d (OpenSource) : Java에서 느리기 때문에 SWIG로 JNI 래퍼를 사용하여 native box2d를 사용했습니다 (AndEngine도 동일)
  • chipmunk (OpenSource) : 빠르지 만 box2d를 선호합니다
  • 불릿 (OpenSource) : 우수한 3D 엔진

경고 Froyo 및 JIT를 사용하면 Java 라이브러리의 성능이 훨씬 향상됩니다. 그러나 가비지 콜렉터 문제점은 항상 유효합니다. 진저 브레드를 사용하면 가비지 수집기가 연속적이므로 문제가 없습니다.


1
또한 cocos2d-x를 추가하고 싶습니다. MIT 라이센스에 있으며 Android, iOS 및 Windows Phone에서 모두 작동합니다. 나는 이것이 Java가 아닌 C ++에 있기 때문에 위에서 언급 한 것과 다르다고 생각합니다.
Jamornh

AndEngine은 libgdx에서 box2d 래퍼를 빌립니다.
Matsemann

6
Unity3d는 C ++이 아닙니다. 그것은 C #을, 자바 스크립트 방언과 야유를 지원
lhk

원한다면 네이티브를 통해 확실히 할 수 있습니다. Tiny Words를 만든 사람들은 jmoses.co/2014/10/23/…
John Moses

1
SDL은 Java가 아닙니다. 당신이 경험 한 Java는 C 코드를 호출하는 래퍼 / 바인딩입니다. 엔진 기능 중 어느 것도 Java에서 발생하지 않습니다.
Slipp D. Thompson

24

아무도 libgdx를 언급하지 않은 것에 놀랐습니다. http://code.google.com/p/libgdx/


libgdx와 AndEngine은 2D에 가장 적합합니다. 여기서 더 많은 링크를
Michael

@ michael AndEngine 포럼 튜토리얼 sticky : AndEngine 포크 포크를 사용하십시오 ... 많은 문제가 있습니다. 버그. 나는 거기서 배우는 것을 권장하지 않습니다.
matheszabi 2013 년

11

AndEngine 은 매우 새롭지 만 오픈 소스이며 유망한 것으로 보입니다.

자기 소개:

무료 안드로이드 2D OpenGL 게임 엔진. AndEngine은 Nicolas Gramlich에 의해 개발되었습니다.


1
나는 iPhone에서 Cocos2d에서 오는 이것에 대해 약간의 실험을 해왔으며 지금까지 스프라이트 기반 2D 게임에는 꽤 좋은 것 같습니다. 이 프로젝트는 활발한 것으로 보이며 적절한 포럼 커뮤니티가 있습니다.
Matt Guest

AndEngine 소개 ... 나는 꽤 기본적인 게임을 만들기 시작했고 얼마 후 AndEngine에 대한 부정적인 리뷰를 찾기 시작했습니다. 특히 스프라이트가 많은 성능이었습니다. 그래서 나는 초기 개발 단계에서 테스트를하고 20 개의 스프라이트를 게임에 추가했습니다. 나는 "책으로"모든 것을했고 그것은 나의 HTC 욕망 Z를 거의 살해했다. 꽤 실망하고 LibGDX로 바꾸었다.

@AscensionSystems 나는 당신이 무엇을했는지 모르겠지만, 당신이 잘못하고 있다는 것을 알고 있습니다. Desire Z를 사용하면 화면에 수백 개의 움직이는 스프라이트를 쉽게 가질 수 있습니다. 예제에서 벤치 마크를 실행하기 만하면 올바르게 수행하는 방법을 알게됩니다.
Nicolas Gramlich

감사합니다 Nicolas 나는 당신이 당신의 엔진을 "고집"한다는 사실에 감사하지만 솔직히 아무 잘못도하지 않았습니다. 그것은 안드로이드와 관련이 있으며 VBO의 호출과 관련된 버그도 GC를 트리거합니다. VBO를 비활성화하여 제대로 작동하고 엔진을 작동시킬 수 있었지만 약 5 분 동안 플레이 한 후에도 폰이 뜨거워졌습니다. libGDX와 동일한 문제가 있었으므로 C ++로 자체 엔진을 작성했습니다. 또한 예제 앱을 사용하여 화면에 "수백"을 표시 할 수 없습니다. 엔진과 지연되기 전에 약 90128x128, 2 개의 "프레임"애니메이션 물리 스프라이트를 얻을 수 있습니다.

(계속) ... 엔진에서 프레임 속도가 60fps 미만으로 떨어지기 전에 화면에 170, 512x512, 16 개의 "프레임"애니메이션 물리 스프라이트를 얻을 수 있습니다.


7

기술적으로 2D 게임을 만드는 데 사용할 수있는 Unity3D는 Android 용 "곧 출시 예정"입니다. http://unity3d.com/


네, 전적으로 동의합니다. 둘째, Unity3D 라이센스 비용을 지불하면 여러 플랫폼에 동일한 작업을 게시 할 수 있습니다. 따라서 무료 WINDOWS / MAC 라이센스로 시작하십시오. 프로그램을 배우십시오. 그런 다음 라이센스를 가장 적합한 플랫폼으로 업그레이드하십시오. 현재 안드로이드는하지만, 당신은 Unity3D의 PRO + 안드로이드 PRO = $ 3000이 필요 의미 만 PRO 버전은 ...입니다
BerggreenDK

iOS 용 Cocos2D를 사용하여 10-15 개의 2D 게임을 만든 후 Unity 4.6을 사용하여 게임을 만들었으며 iOS에서는 다른 플랫폼의 성능에 대해 아무 것도 말할 수없는 끔찍한 경험이었습니다. 이전부터 2D 작업을 수행 한 결과, Cocos2D와 같은 전용 2D 렌더링 엔진이나 그 밖의 다른 곳에는 없습니다. 성능이 끔찍하며 여전히 iOS 64 비트 지원과 싸우고 있습니다. 물론 멀티 플랫폼의 강도는 가장 큰 것입니다 ...
Jonny


4

Rokon 은 꽤 좋아 보이지만 직접 시도하지는 않았지만 꽤 활동적인 것 같습니다.



4

현재 진행중인 SDL 의 Android 포트가 있으며 SDL은 아마도 최고의 2D 그래픽 프레임 워크 일 것입니다. 그것은 블리자드의 리드 중 하나에 의해 설계되었으므로 게임 제작에 대한 실제 전문 지식이 적용되었습니다.


3

SIO2 게임 엔진. 완벽한 Android 지원으로 새 버전을 출시했습니다. 당신은 그것을 사용하여 2D 및 3D 게임을 구축하고 다른 플랫폼 사이에 포트 할 수 있습니다. http://sio2interactive.com



2

저는 YoghurtGum 이라는 오픈 소스 2D 게임 엔진을 개발 중입니다. YoghurtGum 은 Windows Mobile과 Android 모두에 적합합니다. 그러나 모든 것을 Android C ++로 이식하는 것은 매우 어려운 것으로 입증되었습니다.

이것은 가장 도움이되지 않는 답변입니다. 잘 알고 있습니다.


2

AIR for Android에서 개발하는 것을 좋아한다면 Flash를 사용할 수 있습니다. Flash 자체에는 실제로 게임 전용 기능이 없지만 웹에서의 Flash의 성공 덕분에 특히 게임용으로 설계된 많은 타사 라이브러리가 있습니다.

Flash에서 가장 널리 사용되는 게임용 타사 프레임 워크에는 Flixel (http://flixel.org/) 및 PushButtonEngine (http://pushbuttonengine.com/)이 포함되어 있으며 이는 게임 개발을 위해 완벽하게 설계되었습니다. 플래시도 (위에서 언급 한 물리 엔진 - Box2D의 버전이 http://box2dflash.sourceforge.net/를 ) 및 Papervision 등 다양한 3D 라이브러리가있다 (http://code.google.com/p/papervision3d/) 미래에 그 길을 가고 싶다면

그러나 AIR에서 개발할 때의 주요 단점은 Froyo 2.2 이상을 대상으로해야하므로 구형 핸드셋이 없어 질 것이라는 점입니다.


AndEngine 외에도 AIR for Android Betas를 사용하고 있으며 조금 느리면 꽤 좋습니다. 전략 게임이나 요소가 많지 않은 액션 게임에는 효과적이라고 생각합니다. 2.1에서 베타 버전으로 작업 했으므로 2.2의 최종 릴리스가 상당히 빠를 수도 있습니다. 아직 확실하지 않습니다. 꼭 볼 것이 있습니다.
Matt Guest


0

PlayN 은 HTML5, Flash 및 JVM 외에도 Android를 대상으로하는 다중 플랫폼 2D 게임 프레임 워크입니다. 다소 새롭지 만 Angry Birds의 HTML5 구현을 작성하는 데 사용되었으며 합리적으로 활발한 커뮤니티가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.