Pyxel

Pyxel은 Takashi Kitao가 개발한 Python용 자유·오픈 소스 레트로 게임 엔진이다. 기본 16색 화면과 네 채널의 소리를 제공하며 픽셀 아트 중심의 작은 게임을 Python 코드로 만들 수 있도록 설계됐다. PICO-8과 TIC-80의 간결한 가상 게임기 모델에서 영감을...

분류게임 엔진, Python 기반 레트로 게임 엔진
개발자Takashi Kitao (kitao)
주요 구현 언어Rust 코어와 Python API
화면기본 16색 팔레트, 화면 크기 지정
이미지 뱅크256×256 크기 3개
타일맵256×256 크기 8개
오디오4채널, 효과음 64개, 음악 8개
프로그래밍pyxel.init(), pyxel.run(update, draw)
편집 도구Pyxel Editor, 이미지·소리·음악 편집기
패키지pyxres 자산, pyxapp 애플리케이션
배포 대상Windows, Linux, macOS, 웹 브라우저
지원 입력키보드·마우스·게임패드
주요 영감PICO-8, TIC-80
공개 라이선스MIT License
공식 저장소kitao/pyxel
사용자 안내Pyxel User Guide

Pyxel은 Takashi Kitao가 개발한 Python용 자유·오픈 소스 레트로 게임 엔진이다. 기본 16색 화면과 네 채널의 소리를 제공하며 픽셀 아트 중심의 작은 게임을 Python 코드로 만들 수 있도록 설계됐다. PICO-8과 TIC-80의 간결한 가상 게임기 모델에서 영감을 받았지만 실행 환경과 프로그래밍 언어, 라이선스 및 내부 구현이 다른 독립 소프트웨어다.[1]

Pyxel의 실행 모델은 pyxel.init()을 호출해 화면과 게임 환경을 초기화한 뒤 pyxel.run(update, draw)로 갱신과 그리기 함수를 등록하는 방식이다. update에서 입력과 게임 상태·충돌·애니메이션 등의 규칙을 계산하고 draw에서 이미지와 도형·텍스트를 표시한다. 이렇게 화면과 게임 논리를 분리하면 Python의 일반적인 함수와 자료 구조만으로도 간단한 2D 게임을 작성할 수 있다.

기본 사양은 16색 팔레트와 256×256 크기의 이미지 뱅크 세 개, 같은 크기의 타일맵 여덟 개를 제공한다. 사운드 시스템에는 네 개의 출력 채널과 64개의 효과음, 여덟 개의 음악 트랙이 포함된다. 일부 한도는 사용자가 변경할 수 있으며 실제 과거 하드웨어를 복제하는 에뮬레이터가 아니라 복고풍 콘텐츠를 쉽게 제작하기 위한 소프트웨어적 창작 모델이다.[2]

Pyxel Editor는 픽셀 그림과 타일맵·효과음·음악을 편집하는 도구다. 편집한 자산은 .pyxres 파일에 저장할 수 있고 .pyxapp 형식은 게임 코드와 자산을 함께 묶어 배포하는 데 사용한다. 명령줄 도구에는 게임 실행과 자산 편집, 패키징·HTML 내보내기 및 실행 파일 생성이 포함돼 있으며, 게임 제작자는 별도의 Python 편집기를 사용할 수도 있다.

저수준 엔진 시스템의 상당 부분은 Rust로 구현되며 Python은 개발자에게 게임 API를 제공한다. Windows·Linux·macOS에서 Python 패키지로 사용할 수 있고 브라우저용 실행 환경도 지원한다. 로컬 설치에는 공식 가이드 기준 Python 3.11 이상이 필요하며 브라우저에서는 Python을 별도로 설치하지 않고 프로그램을 실행할 수 있다. 실제 입력과 파일 접근·사운드 동작은 실행 플랫폼에 따라 차이가 난다.[3]

코드와 기본 프로그램은 MIT License로 공개돼 있어 개발자가 자유롭게 검토하고 수정·재사용할 수 있다. 사용자 게임에 포함된 음악과 이미지, 제삼자 라이브러리는 독립적인 저작권과 배포 조건을 갖는다. Pyxel은 Rust의 네이티브 실행 기반과 Python의 단순한 게임 개발 API, 레트로 스타일의 편집 도구를 함께 결합한 공개 게임 엔진으로 평가할 수 있다.[4]

역사

기술적 배경과 개발 목표

엔진 아키텍처

프로그래밍과 실행 루프

화면·스프라이트·그래픽스

입력·오디오와 애니메이션

게임 자산과 편집기

플랫폼과 웹 배포

라이선스와 소스 코드

게임 개발과 영향

관련 문서

  1. Pyxel 공식 저장소 ↩
  2. Pyxel 공식 기술 명세 ↩
  3. Pyxel 설치와 웹 실행 안내 ↩
  4. Pyxel 라이선스 ↩