Stencyl

Stencyl은 블록을 연결하는 방식으로 2차원 게임을 만들 수 있도록 설계된 게임 엔진 및 시각적 저작 도구다. 게임 개발자는 장면과 배우(Actor), 행동(Behavior)과 이벤트를 편집기에서 구성하고 블록 기반 로직을 이용해 이동·충돌·점수·전투 같은 기능을 작성한다. 초기 F...

분류게임 엔진, 시각적 2D 게임 제작 도구
개발 조직Stencyl, LLC
게임 실행 언어Haxe
기술 기반OpenFL, Lime
게임 작성블록 결합형 비주얼 스크립팅, Haxe 코드
제작 요소Actors, Scenes, Behaviors, Events
물리Box2D 기반 충돌·강체
에디터Stencyl 통합 IDE
배포Windows·macOS·Linux, HTML5·Android·iOS 등
기존 대상Flash (역사적)
엔진 공개Stencyl 3.0부터 Haxe 엔진 소스 공개
편집기 라이선스별도 상용 요금제·출력 권한
엔진 소스Stencyl/stencyl-engine
공식 FAQStencyl FAQ
엔진 공개 설명Developing the Stencyl Engine

Stencyl은 블록을 연결하는 방식으로 2차원 게임을 만들 수 있도록 설계된 게임 엔진 및 시각적 저작 도구다. 게임 개발자는 장면과 배우(Actor), 행동(Behavior)과 이벤트를 편집기에서 구성하고 블록 기반 로직을 이용해 이동·충돌·점수·전투 같은 기능을 작성한다. 초기 Flash 게임 개발에서 출발했으며 HTML5·데스크톱·모바일 배포로 확장했다.[1]

Stencyl의 장면은 배우와 지형·배경으로 이루어지고 Actor는 충돌·애니메이션 및 게임 상태를 보유한다. Behavior는 여러 Actor에서 재사용할 동작을 정의하며 이벤트는 게임의 갱신과 사용자 입력·충돌 등에 따라 실행된다. 블록을 사용해 조건문과 변수·명령을 구성하는 방식은 코드를 직접 작성하지 않는 사용자에게도 게임 개발 개념을 노출한다.

Stencyl 3.0부터 게임 실행 엔진의 주요 구현은 Haxe를 사용하고 플랫폼 추상화에는 OpenFL을 활용한다. Haxe 소스는 HTML5용 JavaScript 또는 플랫폼별 네이티브 코드로 변환된다. 고급 사용자는 블록 기반 로직 대신 Haxe 코드와 확장 프로그램을 작성해 게임 규칙·플러그인을 추가할 수 있다.[2]

화면 출력과 오디오·입력의 하위 계층은 OpenFL·Lime의 API에 의존하며 2D 물리와 충돌 계산은 Box2D 계열을 이용한다. 에디터의 자산·장면 제작 작업과 실제 게임 런타임은 역할이 다르므로 특정 도구 기능이 Haxe 코어에 모두 포함되어 있다고 보아서는 안 된다. 원래 Flash 배포 기능과 현재의 웹·모바일 배포는 실행 기술이 다르다.

Stencyl은 2014년 공식 설명에서 엔진 소스를 공개해 외부 개발자가 버그를 수정하거나 기능을 개선하도록 했다고 밝혔다. 공개 GitHub의 Haxe 코드를 수정해 엔진 자체를 빌드할 수 있지만 GUI 저작 도구의 라이선스와 플랫폼별 상용 출력 권한은 별도다. 따라서 오픈 소스 엔진 코드와 Stencyl 전체 제작 서비스의 조건을 구분해야 한다.[3]

Stencyl은 교육과 독립 게임 개발에서 시각적 프로그래밍을 사용하는 대표적 제작 도구의 하나로, 블록형 제작 방식과 Haxe·OpenFL 기반 코드 확장성을 결합했다. 게임 제작자가 사용하는 이미지·음악과 배포 플랫폼의 저작권·SDK 조건은 각각 별도이며, 기술사에서는 Flash 시대부터 모바일·웹으로 이어진 2D 게임 제작 도구의 변화로 설명할 수 있다.

역사

기술 계보와 개발 배경

엔진 아키텍처

게임 실행과 객체 모델

프로그래밍·스크립팅

렌더링과 그래픽스

물리·애니메이션·오디오

입력·네트워크와 멀티플레이

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

지원 플랫폼과 배포

라이선스·콘텐츠 권리

대표 게임과 영향

관련 문서

  1. Stencyl 공식 FAQ ↩
  2. Stencyl: 엔진 Haxe 소스 공개 ↩
  3. Stencyl 공개 엔진과 개발 도구의 구분 ↩