안드로이드와 iOS를위한 2D 크로스 플랫폼 게임 엔진? [닫은]


262

Unity3d와 함께 일한 적이 있는데 OnGUI () 또는 GUITextures가 너무 서투른 2D 부분이라는 것을 알았습니다. 또한 Unity3d에서 수행되는 가장 작은 게임조차도 최소 10MB 다운로드로 2D 게임에는 너무 많습니다.

저는 현재 2D 용 엔진을 찾고 있습니다. Cocos2D를 사용해 보았지만 iOS 전용이며 Android 용 다른 언어로 모든 것을 다시 작성하고 싶지 않습니다 (예 : Android 용 Cocos2d의 Java 포트는 옵션이 아닙니다). 대신 코드를 한 번 작성하고 iOS, Android 및 Windows Phone 7에 번거롭게 배포하고 싶습니다. Mac과 Windows가 모두 있습니다.

더 자세하게 말하면, 엔진에 대한 요구 사항은 다음과 같습니다.

  • 크로스 플랫폼이어야합니다
  • 효율적이어야한다
  • C ++, 자바, C #이나 내가 그들과 함께 편안 해요 때문에 객관적인 C해야 하지 내가 웹 개발자 아니다 이후 플래시, 자바 스크립트, HTML5를
  • iOS 또는 Android에서 직접 개발할 때 필요한 대부분의 내용을 다루는 대규모 커뮤니티, 자습서, 추가 라이브러리가 있어야합니다 (인앱 결제, 페이스 북 등).
  • 최종 배송 된 패키지는 너무 크지 않아야합니다
  • 엔진은 무료이지만 합리적인 가격을 지불해도 괜찮습니다.

