PopCap Games Framework

PopCap Games Framework는 PopCap Games가 캐주얼·퍼즐·아케이드 게임을 효율적으로 제작하기 위해 개발한 C++ 기반 게임 엔진 프레임워크로, SexyApp Framework라고도 불린다. 2000년대 Windows 게임 개발을 중심으로 공통 화면 처리와 입력·오...

분류게임 엔진, 캐주얼 2D 게임 개발 프레임워크
다른 이름SexyApp Framework, SexyAppFramework
개발사PopCap Games
개발 시대2000년대
언어C++
게임 범주캐주얼·퍼즐·아케이드
대표 작품Bejeweled, 《Peggle》 계열
외부 적용《Cake Mania》 등
기본 플랫폼Windows
게임 실행SexyAppBase·이벤트 및 그래픽스 시스템
그래픽스DirectDraw·Direct3D 계열
오디오DirectSound 및 종속 코덱·라이브러리
개발 도구Windows Visual C++ 및 코드 중심 개발
과거 공개판Framework 1.21~1.34 계열
공개 범위코드 패키지와 도구·예제 제공
라이선스PopCap Games Framework License (독자적 허가 조건)
현대 포크PopLib (SDL3·OpenAL 이식)
참고 소스PeggleCommunity/PopCapFramework
최신 보존본LolHacksRule/sexy
후대 이식teampopwork/PopLib

PopCap Games Framework는 PopCap Games가 캐주얼·퍼즐·아케이드 게임을 효율적으로 제작하기 위해 개발한 C++ 기반 게임 엔진 프레임워크로, SexyApp Framework라고도 불린다. 2000년대 Windows 게임 개발을 중심으로 공통 화면 처리와 입력·오디오·리소스, 게임 실행 구조를 제공해 《Bejeweled》 계열과 《Peggle》, 외부 스튜디오의 《Cake Mania》 같은 작품의 제작에 활용됐다. 프레임워크는 개인 개발자와 외부 제작자에게도 소스 형태로 배포됐으나 기존의 MIT·GPL 같은 표준 오픈 소스 라이선스와 동일한 조건은 아니었다.[1]

SexyApp의 설계는 전형적인 Windows 데스크톱 캐주얼 게임에 필요한 기능을 작은 공통 코드베이스로 재사용하는 데 중점을 두었다. 실행 루프가 프레임별 게임 상태 갱신과 입력·렌더링 작업을 관리하고, 위젯과 그래픽스 객체 등이 각 게임 화면의 상태를 표현한다. 퍼즐 보드·메뉴, 애니메이션 및 사운드 재생 같은 게임별 동작은 이 공통 코드 위에 작성된다. 그 결과 제작자는 운영체제의 메시지 처리와 직접 화면 출력 코드를 프로젝트마다 처음부터 작성할 필요를 줄일 수 있다.

그래픽스는 당시 Windows의 DirectDraw·Direct3D 및 이미지 처리 도구를 기반으로 한다. 화면과 스프라이트, 알파 블렌딩·효과와 2D UI를 렌더링하고 DirectSound 계열 오디오 기능과 다양한 이미지·사운드 코덱을 연결했다. 일부 후속 게임에서는 개별 제작팀이 프레임워크 코드를 확장하거나 실행 장치의 세부 설정을 변경했으므로 모든 상용 게임이 같은 배포 버전의 SexyApp를 사용한 것은 아니다.[2]

오래된 프레임워크의 보존 저장소에는 source, tools 및 기술 문서, 설치 지침과 버전별 변경 사항이 남아 있다. 공개 자료에 나타나는 1.21·1.22·1.30·1.34 등의 판본은 PopCap 게임 제작 과정에서 발전한 기능과 코드 차이를 연구하는 자료다. Peggle 커뮤니티가 관리하는 보존본은 게임의 데이터·로직을 분석하는 데 이용되며 원작자와는 별도의 기록·보존 활동으로 이해해야 한다.

현대의 PopLib 같은 후속 프로젝트는 기존 프레임워크를 SDL3·OpenAL과 64비트 환경에 맞추어 수정하고 Windows 중심의 하위 코드를 다른 플랫폼에 이식하려고 한다. 이들은 원래 PopCap 코드의 수정본이며 PopCap Games가 새로운 공식 게임 엔진을 출시했다는 의미는 아니다. 공개된 후대 라이브러리의 확장 코드에는 독립적인 라이선스가 적용되므로 원본과 포크의 권리 조건을 구별해야 한다.[3]

원본 코드에는 PopCap Games Framework License라는 독자적 이용 허가가 적용된다. 누구나 코드 일부를 내려받을 수 있더라도 이를 널리 통용되는 오픈 소스 라이선스로 임의 분류하거나 완성 게임의 저작물을 무단 재배포해도 된다는 뜻은 아니다. 사용 조건에는 원본 저작권 고지와 포함된 다른 라이브러리의 권리도 고려해야 한다. SexyApp은 2000년대의 Windows 캐주얼 게임 개발에서 공통 코드와 외부 개발자 SDK가 어떤 역할을 수행했는지를 보여주는 역사적 사례다.[4]

역사

개발 조직과 기술 계보

엔진 아키텍처

실행·객체 및 이벤트

프로그래밍·스크립팅

렌더링과 그래픽스

물리·애니메이션·입력

오디오·네트워크

제작 도구·자산 파이프라인

플랫폼·이식 및 배포

라이선스·소스와 콘텐츠

활용 사례와 기술적 영향

관련 문서

  1. PopCap Games Framework 아카이브 및 설명 ↩
  2. PopCap Framework 버전별 기술 변경 기록 ↩
  3. PopLib: PopCap 프레임워크 현대화 내용 ↩
  4. PopCap 라이선스 원문이 포함된 보존본 ↩