크로스 플랫폼 2D 그래픽 엔진


57

Unity가 3D와 비슷한 방식으로 Windows, Mac 및 iPhone으로 출시 할 수있는 2D 그래픽 엔진을 찾고 있습니다.

이 작업을 수행하고 2D에만 적합한 좋은 엔진이 있습니까?


모험심이 있다면 Aquaria, Gish 및 나머지 Humble Indie Bundle과 같은 오픈 소스 2D 게임 중 하나를 언제든지 확인할 수 있습니다.
MarkovCh1

6
리눅스를 잊어 버렸습니다. 그 사람들에 대한 사랑이 없습니까?
Derek

답변:


37

항상 이전 대기 SDL이 있습니다. 상당히 낮은 수준이지만 단순성은 Windows, Linux, Mac, nintendo DS, wii 등을 포함한 다양한 플랫폼으로 이식 될 수있게합니다. 내가 사용하지는 않았지만 충분히 성숙해 보이는 iPhone 포트 가 있습니다 .


그것들이 1.3 버전의 "안정된"버전을 가지고있는 것 같지는 않지만 아이폰 지원을 원하는 버전입니다. HG 저장소에서 1.3 버전을 가져와 직접 빌드해야합니다.
Casey

22

Unity3D를 사용하여 "2D"게임을 만들 수없는 이유는 없습니다. 텍스처 쿼드와 직교 카메라를 사용할 수 있으며 2D 게임을 즐길 수 있습니다. 스켈 레탈 애니메이션 시스템을 사용하거나 다른 관절 위에 스프라이트를 놓거나, 매우 단단한 투시 카메라를 사용하여 저렴한 시차를 얻는 것과 같은 독특한 솔루션도 있습니다.

더 나은 스프라이트 관리 솔루션을 제공하기 위해 Unity 용 미들웨어 제공자도 있습니다. 스프라이트 관리자 처럼 2 .


2
나는 실제로 이것을하고있다. 단결의 3D 측면은 사용자 인터페이스에 관한 한 방해가되는 경향이 있습니다. 또한 나는 항상 루트 스크립트가 첨부 된 카메라 만있는 더미 장면을 만듭니다. 그래도 언급 한 링크를 확인하겠습니다!
Kevin Laity

20