다음 엔진을 찾았습니다.

  • Marmalade (그리고 위에 IwGame 엔진 )-C ++, Marmalade에 대한 전반적인 매우 긍정적 인 리뷰를 찾았지만 IwGame에 대해서는 확실하지 않습니다. 편집 (2013 년 3 월) : Marmalade SDK에는 이제 Cocos2Dx와 내장 된 IDE가 포함되어있어 훨씬 나아졌습니다 (인디 개발자에게는 연간 150 달러가 들었습니다).
  • 코로나 SDK- 루아 (의심 의심) 코드를 컴파일하기 위해 인터넷 연결이 필요합니다
  • Cocos2d-x -C ++는 개발자들로부터 많은 리뷰를 받았으며 대부분 긍정적이고 2D에 가장 적합하다고 생각합니다.
  • 입자 코드 -Java + Eclipse, 리뷰 또는 댓글이 없습니다.
  • Moai -Lua,에 대한 리뷰 / 의견이 없습니다.
  • 원숭이 엔진 -기능이 너무 적은 것 같습니다
  • Haxenme- 플래시입니다. 사용한 적이 없으며 사용하고 싶지 않습니다.
  • Unity3d를 사용 하지만 2D 툴킷과 같은 2D 패키지와 함께 사용
  • 의 포트 SDL안드로이드 (도 여기에 )와 아이폰 OS는 - 많은 지원 또는 현재의 개발을 위해 보이지 않는 (?)
  • GLBasic- 기본 언어, 마음에 들지 않습니다
  • playN- 개발 초기 단계 인 것 같습니다 (?)
  • Gamvas -HTML5, 나에게 성숙한 엔진처럼 보이지 않습니다
  • Ignifuga- 파이썬도 성숙해 보이지 않습니다
  • ORX- 아직 개발되었는지 확실하지 않습니다 (?)
  • 컨스 트럭 트 2 -GameMaker를 상기시켜줍니다. 빠른 프로토 타입에는 적합하지만 업계 수준 게임에는 적합하지 않습니다
  • XNA 를 사용한 다음 ExEn을 사용하여 게임 을 포팅합니다 (iOS로 포팅 하려면 모노 터치 가 필요 하고 안드로이드 로 포팅하려면 모노가 안드로이드 가 필요합니다 )-C #, 아마도 xBox와 같은 Microsoft 제품에서 온 사람들이 더 생각할 것입니다 (Android에서 나옴). 또한, 이러한 소규모 도구는 소규모 개발자의 경우 총 800 달러입니다.
  • 영향 -JavaScript, HTML5를 사용합니다. JavaScript에 익숙하지 않습니다 (예 : Unity3d에서 선호하는 C #). 브라우저에서 실행되므로 효율성에 대해 확신하지 못합니다 (?)
  • GameMaker- 자체 스크립팅 언어 GML이며 실제로 프로그래머가 아닌 사람을위한 도구로 기억합니다. 실제로 실제 엔진으로 성장 했습니까? 진지한 개발을 의미합니까?
  • AppGameKit -C ++이지만 아직 꽤 새로운 것 같습니다. 리뷰를 찾지 못했습니다
  • 사용 적인 Cocos2D 하고 객관적인 C는 iOS 용 개발하고 사용하는 그것의 안드로이드에 대한 APK를 만들 스텔라 SDK를 . 누구든지 이것을 했습니까? 제한이있을 것으로 확신하며 Android에서 Google의 인앱 결제, AdMob 및 Facebook 통합은 어떻습니까?
  • Moscrif -JavaScript, 이전 웹 개발자에게 더 유용한 것 같습니다
  • Starling -Flash 11, Flash에별로 관심이 없습니다.
  • ND2D- 아직 1.0이 아니라 많은 기능이 있습니까?

따라서 엔진에 대한 경험을 언급하고 설명 된 요구 사항에 가장 적합한 목록 중 하나 (또는 ​​내가 놓친 것)를 제안 할 수 있다면 기쁠 것입니다. 또한 일부 엔진에 대한 첫인상이 잘못되었을 수도 있습니다.

나는 현재 Marmalade + IwGame을 최고의 옵션으로 생각하고 있지만 Cocos2d-x 및 입자 코드에 대한 정보가 많지 않기 때문에 확실하지 않습니다.

감사합니다!

편집 (2013 년 6 월): 지금까지 2 개의 크로스 플랫폼 2D 게임을 만들고 2D 툴킷 플러그인과 함께 Unity3D를 사용했습니다. 간단한 GUI가있는 게임에는 Unity 자체에 기반한 간단한 자체 제작 GUI 시스템을 사용했습니다. 더 복잡한 것을 위해 (예 : GUI 요소가 겹칠 수있는) NGUI 플러그인을 사용했습니다. 최근 2D 툴킷은 NGUI를 2D 툴킷과 결합 할 때 텍스처 아틀라스에 2 개의 서로 다른 시스템을 사용해야했기 때문에 GUI에 대한 클래스를 추가했습니다. 다음 2D 게임에서 확실히 시도하겠습니다. 2D 게임에 Unity3D를 선택하는 주된 이유는 이미 경험과 재사용을위한 누적 코드 스 니펫 측면에서 Unity3D에 대해 깊이 알고 있었기 때문입니다. 또한 3D 게임용 Unity3D pro (Android Pro 및 iOS Pro 포함)를 구입했으며 2D 툴킷에 2D 게임도 적용하려면 60 달러를 추가로 지불하는 것이 합리적입니다. 나는 지금까지 나의 결정을 후회하지 않으면, 그것은 나의 경우에 최적 인 것 같다. 나에게 두통을 준 유일한 것은 Prime31의 플러그인 (Android & iOS social plugins)으로 소셜 기능을 추가하는 것이었지만 버그는 Prime31의 결함이 아니라 Twitter / Facebook의 결함이라고 가정합니다. 다른 엔진이나 플러그인.

편집 (2014 년 1 월) : Unity 4.3을 사용하면 내 질문에 대한 대답이 분명합니다 .Unity의 새로운 스프라이트 시스템 및 2DToolkit은 특히 나 같은 사람이 Unity에 오랫동안 머물렀던 사람들을 위해 완전히 다른 것을 이겼습니다. 애드온이 포함 된 Pro 버전을 구입했습니다.


그리고 어느 쪽을 선택 했습니까? 어떤 libgdx 또는 andEngine에 대해, U 심지어 내가 생각했던 그들에 대해 언급 din't있는 대부분의 대부분의 플레이
kosnkov

1
@kosnkov-쓰기 1 회 배포를 포함하는 요구 사항을 지정했습니다 (Windows Phone a 플러스 옵션이있는 iOS 및 Android). andEngine은 Android 전용이며 libgdx는 iOS (또는 Windows Phone)를 대상으로하지 않으므로 자격이 없습니다.
sprite

1
GUI 용 Unity3D 및 NGUI 플러그인으로 3D 게임을했습니다. 2D 게임을해야한다면 Cocos2d-x와 Marmelade
iseeall을

1
웹 사이트에서 판단하면 libgdx 가 iOS를 지원 한다고 확신 합니다. 그래도 Windows Phone은 없습니다.
Ehtesh Choudhury

1
이와 같은 매우 유용한 질문이 항상 "주제 이외"로 닫히는 이유는 무엇입니까? 아마 "정보"와 의견을위한 별도의 플랫폼을 만들어야 할 것입니다.
Bogdan Alexandru

답변:


33

나는 함께 일 Marmalade했고 만족 스럽습니다. 무료는 아니지만 개발자 커뮤니티도 충분히 크지는 않지만 여전히 튜토리얼을 사용하여 대부분의 작업을 처리 할 수 ​​있습니다. (몇 번이라도 자습서를 작성하겠습니다).
IwGameMarmalade 사용자 중 한 명이 개발 한 좋은 엔진입니다. 기본 게임에는 좋지만 심각한 고급 게임을 찾고 있다면 Cocos2D-xMarmalade와 함께 사용할 수도 있습니다 . 나는 Cocos2D-x를 사용한 적이 없지만 Marmalade 's에는 확장 기능이 Github있습니다.
Marmalade의 또 다른 좋은 점은입니다. 이것은 Marmalade가 EDK (Extension Development Kit)아닌 네이티브 코드로 사용할 수있는 기능을 확장 할 수있게 해줍니다. 나는'

편집 :
Marmalade는 이제 2D 개발 전용의 RAD (Rapid Application Development) 도구를 가지고 Marmalade Quick있습니다. 코딩은 C ++이 아닌 Lua에 있지만 C ++ Marmalade 위에 구축되었으므로 C ++ 라이브러리 및 기타 모든 EDK 확장을 쉽게 포함 할 수 있습니다. 또한 Cocos-2DxBox2D확장 프로그램이 Quick에 사전 포함되어 있습니다. 그들은 최근에 출시 버전 (3-4 개월 동안 베타 버전)을 출시했습니다. 우리는 단지 2D 개발만을 찾고 있다고 생각합니다. 시도해보십시오.

업데이트 :
Unity3D는 최근 GUI 및 편집기로 인해 다른 2D 게임 엔진보다 나은 2D 게임에 대한 지원을 시작했습니다. 물리, 스프라이트 등 지원이 내장되어 있습니다. 당신은 그것을 볼 수 있습니다.

업데이트 2
Marmalade는 곧 사내 게임 제작을 위해 SDK를 중단 할 예정입니다. 따라서 그것에 의존하는 것은 현명한 결정이 아닙니다.


또한 너무이 SO 질문을 읽을 수 있습니다 - stackoverflow.com/questions/12059539/cocos2d-or-iwgame
멍청한 놈

고마워, Cocos2D-x가있는 Marmalade가 실제로 내 경우에 가장 적합한 옵션 일 수 있습니다.
iseeall

2
이런 종류의 질문이 제기 될 때 [LibGDX] [1]를 잊어 버리는 것은 용서할 수 없습니다 !!! ;) [1] : libgdx.badlogicgames.com
Ewoks

