로그인
KO

JumPHP, 레트로 2D 게임을 위한 PHP 게임 엔진

게임을 PHP로 한 번만 작성하면 Windows, macOS, Linux의 창에서도, 컴퓨터와 휴대폰의 브라우저에서도 실행됩니다. 무료 오픈 소스(MIT 라이선스)입니다.

JumPHP란?

JumPHP는 PHP로 레트로 2D 게임을 만드는 프레임워크입니다. 데스크톱에서는 PHP 8.5와 SDL2, OpenGL, OpenAL 확장으로 실행되어 진짜 창, 사운드, 게임패드를 쓸 수 있습니다. 브라우저에서는 같은 PHP 8.5와 같은 확장이 WebAssembly로 컴파일됩니다. OpenGL은 WebGL이, OpenAL은 Web Audio가 되고, 게임은 평범한 정적 웹 페이지가 됩니다.

모든 것(PHP, Composer, Emscripten, 웹 서버, 테스트)이 Docker에서, 단 하나의 명령 bin/jumphp 뒤에서 실행됩니다.

엔진이 제공하는 것

  • 씬, 엔티티, 애니메이션 스프라이트, 카메라, 바로 쓸 수 있는 메뉴.
  • 타일 맵(Tiled 에디터 또는 텍스트 줄), 경사로와 통과 가능한 발판을 지원하는 충돌 처리.
  • 키보드, 게임패드, 마우스, 터치 조작을 액션 파일 하나로 정의.
  • 생성하거나 불러온 효과음(wav, ogg, mp3), 음악, 입체 음향.
  • OpenGL / WebGL을 이용한 3D와 후처리, 2D 아래나 위에 배치.
  • 릴레이 서버를 통한 온라인 멀티플레이어, HTTP 요청, 저장, 번역.
  • 무거운 연산은 스레드나 Web Worker에서, 프레임을 절대 막지 않고.
  • 실제로 게임을 플레이하는 테스트, 화면 없이 찍는 스크린샷.

만들 수 있는 것

플랫폼 게임, 아케이드, 슈팅, 레이싱 게임, 원본 Amstrad CPC 디스크로 만드는 8비트 게임 리메이크, 그리고 데스크톱 애플리케이션(HTML 페이지와 PHP, Tauri 사용), HTML 없는 그래픽 애플리케이션, 명령줄 프로그램까지.

완성된 게임은 웹 페이지, Linux와 Windows용 단일 실행 파일, 설치 프로그램, Android 또는 Apple 앱이 되거나, 이 플레이그라운드에 게시됩니다.

시작하기

composer create-project jumphp/jumphp my-games
cd my-games
bin/jumphp new breakout "BREAKOUT"
bin/jumphp install breakout
bin/jumphp run breakout

새 게임은 작지만 완전한 플랫폼 게임(메뉴, 레벨, 플레이어, 코인)으로, 이를 여러분의 게임으로 바꿔 나가면 됩니다. bin/jumphp build로 웹 페이지가 됩니다. 그다음부터는 Docker만 있으면 됩니다. PHP, Composer, Emscripten은 그 컨테이너 안에서 실행됩니다.

또는 스튜디오에서 게임을 설명하세요. 여러분의 Claude가 JumPHP로 게임을 작성해 여기에 게시합니다. 게임 만들기 →

더 알아보기

자주 묻는 질문

JumPHP는 무료인가요?

네. JumPHP는 MIT 라이선스의 오픈 소스이며, jumphp.net 플레이그라운드도 게임을 즐기는 것도 게시하는 것도 무료입니다.

게임을 만들려면 PHP를 설치해야 하나요?

아니요. PHP 8.5, Composer, Emscripten, 테스트까지 모두 bin/jumphp 명령 뒤에서 Docker로 실행됩니다. 플레이어에게 필요한 것은 브라우저나 게임 실행 파일뿐입니다.

같은 코드가 데스크톱과 브라우저에서 모두 동작하나요?

네. 브라우저는 WebAssembly로 컴파일된 같은 PHP 8.5와 같은 확장을 실행합니다. 지킬 규칙은 몇 가지뿐입니다. 프레임을 절대 막지 말 것, 네트워크와 파일은 엔진을 통해 다룰 것.

Composer 패키지를 사용할 수 있나요?

네, 순수 PHP로 작성된 패키지라면 가능합니다. 브라우저에는 추가 PHP 확장이 존재하지 않기 때문입니다.