SFML 은 현대적이고 객체 지향적 인 크로스 플랫폼 그래픽 엔진입니다. 하드웨어 가속 (OpenGL 기반)이며 다음에 대한 바인딩이 있습니다.

  • C ++
  • .Net (C #, VB.Net, C ++ / CLI 등)
  • 파이썬
  • 루비
  • 오캄

4
SFML의 경우 +1 훌륭하지만 유일한 문제는 아이폰 포트가 없다는 것입니다.
공산주의 오리

12

SDL, Allegro, OpenGL
SDL 및 Allegro는 그래픽 라이브러리 일뿐만 아니라 전체 게임 개발 라이브러리입니다.
SDL의 한 가지 단점은 main ()을 인수하고 재정 의하여 다른 라이브러리와 결합하기가 어렵다는 것입니다. (나의 경험에서 QT)
또 다른 나쁜 점은 SDL이 하나의 창만 허용한다는 것입니다 (이것은 안정적인 버전 1.2, 개발 버전 1.3은 지원하지만 아직 완전히 지원되지 않거나 문서화되지 않았습니다)
SDL의 약점을 가장 잘 알고 있기 때문에 그것과 함께 일했지만 그럼에도 불구하고 Mame 및 ScummVM 포트를 포함한 매우 강력하고 많은 에뮬레이터뿐만 아니라 게임에서도 사용합니다.
널리 사용되는 3D 사용에도 불구하고 OpenGL은 그래픽 라이브러리이므로 표면 픽셀 수준 조작을 통해 2D 그래픽을 허용하며 3D 및 2D 모두에서 하드웨어 가속을 광범위하게 사용합니다.


나는 Allegro에서 항상 게임을 만드는 데 사용합니다. 그것을 사랑.
Tone

QCoreApplication의 이벤트 루프에서도 Qt는 메인을 인수하지 않습니다. 원하는 루프에서 qApp-> processEvents를 호출하면 Qt가 행복합니다.
Mircea Chirea

1
SDL이 메인 루프를 인계해야합니까? 나는 당신이 SDLmain.h를 포함시키지 않고 스스로 일을하도록주의함으로써 그것을 피할 수 있다고 생각했습니다.
Ricket

2
SDL은 기본 게임 루프를 인수하지 않습니다. 일반적으로 SDL_PollEvent 호출 내부에 SDL_PollEvent를 작성하여 SDL이 알고있는 이벤트 (키보드 입력, 마우스 이동 등)를 가져옵니다.
dcarrigg

6

Troll2D를 볼 수 있습니다

Box2D 는 많은 플랫폼에서 사용됩니다. iPhone을 포함합니다. 그러나 이러한 객체를 표시하는 방법을 찾아야합니다. Box2D는 2D 물리 시뮬레이션 만 처리하므로


Olafur-나는 Troll2D가 당신의 대답이라고 말하고 싶습니다. Box2d는 나중에 고려해야합니다.
Iain

5

LÖVELua 언어로 쉽고 빠르게 게임을 개발할 수있는 2D 엔진입니다 .

Mac (PPC 및 Intel), Windows 및 Linux (32 및 64 비트)에서 실행되며 게임은 한 파일 실행시 모든 플랫폼 ".love"파일로 쉽게 배포됩니다.

이것들은 기본적으로 zip 확장명이 사랑으로 바뀌는 게임의 압축 버전입니다 .

불행히도, 현재까지 iPhone 포트는 없습니다.


5

Cocos2D 는 Mac / Windows에서 Python으로 시작되었으며 iPhone에서 Objective-C 버전으로 제공 됩니다 . 2D iPhone 게임 개발에서 인기가 있습니다. Ray Wenderlich는 iPhone을위한 훌륭한 Cocos2D 튜토리얼을 가지고 있습니다 .

그들은 파이썬에서 Objective-C로 옮겨 갔기 때문에 더 이상 동일한 코드베이스에서 모든 플랫폼간에 크로스 컴파일 할 수 없을 것 같습니다.


맞습니다. 많은 cocos2d 포트가 있지만 모두 고유 한 언어를 사용합니다. iPhone 용 Objective-C, Android 용 Java, 웹용 Javascript, 원본 PC 버전 용 Python 및 Windows Mobile을 지원하거나 지원하지 않는 새 Windows 포트 용 C ++ (확실하지 않음). 이름과 디자인 철학 외에는 어떤 식 으로든 상호 교환 할 수 없습니다.
LearnCocos2D

Cocos2d-x는 이제 C ++ (iPhone도 포함)의 단일 언어 구현으로 매우 안정적이고 크로스 플랫폼이라고 생각합니다.
legends2k

4

iPhone에 대해 걱정하지 않는다면 항상 AIR로 패키지 된 Flash가 있습니다. iPhone을 잃지 만 Linux 및 웹 배포가 가능합니다. 그런 다음 프로젝트에 적합한 게임 / 물리 / 렌더링 엔진을 선택할 수 있습니다 (예 : FlashPunk, Flixel, Box2d.


또한 Android 전화 지원 (최소한 최신 버전)과 향후 Palm / Blackberry / Windows Mobile 지원도받을 수 있습니다.
davr

Linux는 지원하지 않지만 iOS는 현재 지원됩니다.
Danik

4

당신은 엔젤 엔진을 시도 할 수 있습니다. C ++, OpenGL, Box2D를 기반으로하며 스크립팅에 Python을 사용합니다. 주로 프로토 타이핑 용이지만 최신 버전은 풀 게임 제작에 중점을 둔 것 같습니다.



2

PlayN 은 HTML5, Android, iOS, Flash 및 데스크탑 Java를 지원합니다.

Java로 코드를 작성하면 Java 코드를 HTML 용 JavaScript (GWT를 통해), ARM 어셈블리 (IKVM을 통해 Java 바이트 코드에서 CLR 바이트 코드로 이동 한 다음 MonoTouch로 CLR 바이트 코드를 기본 iOS 앱으로 컴파일)로 변환하는 작업을 처리합니다. JavaScript 대신 ActionScript를 생성하는 사용자 정의 GWT 백엔드를 통해 ActionScript로 변환하지 않고 Android 및 데스크탑 Java로 변환합니다.


2

Moai SDK 는 이러한 플랫폼에서 실행할 수있는 프레임 워크입니다 *. 오픈 소스이므로 github 저장소를 확인하십시오 .

Moai는 Chrome 및 Android에도 게시 할 수 있습니다.

* 현재 퍼블리싱이 Mac 또는 Windows (예 : .app 또는 .exe)에 있다고 생각하지는 않지만 추가 할 수 있습니다.


1

Haxe + NME 는 HTML5, Flash, Android, iOS, Blackberry, Windows, Mac, Linux, WebOS를 지원합니다. 2D 그래픽 (비트 맵 스프라이트, 벡터 드로잉, 그림자 및 흐림 효과와 같은 효과)을 지원합니다.


0

최근에 iPhone 및 iPod touch 개발을 수행하는 사람들에게 MonoTouch 에 대해 많이 들었습니다 . 프레임 워크는 이미 크로스 플랫폼과 호환되는 Mono 위에 있습니다.


C / C ++ / ObjC가 아닌 것을 쓰고 번역 레이어를 사용하기 때문에 iTunes 스토어 계약에 위배됩니다. 당신은 여전히 ​​승인을받을 수 있지만, 그들은 나중에 당신을 끌어 당길 수 있습니다. 개인적으로는 위험하지 않습니다.
davr

@davr monotouch는 1 년 전부터 계약 조건을 위반하지 않습니다.
dodgy_coder

@dodgy_coder 그래, 애플이 마침내 지연된 규칙 (어도비에게 해를 끼치기위한 목적)을 취했을 때를 기억한다. 내 원래 의견은 비록 그것을 게시 할 당시 사실이었다 :)
davr

-1

Unity3d는 최고의 2D 게임 개발 도구 및 엔진입니다. 대안 적으로 모노 게임. html5 및 flash는이 주제에 적합하지 않습니다. 이미 플래시가 죽었습니다.

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