업데이트 확인 :-)
멍청한 놈

언리얼 엔진 4.3.0도 경쟁자가 될 수 있습니다. 편집기와 모두가있는 C ++입니다.
ervinbosenbacher

43

LibGDX 는 내가 사용한 최고의 엔진 중 하나이며 거의 모든 플랫폼에서 작동하며 대부분의 테스트에서 cocos2d-x보다 두 배 빠릅니다. 원하는 JVM 언어를 사용할 수 있습니다. 여기 자바의 13 부 튜토리얼, 그리고 여기에 JRuby를를 사용하여 무리. 그것으로 작동하는 좋은 골격 애니메이션 도구있다 여기가 , 그리고 그것은 타일 TMX에 대한 지원에 구운있다뿐만 아니라 매핑합니다. UI 프레임 워크는 훌륭하며 cocos2d 장면, 스프라이트 및 액션과 유사한 장면 그래프 및 액터 스타일 API가 있습니다. 커뮤니티는 훌륭하고 업데이트는 빈번하며 문서는 좋습니다. Java 부분이 당신을 놀라게하지 마십시오. 빠르며 jruby 또는 scala 또는 원하는 것을 사용할 수 있습니다. 나는 2D 또는 3D 작업에 강력히 권장합니다.


5
이제 LibGDX는 iOS에서도 작동합니다. 그러나 :) Monotouch 라이선스 ~ 400 $ 비용
JavaRunner

