Flixel
Flixel은 Adam ‘Atomic’ Saltsman이 제작한 ActionScript 3 기반 2차원 게임 엔진 라이브러리다. 2008년 개발을 시작해 2009년 6월 첫 공개 버전을 발표했으며, 짧은 시간에 레트로 스타일의 2D 게임을 구현하도록 스프라이트, 충돌과 카메라, 입력·타...
| 분류 | 게임 엔진, Flash용 2D 게임 라이브러리 |
|---|---|
| 개발자 | Adam 'Atomic' Saltsman |
| 개발 시작 | 2008년 3월 |
| 최초 공개 | 2009년 6월 |
| 개발 언어 | ActionScript 3 |
| 실행 환경 | Adobe Flash Player |
| 주요 API | FlxGame, FlxState, FlxSprite 등 |
| 렌더링 | 2D 스프라이트와 타일 기반 화면 |
| 기능 | 충돌 판정, 입자, 타일맵, 카메라 |
| 입력 | 키보드·마우스, 일부 확장 |
| 게임 제작 사례 | 《Canabalt》 등의 개발 경험에서 탄생 |
| 후속 계보 | HaxeFlixel 등 |
| 원본 라이선스 | 공개 소스, 상업적 사용 허용 |
| 소스 코드 | AdamAtomic/flixel |
| 프로젝트 설명 | 원본 README |
Flixel은 Adam ‘Atomic’ Saltsman이 제작한 ActionScript 3 기반 2차원 게임 엔진 라이브러리다. 2008년 개발을 시작해 2009년 6월 첫 공개 버전을 발표했으며, 짧은 시간에 레트로 스타일의 2D 게임을 구현하도록 스프라이트, 충돌과 카메라, 입력·타일맵 같은 기본 요소를 제공했다. 《Gravity Hook》, 《Fathom》, 《Canabalt》 등 여러 Flash 게임의 개발 과정에서 반복 사용하던 코드를 공통 라이브러리로 정리한 것이 기원이다.[1]
Flixel의 기본 구조는 게임 전체를 관리하는 FlxGame, 상태 화면을 표현하는 FlxState, 개별 화면 요소를 나타내는 FlxSprite와 물리적 위치를 가진 객체를 중심으로 한다. 개발자는 상태에 게임 오브젝트를 추가하고 업데이트 단계에서 이동·입력·충돌을 처리하며, 그리기 단계에 화면을 출력한다. 여러 오브젝트를 그룹으로 묶어 갱신과 충돌을 관리하는 구조는 작은 Flash 게임의 반복적인 코드를 줄여준다.
타일맵은 비교적 작은 이미지 타일을 조합해 지형과 플랫폼을 구성하며 게임의 충돌 지형으로 사용할 수 있다. 기본적인 박스 충돌과 객체 이동, 카메라 스크롤, 파티클 방출과 저장 기능이 함께 제공된다. Flixel의 README에는 대량 객체 화면 표시, 인터랙티브 디버거, 화면 분할 카메라, 경로 탐색과 오브젝트 재활용 등이 기능으로 기록돼 있다.[2]
원래 Flixel은 Flash Player와 ActionScript 3을 대상으로 하므로 HTML5 Canvas나 네이티브 모바일 게임을 직접 실행하는 현대적인 크로스 플랫폼 엔진과 구분된다. 게임 개발자는 Flash SDK와 컴파일 도구를 사용하여 SWF를 빌드하고 브라우저 또는 독립 Flash 런타임에서 실행했다. Flash Player의 일반 배포와 지원이 종료된 뒤에는 실행 환경 보존이나 호환 플레이어를 이용한 보존 프로젝트가 중요해졌다.
Flixel의 설계 방식은 후속 오픈 소스 2D 엔진에 영향을 주었다. 2011년 Alexander Hohlov가 시작한 HaxeFlixel은 원본 Flixel을 Haxe로 이식한 프로젝트에서 출발해 OpenFL에 기반한 크로스 플랫폼 엔진으로 발전했다. 이 관계는 기술적 계보를 보여주지만 원래 ActionScript Flixel과 현대 HaxeFlixel은 언어·플랫폼·API 기능이 다르므로 별도 문서로 구분하는 것이 적절하다.[3]
Flixel은 개인용 및 상업용 게임에서 자유롭게 사용할 수 있도록 공개되었으며 저장소에는 소스와 라이선스, 사용 지침이 남아 있다. 소규모 개발자에게 공통 게임 코드를 제공하고 프레임워크의 단순한 구성을 통해 빠르게 실험할 수 있는 환경을 제공했다는 점이 특징이다. 브라우저 플러그인 시대의 대표적 2D 게임 제작 라이브러리로서 원본의 문서와 예제, 실행 가능한 SWF 및 후속 이식 프로젝트를 함께 아카이빙할 가치가 있다.