Stargazer

[cocos2d-x] c++로 2d 게임 개발을 하고 싶다 (cocos2d-x) 본문

프로그래밍/C언어, C++

[cocos2d-x] c++로 2d 게임 개발을 하고 싶다 (cocos2d-x)

COM2IT 2018. 5. 24. 22:22
반응형

나는 하고 싶은 것이 평소에는 거의 없어서

방대하고 무료한 시간들을 보낸 후에야,

언젠가 조금은 하고 싶었던 것을 해보기로 결정했다.

 

그것은 바로 게임 개발하기

 

그 이전에는 일이 많아서 할 시간이 없었다하더라도

지금은 남은 게 시간 뿐이니

게임을 만들어서 광고로 돈이라도 벌어야지 하는 마음으로

cocos2d-x를 깔아보았다.

 

cocos2d-x 란?

출처: cocos2d-x.org

 

 

Cocos2d는 2D 게임 개발용 오픈 소스 소프트웨어 프레임워크이다. 게임과 모바일 앱, 반응형 전자책  GUI 기반 상호작용 소프트웨어의 개발에 사용할 수 있다.

출처: 위키백과

 

한마디로 게임 엔진이다.

그런데 대부분 사람들은 이 엔진은 잘 못들어 봤을 것이다.

unity,언리얼 등의 엔진들은 들어 봤지만, 이것을 처음 듣는 사람들이 많을 것이다.

이에 대한 근거는 당장 구글에 cocos2d-x 강좌라 검색하면 몇천건에 불가하지만, unity 강좌라 치면 수십만건이 나온다.

즉, 게임 개발에 있어서 잘 알려지지 못한 엔진이라고 할 수 있다.

 

그러나 유행했던 게임들 중에서 cocos2d-x 로 개발한 게임들이 유독 많았다.

그 예로 쿠키런,모두의 마블, Bad land가 있었다.

개인적으로 친구들과 재밌게 하던 게임이었다.

 

cocos2d-x가 말하는 cocos2d-x를 사용해야 하는 이유

 

  • Modern C++ API (please refer to the modernizing done in version 3.0)

모던 C++ API (C++ 11 이상 문법)

  • Cross-platform - desktop and mobile

크로스 플랫폼(하나의 소스로 여러가지 플랫폼을 오갈 수 있음)

  • Capability to test and debug your game on the desktop and then push it to a mobile or desktop target

데스크탑에서 게임 테스트와 디버깅을 하고 모바일이나 데스크탑으로 푸시할 수 있는 기능

(해석은 해보았지만 무슨 말인지는 잘 이해가 안간다. 그냥 개발이 용이하다는 뜻인것 같다.)

  • A vast API of functionality including sprites, actions, animations, particles, transitions, timers, events (touch, keyboard, accelerometer, mouse), sound, file IO, persistence, skeletal animations, 3D

스프라이트,액션,애니메이션,파티클..... 등등의 방대한 양의 API함수 제공

(한마디로 웬만한 기능은 모조리 지원해준다는 것)

출처: cocos2d-x.org

 

그러나 이 이유들 뿐만 아니라 오픈소스 소프트웨어라 무료이고,  2d 게임 개발에 특화되어서 그 분야의 개발에 용이하다.

그리고 타 엔진에 비해 가볍고, 실행 속도가 빠르다. 또한 API함수들이 간단하고 배우기 쉽다(안써봐서 잘은 모른다. 약간 자칭의 기운)

 

여기까지는 참 좋다.

나와 같이 무자본 1인 개발자 게임 개발하는데 이 만큼 더 좋은 프레임워크가 존재 할까.

 

그러나,

여전히 가지고 있는 문제는

게임 개발 경험 거의 없다는 것과 c++언어에 대해서는 초보자라는 것이다.

 

과연 게임 개발을 할 수 있을까?

 

쉽지만은 않겠지만

일단은 해보자.

반응형
Comments