5
버전 0.9.9의로 무료있는 iOS 용 RoboVM를 사용
제임스 맥 크라켄

1
나는 LibGDX와 cocos2dx와 광범위하게 작업했습니다. 그리고 cocos2dx가 훨씬 빠릅니다 (빠른 개발 + 성능 + 툴링). 안드로이드 전용으로 가고 있다면 LibGDX를 사용하지 않는 것이 좋습니다! LibGDX의 크로스 플랫폼 지원은 매우 나쁩니다. 이는 RoboVM 또는 Xamarin에 따라 다릅니다. Xamarin과 RoboVM은 iOS에서 컴파일 및 실행을 매우 느리게 만듭니다. 결국 유지 관리가 매우 어려워집니다.
user18853

13

Haxe / NME를 언급했지만 본능적으로 싫어하는 것 같습니다. 그러나 그것에 대한 나의 경험은 매우 긍정적이었습니다. 물론, API는 Flash API를 다시 구현 한 것이지만 Flash를 대상으로 제한되지 않으며 HTML5 또는 기본 Windows, Mac, iOS 및 Android 앱으로 컴파일 할 수도 있습니다. Haxe는 Java 또는 C #과 유사한 유쾌하고 현대적인 언어입니다.

당신이 관심이 있다면, 나는 Haxe / NME를 사용하여 내 경험에 대해 조금 작성했습니다 : 링크를


"HTML5 / Javascript (또는 Flash / ActionScript) 게임을 가지고 있고 Windows, iOS 및 그 이상으로 가져 가고 싶다면"기사에서 감사합니다. 이 엔진은 모바일 플랫폼으로 전환하려는 웹 개발자를위한 것입니다.
iseeall

Haxe / NME는 게임 엔진이 아니며 기술 스택의 일부를 형성하는 플랫폼입니다. 모바일 플랫폼으로 전환하려는 웹 개발자에게는 적합하지 않습니다. JavaScript와 같은 열등한 언어를 처리하지 않고도 가능한 한 많은 플랫폼으로 게임을 즐기려는 게임 개발자를위한 것입니다. HAXE / NME는 매우 강력하지만 사물의 소리에서 나는 그것이 당신이 찾고있는 것이라고 생각하지 않습니다.
anber

12

