Android 및 iOS 용 2D 플랫폼 간 게임 엔진? [닫은]
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로 포팅 하려면 Mono Touch 가 필요 하고 Android 로 포팅하려면 Android 용 모노 가 필요합니다 )-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 버전을 구입했습니다.
나는 함께 일 Marmalade
했고 만족 스럽습니다. 무료가 아니며 개발자 커뮤니티도 충분히 크지는 않지만 여전히 자습서를 사용하여 대부분의 작업을 처리 할 수 있습니다. (몇 번이라도 튜토리얼을 작성하겠습니다).
IwGame
Marmalade 사용자 중 한 명이 개발 한 좋은 엔진입니다. 기본 게임에는 좋지만 심각한 고급 게임을 찾고 있다면 Cocos2D-x
Marmalade와 함께 사용할 수도 있습니다 . 나는 Cocos2D-x를 사용한 적이 없지만 Marmalade 's에는 Extension이 Github
있습니다.
Marmalade의 또 다른 좋은 점은입니다. 이것은 Marmalade가 EDK (Extension Development Kit)
아닌 네이티브 코드에서 사용할 수있는 기능을 확장 할 수있게 해줍니다. 나는'
편집 :
Marmalade는 이제 2D 개발 전용의 RAD (Rapid Application Development) 도구를 가지고 Marmalade Quick
있습니다. 코딩은 C ++이 아닌 Lua에 있지만 C ++ Marmalade 위에 구축되었으므로 C ++ 라이브러리 및 기타 모든 EDK 확장을 쉽게 포함 할 수 있습니다. 또한 Cocos-2Dx
및 Box2D
확장 프로그램이 Quick에 사전 포함되어 있습니다. 그들은 최근에 출시 버전 (3-4 개월 동안 베타 버전)을 출시했습니다. 우리는 단지 2D 개발만을 찾고 있다고 생각합니다. 시도해보십시오.
업데이트 :
Unity3D는 최근 GUI 및 편집기로 인해 다른 2D 게임 엔진보다 나은 2D 게임에 대한 지원을 시작했습니다. 물리, 스프라이트 등 지원이 내장되어 있습니다. 당신은 그것을 볼 수 있습니다.
업데이트 2
Marmalade는 곧 사내 게임 제작을 위해 SDK를 중단 할 예정입니다. 따라서 그것에 의존하는 것은 현명한 결정이 아닙니다.
LibGDX 는 내가 사용한 최고의 엔진 중 하나이며 거의 모든 플랫폼에서 작동하며 대부분의 테스트에서 cocos2d-x보다 두 배 빠릅니다. 원하는 JVM 언어를 사용할 수 있습니다. 여기 자바의 13 부 튜토리얼, 그리고 여기에 JRuby를를 사용하여 무리. 그것으로 작동하는 좋은 골격 애니메이션 도구있다 여기가 , 그리고 그것은 타일 TMX에 대한 지원에 구운있다뿐만 아니라 매핑합니다. UI 프레임 워크는 훌륭하며 cocos2d 장면, 스프라이트 및 액션과 유사한 장면 그래프 및 액터 스타일 API가 있습니다. 커뮤니티는 훌륭하고 업데이트는 빈번하며 문서는 좋습니다. 자바 부분이 당신을 놀라게하지 마십시오. 빠르며 jruby 또는 scala 또는 원하는 것을 사용할 수 있습니다. 나는 2D 또는 3D 작업에 강력히 권장합니다.
Haxe / NME를 언급했지만 본능적으로 싫어하는 것 같습니다. 그러나 그것에 대한 나의 경험은 매우 긍정적이었습니다. 물론, API는 Flash API를 다시 구현 한 것이지만 Flash를 대상으로 제한되지 않으며 HTML5 또는 기본 Windows, Mac, iOS 및 Android 앱으로 컴파일 할 수도 있습니다. Haxe는 Java 또는 C #과 유사한 유쾌하고 현대적인 언어입니다.
당신이 관심이 있다면, 나는 Haxe / NME를 사용하여 내 경험에 대해 조금 작성했습니다 : 링크를
V-Play (v-play.net)는 Qt / QML 기반의 크로스 플랫폼 게임 엔진으로, 여러 디스플레이 해상도 및 종횡비, 애니메이션, 입자, 물리, 멀티 터치, 제스처, 경로 찾기 등 API 참조 엔진 코어는 기본 C ++로 작성되었으며, 커스텀 렌더러와 결합하여 모든 장치에서 60fps의 견고한 성능에 도달했습니다.
V-Play에는 타워 디펜스, 플랫폼 게임 또는 퍼즐 게임과 같은 가장 성공적인 게임 장르를위한 즉시 사용 가능한 게임 템플릿이 제공됩니다.
V-Play로 만든 게임에 대해 궁금한 점이 있으면 다음과 같이 선택하십시오.
- 스 쿼비 : 타워 방어 게임
- 치킨 발발 : Doodle Jump와 같은 플랫 포머
- Blockoban : 퍼즐 게임
- Crazy Elephant : Angry Birds와 비슷한 게임
- Snowball Mania : 멀티 플레이어 액션 게임
- Blitzkopf : 두뇌 게임
(면책 조항 : 나는 V-Play의 녀석 중 하나입니다)
다음은 LinkedIn의 유사한 질문에 대한 Richard Pickup의 답변입니다.
iOS와 안드로이드 모두에서 cocos 2dx marmalade와 unity를 사용했습니다. 2D 게임의 경우 cocos2dx는 매번 갈 수있는 방법입니다. 유니티는 2D 게임에 너무 과잉이며 이미 언급했듯이 마멀레이드는 실제로 게임 엔진이 아닌 얇은 추상화 레이어입니다. 마멀레이드 위에서 cocos2d를 실행할 수도 있습니다. 내 접근 방식은 iOS 및 Android에서 cocos2dx를 사용하고 나중에 bb10으로 포팅하고 전화 7을 얻는 쉬운 방법으로 마멀레이드 위에 cocosd2dx 코드를 실행하는 것입니다.
며칠 전에 멋지고 깔끔한 웨이브 게임 엔진을 발견했습니다. 그것은 C #을 사용하고 Windows Phone 및 Windows Store 변환기를 가지고있어서 XNA를 대체 할 수 있습니다.
무엇에 대한 LibGDX BadLogicGames에서?
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의 훌륭한 기능은 다음과 같습니다.
크로스 플랫폼 (iOS, Android, OS X, Windows, Linux / Ubuntu)
Rails에서 영감을 얻은 워크 플로를 사용하면 게임 작업에 시간을 할애 할 수 있습니다 (하나는 새 프로젝트를 생성하고 다른 하나는 프로젝트를 실행)
빠른 컴파일러
라이브 코드 및 자산 편집
타사 라이브러리 통합 가능성
렌더링에 Cocos2DX 사용
XML, JSON 지원
UI 요소 스타일링을위한 LML (markup language) 및 CSS
UI 라이브러리
의존성 주입
단위 테스트 프레임 워크
다람쥐 물리학
변경 사항을 실시간으로 확인하면 여러 장치를 쉽게 개발
작은 다운로드 크기
팀을 위해 제작
Loom에 대한 자세한 비디오는 여기 ( http://www.youtube.com/user/LoomEngine?feature=watch) 에서 찾을 수 있습니다 .
이 4 부 심층 튜토리얼도 확인하십시오 . -started.aspx
AppGameKit을 사용해 보았습니다 .C ++과 Basic입니다. 물리, 충돌 및 힙과 함께 기본 변형에서 2D 게임을 코딩하는 것은 매우 쉽습니다. 또한 적극적으로 개발 중이며 실제로는 저렴합니다 (65 $). 주요 문제는 Android 용 컴파일이 실제로 어렵다는 것입니다 (파일 더미를 다운로드하고 어려운 가이드 및 그와 같은 것들을 따라야합니다) 내 의견은 아직 상업적 용도로는 충분하지 않지만 인디 프로그래머에게는 좋습니다 중간 규모의 커뮤니티가 있습니다
저는 현재 비즈니스 응용 프로그램에 Corona를 큰 성공으로 사용합니다. 게임이 진행되는 한 다른 플랫폼 간 개발 엔진의 성능을 제공하지 못한다는 인상을 받고 있습니다. Carlos (Ansca Mobile / Corona SDK 설립자)는 경쟁 엔진에서 다른 회사를 시작했다는 점은 주목할 가치가 있습니다. Appcelerator Titanium 용 Lanica Platino 엔진. 개인적 으로이 작업을 수행하지는 않았지만 유망한 것으로 보입니다. 단, $ 999 / yr 가격표가 함께 제공됩니다.
그러나, 나는 이미 잠시 동안 Moai를 연구 해 왔으며 (나는 이미 Lua 구문에 익숙하기 때문에) 유망한 것으로 보입니다. 모바일 환경에 국한되지 않고 여러 플랫폼을 위해 컴파일 할 수 있다는 사실이 매력적입니다.
Multimedia Fusion 2는 제작 된 게임의 복잡성과 그로부터 실현 된 성능을 고려하여 가치있는 경쟁자입니다. 빈 세레 토 투스 아스트 룸 (Vincere Totus Astrum, http://gamesare.com )이 떠오른다.
최근 에이 작업을 수행하기 위해 AS3 엔진을 사용했습니다 : PushButton (현재는 죽었지 만 여전히 작동하고 다른 것을 사용할 수 있습니다). Android 및 iOS에서 작동하도록하기 위해이 프로젝트는 두 플랫폼 모두에 대해 AIR로 컴파일되었으며 모든 것이 성능 저하없이 작동했습니다. Flash Builder는 비용이 많이 들기 때문에 ($ 249) FlashDevelop를 사용할 수 있습니다 (AIR로 컴파일하는 자습서도 있습니다).
플래시는 배우기 매우 쉬운 옵션이 될 수 있습니다.
참고 URL : https://stackoverflow.com/questions/12234457/2d-cross-platform-game-engine-for-android-and-ios
'Programing' 카테고리의 다른 글
UITextField가 변경 될 때 어떻게 확인합니까? (0) | 2020.04.01 |
---|---|
루프가 반대로 더 빠릅니까? (0) | 2020.04.01 |
AsyncTask가 실제로 개념적으로 결함이 있습니까? 아니면 뭔가 빠졌습니까? (0) | 2020.04.01 |
ViewPager 내부의 조각 교체 (0) | 2020.04.01 |
Spring의 ApplicationContext.getBean이 왜 나쁜 것으로 간주됩니까? (0) | 2020.04.01 |