Cocos2d
Cocos2d는 2차원 게임의 장면과 스프라이트·애니메이션을 구현하기 위한 공개 게임 엔진·프레임워크 계열이다. 초기 Python용 Cocos2d에서 출발해 Objective-C 기반 Cocos2d-iphone 등 여러 구현으로 확대됐으며, 모바일과 데스크톱 게임 제작에 필요한 2D 객...
| 분류 | 게임 엔진 또는 게임 개발 도구 |
|---|---|
| 개발 주체 | Ricardo Quesada 및 Cocos2d 개발 공동체 |
| 작성 언어 | Python, Objective-C 등 구현 계열별 |
| 게임 개발 언어 | Python·Objective-C 계열 |
| 주요 기술 | 2D 스프라이트·장면·액션·애니메이션 |
| 지원 플랫폼 | Python·iOS 등 분기별 |
| 라이선스 | MIT License 등 분기별 |
| 공식 자료 | 프로젝트 자료 |
| 기술 계보 | Cocos2d-x, Cocos Creator |
| 원형 | Python 2D 프레임워크 |
| 장면 | Scene·Layer·Sprite |
| 특징 | Action·Scheduler |
| 소스 모델 | 공개 개발 |
Cocos2d는 2차원 게임의 장면과 스프라이트·애니메이션을 구현하기 위한 공개 게임 엔진·프레임워크 계열이다. 초기 Python용 Cocos2d에서 출발해 Objective-C 기반 Cocos2d-iphone 등 여러 구현으로 확대됐으며, 모바일과 데스크톱 게임 제작에 필요한 2D 객체 관리 방식을 널리 보급했다. 각 구현 계열은 개발 언어와 플랫폼·유지보수 조직이 서로 다르다.[1]
기본 구조는 Scene 안에 Layer와 Sprite를 배치하고 Action·Scheduler를 이용해 객체의 위치와 상태를 변경하는 방식이다. 스프라이트 이미지는 텍스처를 이용해 화면에 그리며, 액션 시스템은 이동·회전·크기 변경 및 시간에 따른 애니메이션을 표현한다. 입력·사운드와 장면 전환을 공통 API에서 사용할 수 있게 하는 것이 특징이다.
초기의 Python 구현은 pyglet 등의 그래픽스 기술과 결합해 2D 게임 제작을 지원했다. 뒤이어 등장한 Objective-C 계열은 iPhone·iPad의 터치 입력과 OpenGL ES 그래픽스 환경을 대상으로 발전했다. 이러한 다양한 구현을 단일한 실행 라이브러리 하나로 취급하면 작성 언어·플랫폼과 버전 정보를 혼동할 수 있다.
2D 콘텐츠 제작자는 스프라이트 시트와 텍스처·애니메이션, 타일 맵과 UI 요소를 코드로 구성한다. 실행 루프는 장면 갱신과 렌더링을 호출하고, 게임별 객체의 충돌·규칙은 자체 코드나 추가 모듈과 결합할 수 있다. 개발 언어의 특징에 따라 엔진 구조와 네이티브 API 접근 방법이 달라진다.
Cocos2d-x는 이 계열에서 C++을 중심으로 새롭게 발전한 크로스 플랫폼 프로젝트이고, Cocos Creator는 시각적 편집기와 C++·TypeScript 런타임을 통합한 후속 제작 제품이다. Cocos2d의 역사는 이들 기술의 공통된 배경이지만 세 엔진의 실제 소스 코드·툴체인과 라이선스 구조는 각각 구별해야 한다.