V-Play (v-play.net)는 Qt / QML 기반의 크로스 플랫폼 게임 엔진으로, 여러 디스플레이 해상도 및 종횡비, 애니메이션, 입자, 물리, 멀티 터치, 제스처, 경로 찾기 등 API 참조 엔진 코어는 기본 C ++로 작성되었으며, 커스텀 렌더러와 결합하여 모든 장치에서 60fps의 견고한 성능에 도달했습니다.

V-Play에는 타워 디펜스, 플랫폼 게임 또는 퍼즐 게임과 같은 가장 성공적인 게임 장르를위한 즉시 사용 가능한 게임 템플릿이 제공됩니다.

V-Play로 만든 게임에 대해 궁금한 점이 있으면 다음과 같이 선택하십시오.

(면책 조항 : 나는 V-Play의 녀석 중 하나입니다)


7

다음은 LinkedIn의 유사한 질문에 대한 Richard Pickup의 답변입니다.

iOS와 안드로이드 모두에서 cocos 2dx marmalade와 unity를 사용했습니다. 2D 게임의 경우 cocos2dx는 매번 갈 수있는 방법입니다. 유니티는 2D 게임에 너무 과잉이며 이미 언급했듯이 마멀레이드는 실제로 게임 엔진이 아닌 얇은 추상화 레이어입니다. 마멀레이드 위에서 cocos2d를 실행할 수도 있습니다. 내 접근 방식은 iOS 및 Android에서 cocos2dx를 사용하고 나중에 bb10으로 포팅하고 전화 7을 얻는 쉬운 방법으로 마멀레이드 위에 cocosd2dx 코드를 실행하는 것입니다.


7

며칠 전에 멋지고 깔끔한 웨이브 게임 엔진을 발견했습니다. 그것은 C #을 사용하고 Windows Phone 및 Windows Store 변환기도 가지고있어서 XNA를 대체 할 수 있습니다.


6

무엇에 대한 LibGDX BadLogicGames에서?


1
libGDX가 iOS에서 실행되는 것을 몰랐습니다. MonoDroid 라이센스가 필요합니다. 현재는 399 달러가 아닌 999 달러 (현재 MSIL 32KB 미만인 앱은 보이지 않습니다)입니다.
ashes999

6

