Starling은 Stage 3D 기반의 2D 엔진입니다.


요즘 Flash가 다시 각광을 받고 있는데


(Flare3D로 만들어진 Farmville 2, Starling으로 개발된 AngryBirds)


사실 시작하기가 쉽지 않은게 현실입니다.


Starling으로 멋진 게임을 만들 수 있다고 모든 Flash 개발자가 그렇게 될 수 있는건 아닙니다.




1. Starling은 렌더링 도구일 뿐입니다.


가장 중요한 말입니다.


Starling이나 Away3D가 나왔다고해서 멋진 게임이 하늘에서 뚝 떨어지는게 아닙니다.


게임 로직도, 서버 통신도, 복잡한 연산도 대신해주지 않습니다.


그저 렌더링 도구일 뿐입니다.


실제로 게임을 구현하는 수많은 기술과 경험이 있어야 Starling이 도움이 되는 것이지


Starling이 게임을 대신 만들어주는 것은 아닙니다.


우선 Game 개발 경험을 쌓는 것이 우선입니다.


요즘 애니팡이 대세던데 애니팡 게임을 한번 모작해보는 것 부터 시작하면 좋을듯 싶네요.




2. CPU/GPU, Texture, Vertex, Rendering, Pooling, Atlas


Starling은 좋은 렌더링 툴입니다.


그러나 만능은 아닙니다.


기존의 플래시 만들던 방식대로 Sprite 막 발라대면서 만들면


100% 실패합니다.


(저는 0.1 FPS 도 봤더랬죠. 10초에 렌더링 한번? ㅋ)


Starling은 GPU를 효율적으로 다루기 위한 툴입니다


때문에 많은 제반지식이 필요한데


저도 아직 한참 공부할게 많아서 걱정입니다.


텍스쳐가 뭔지, 어디에 쓰이는건지


Draw Call은 뭐고 줄이려면 어떻게 해야되는지


Vertex는 뭐고 Quad는 뭐고 BitmapData가 어떻게 Texture로 되는지


객체를 재사용하는건 알겠는데 Texture를 재사용하려면 어떻게 해야되는지


Atlas가 먼지 등등


알아야할게 많습니다.


이 모든것들은 Starling이랑은 별개입니다.


말 그대로 "지식"인거죠. 


공부합시다!!




3. 모바일은 모바일이다.


2, 3년전부터 유행하던 말이 있죠.


One-source, Multi-use


기억해두십시오. 개발자가 편한만큼 사용자는 불편해집니다.


개발자가 편하기 위해서 같은 코드가 웹, iOS, Android 모두 훌륭하게 돌아갈거라 생각하면 오산입니다.


웹과 Android와 iOS 개발 환경이 모두 다릅니다.


코드도 분기되야되는 부분이 매우 많습니다.


플랫폼에 맞게 커스터마이징되야되는 부분과 영향받지 않고 동작할 게임 부분을 잘 분리시켜두는것이 좋습니다.


컴파일 환경은 말할것도 없구요.


특히 iOS의 경우에는 swf를 로드해서 쓸 수 없기 때문에


해결책 없이 폰트나 UI등 로드해서 사용하는 게임들은 아예 돌아가지도 않게됩니다.


반드시 Native 개발을 먼저 공부하세요!




4. Game 개발은 어렵다.


모든 최신 기술은 게임에서 먼저 사용된다는 말이 있죠.


요즘 유행하는 Big Data도 와우를 필두로 게임쪽에서 먼저 사용됐었죠 (이부분은 사견입니다.)


엄청난 양의 유저 데이터를 수집, 기록하고 유저가 원하는 정보를 추리고 비교하면서 전달시켜줍니다.


보안은 말할 것도 없거니와


최신 하드웨어도 항상 게임이 그 선봉에 있었습니다.


Kakao Talk 도 애니팡, 아이러브커피를 필두로 플랫폼이 폭발을 했죠.


그렇기 때문에 제대로된 게임을 개발하려면


많은 기본 지식과 최신 기술, 트렌드를 알고 있어야합니다.


페이스북도 모르면서 소셜 게임을 개발할 수는 없습니다.


터치하면 날라가는 미사일도


저절로 날아가는게 아닙니다.


직접 구현해봐야하고 최신 기술도 적용해봐야합니다.




마지막으로 저 자신에게도 뼈아픈 말이 될 수 있는데


현재 실력있는 플래시 개발자들의 대부분은 디자이너 출신입니다.


그 나머지 반도 전산이나 개발이 전공인 사람들은 많지 않습니다.


그렇기 때문에 기본적이로 Flash 관련자들의 프로그래밍에 대한 깊이는 많이 부족합니다.


저도 개발하고 6년이 지나서야 디자인 패턴이 뭔지 알게 되었고


HTTP가 80포트라는 걸 알게되었습니다.


Enumerate를 안지도 몇년 안됐고


포인터도 알게 된지 몇년 안됐습니다.


가르쳐주는 사람도 없었거니와 알고 있는 사람 자체가 별로 없었습니다.


Flash 개발자들이 C나 Java개발자들에게 무시 당해온게 하루 이틀이 아니죠


하지만 100% 억울하다고 할 건 아니라고 봅니다.


그들이 프로그래밍에 대한 기초지식은 확실히 많이 알고 있고


그 기초지식들은 무시할 수 없습니다.


공부합시다.


자료구조도 공부하고 모르는게 있으면 스마트폰으로 게임하지말고 검색해봅시다.


모르는 단어 나오면 찾아보고


모르는 기술이 있으면 구글링해서 찾아보고


pdf가 검색되더라도 사진만이라도 훑어봅시다.


스스로 더 나은 개발자가 되는게 진리입니다.




for the Better.

+ Recent posts