2011년 1월 25일 화요일

3D Game Engines in iPhone and Android

다음은 iphone에서 알려진 3d engine들이다.

1. oolongengine
2. SIO2
3. shiva3D
4. unity3D
5. airplay SDK
--> 1,2는 소스를 제공함. 3,4는 소스를 제공하지 않음.
--> SIO2는 c소스임. 구조화 미숙. 하지만, 많은 기능들을 제공함.
--> oolongengine은 아직 할 일이 너무 많음.

--> 3,4번 모두 소스를 제공하지 않는다.

하지만, 중요한 것은 android 지원여부인데, 3,4번은 지원함.
--> 모두 inmature(미숙) 상태로 판단됨. 왜냐하면, 게임개발을 위한 풍부한 샘플이 존재하지 않고, 툴셋이 부족함.

소스를 제공하면서, 안드로이드까지 지원하는 엔진은 없음.
(소스 제공여부가 중요한 이유는, 게임의 특징이 엔진의 기능을 넘어설때 매우 중요하다!
 엔진의 기능 이하에서 구현한다고 할 경우에는, 가장 안정된 SDK를 선택하는 것이 나을 것이다.)


따라서, 소스 오픈이 중요하다면, 차라리 기존의 오픈소스엔진인 OGRE와 IrrLicht를 선택하는 것이 나음.
둘 중에 배우기 쉬운 인터페이스와 게임개발 리소스가 많은 것을 선택하는 편이 나음.
android와 iphone을 안정적으로 지원하느냐가 큰 선택 사항이 될 것임.
어떤 게임을 만드느냐도 큰 영향을 끼칠 것임.
 ( http://gbox3d.tistory.com/: irrlicht Engine 관련 )
( http://parkpd.egloos.com/3202581 : Ogre Engine 관련 )

몇일전까지만 해도, irrlicht에 대해서 호감이 더 있었지만,
설치에 있어서, irrlicht는 해줘야 할 일이 많고, 다른 플랫폼과 소스를 다르게 써야하는 문제가 생겨서 당분간은 보류하고, 그 문제를 푼 이후에 다시 시도하기로 했다.
따라서, 현재로서는 iPhone,MacOSX에서는 Ogre3D가 오픈소스중에서는 최고라고 봐야 할 듯 하다.
알아보니, ogremax라는 exporter도 지원해서(비록, 윈도우에서만 실행되지만), ogre가 더 낫다고 판단된다.
Ogre를 android에서 돌리는 것은, jni를 사용해야 할 듯 한데, irrlicht에서 사용하는 것과 같은 방식으로 해야 할 듯 하다. 아직은 정식으로 지원하지 않는 듯 하다.

또한, airplay sdk라는 cross-platform sdk가 있다. 아직 평가해보진 않았지만, 반드시 해 보아야 할 sdk이다.하지만, unity3d가 가장 인기가 있고 안정적으로 보인다.
( unity3d를 설명하는 동영상 http://www.youtube.com/user/TornadoTwins#p/c/11F87EB39F84E292/0/5-X-Ebh1kYA )

Ogre3D,Irrlicht 모두 MacOSX에서 제대로 build하는 것은 까다롭다.
공부용으로 쓴다면, Mac이 아닌 Windows에서 할 것을 권장하고,
Release가 필요할때, 다른 플랫폼으로 옮기는 것을 따로 셋업하는 것을 권장한다.
그때가 되면, 큰 문제이긴 하지만, 풀 수 있거나, 이미 풀 수 있을 것이다.

도움이 되셨다면, 광고 클릭을 ㅎㅎ ^^