Check Out Loom ( http://theengine.co )은 장치의 핫 스와핑 코드 및 자산을 특징으로하는 새로운 크로스 플랫폼 2D 게임 엔진입니다. 즉, Photoshop에서 에셋으로 작업하고, 코드를 업데이트하고, 앱 / 게임의 UI를 수정 한 다음, 앱이 실행되는 동안 장치의 변경 사항을 볼 수 있습니다.

내가 들었거나 가지고 놀았 던 다른 크로스 플랫폼 게임 엔진을 생각하면 Loom 게임 엔진은 많은 훌륭한 기능을 갖춘 최고의 의견입니다. 다른 유사한 게임 엔진 (Corona SDK, MOAI SDK, Gideros Mobile)의 대부분은 Lua 기반입니다 (이상한 구문은 적어도 저에게는 이상합니다). Loom 게임 엔진은 ActionScript 3에서 영감을 얻은 스크립팅 언어 인 LoomScripts와 C #에서 빌린 몇 가지 기능을 사용합니다. ActionScript 3, C # 또는 Java로 개발 한 적이 있다면 LoomScript가 익숙해 보일 것입니다 (Lua의 구문보다이 구문에 더 익숙합니다).

Loom 게임 엔진의 1 년 라이센스 비용은 $ 500이며 인디 게임 개발자에게는 저렴한 가격이라고 생각합니다. 몇 주 전에 1 년 라이센스도 무료로 제공했습니다. 라이센스가 만료 된 후에도 Loom을 사용하여 자신 만의 게임을 만들고 배포 할 수 있지만 추가 업데이트는받지 않습니다. Loom의 제작자는 매우 확신을 가지고 있으며 다른 라이센스를 구매할 가치가있는 아기를 지속적으로 향상 시키겠다고 약속했습니다.

더 이상 고민하지 않고 Loom의 훌륭한 기능은 다음과 같습니다.

  1. 크로스 플랫폼 (iOS, Android, OS X, Windows, Linux / Ubuntu)

  2. Rails에서 영감을 얻은 워크 플로를 사용하면 게임 작업에 시간을 할애 할 수 있습니다 (하나는 새 프로젝트를 생성하고 다른 하나는 프로젝트를 실행)

  3. 빠른 컴파일러

  4. 라이브 코드 및 자산 편집

  5. 타사 라이브러리 통합 가능성

  6. 렌더링에 Cocos2DX 사용

  7. XML, JSON 지원

  8. UI 요소 스타일링을위한 LML (markup language) 및 CSS

  9. UI 라이브러리

  10. 의존성 주입

  11. 단위 테스트 프레임 워크

  12. 다람쥐 물리학

  13. 변경 사항을 실시간으로 확인하면 다중 장치 개발이 쉬워집니다

  14. 작은 다운로드 크기

  15. 팀을 위해 제작

Loom에 대한 자세한 비디오는 여기 ( http://www.youtube.com/user/LoomEngine?feature=watch) 에서 찾을 수 있습니다 .

이 4 부 심층 튜토리얼도 확인하십시오 : http://www.gamefromscratch.com/post/2013/02/28/A-closer-look-at-the-Loom-game-engine-engine-Part-one-getting -started.aspx


5

AppGameKit을 사용해 보았습니다 .C ++과 Basic입니다. 물리, 충돌 및 힙과 함께 기본 변형에서 2D 게임을 코딩하는 것은 매우 쉽습니다. 또한 적극적으로 개발 중이며 실제로는 저렴합니다 (65 $). 주요 문제는 Android 용 컴파일이 실제로 어렵다는 것입니다 (파일 더미를 다운로드하고 어려운 가이드 및 그와 같은 것을 따라야합니다) 내 의견은 아직 상업적 용도로는 충분하지 않지만 인디 프로그래머에게는 좋습니다 중간 규모의 커뮤니티가 있습니다


4

저는 현재 비즈니스 응용 프로그램에 Corona를 사용하여 큰 성공을 거두었습니다. 게임이 진행되는 한 다른 플랫폼 간 개발 엔진의 성능을 제공하지 못한다는 인상을 받고 있습니다. Carlos (Ansca Mobile / Corona SDK 설립자)는 경쟁 엔진에서 다른 회사를 시작했다는 점에 주목할 가치가 있습니다. Appcelerator Titanium 용 Lanica Platino 엔진. 개인적 으로이 작업을 수행하지는 않았지만 유망한 것으로 보입니다. 단, $ 999 / yr 가격표가 함께 제공됩니다.

그러나, 나는 이미 잠시 동안 Moai를 연구 해 왔으며 (나는 이미 Lua 구문에 익숙하기 때문에) 유망한 것으로 보입니다. 모바일 환경에 국한되지 않고 여러 플랫폼을 위해 컴파일 할 수 있다는 사실이 매력적입니다.

Multimedia Fusion 2는 제작 된 게임의 복잡성과 그로부터 실현 된 성능을 고려하여 가치있는 경쟁자입니다. 빈 세레 토 투스 아스트 룸 (Vincere Totus Astrum, http://gamesare.com )이 떠오른다.


3

최근 에이 작업을 수행하기 위해 AS3 엔진을 사용했습니다 : PushButton (현재는 죽었지 만 여전히 작동하고 다른 것을 사용할 수 있습니다). Android 및 iOS에서 작동하도록하기 위해이 프로젝트는 두 플랫폼 모두에 대해 AIR로 컴파일되었으며 모든 것이 성능 저하없이 작동했습니다. Flash Builder는 비용이 많이 들기 때문에 ($ 249) FlashDevelop를 사용할 수 있습니다 (AIR로 컴파일하는 자습서도 있습니다).

플래시는 배우기 매우 쉬우므로 옵션이 될 수 있습니다.

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