Phaser 4 완전 정리 — Phaser 3와 뭐가 달라졌나?
Phaser 4의 핵심 변경사항을 Phaser 3와 비교하여 인디게임 개발자 관점에서 정리합니다. 성능, 구조, 렌더링 변화까지 한 번에 이해할 수 있습니다.
Phaser 4는 Phaser 3의 “마이너 업그레이드”가 아니다.
구조(ECS), 렌더링 파이프라인, 개발 방식이 함께 바뀌기 때문에,
무작정 버전만 올리면 거의 100% 삽질한다.
이 글은 실제 이전 작업에서 바로 쓸 수 있게, 준비 -> 이전 -> 검증 순서로 체크리스트를 정리했다.
아래에 2개 이상 해당하면 마이그레이션을 고려할 만하다.
아래에 해당하면 Phaser 3 유지가 더 낫다.
마이그레이션 전에 이 단계가 끝나지 않으면 시작하지 않는 게 좋다.
팁:

한 번에 전체 이전하지 말고, “새 코어 + 점진 이전”으로 간다.
legacy(phaser3)와 next(phaser4) 실행 엔트리를 분리했다.예시 디렉터리:
src/
game-core/ # 엔진 독립 도메인
phaser3-runtime/ # 기존 런타임
phaser4-runtime/ # 신규 런타임
shared/ # 입력/저장/사운드 어댑터
Phaser 3의 GameObject 중심 로직을 ECS로 옮길 때는 매핑표를 먼저 만든다.
Position, Velocity, Health, SpriteRef, Collider 등MovementSystem, CombatSystem, CollisionSystem, RenderSyncSystem간단한 매핑 예시:
| Phaser 3 패턴 | Phaser 4/ECS 전환 방향 |
|---|---|
scene.update()에 모든 로직 | System별 처리 순서 정의 |
sprite.setVelocity() 직접 호출 | Velocity 컴포넌트 수정 -> MovementSystem 반영 |
| 오브젝트 내부 상태 혼합 | 상태를 Component로 분리 |
체감 버그가 가장 많이 나오는 영역이다.
권장 테스트 시나리오:

Phaser 4에서 렌더링 구조가 바뀌면 “보이긴 보이는데 다르게 보이는” 문제가 잦다.
검증 포인트:
“돌아간다”와 “쓸 만하다”는 다르다.
예시 목표:
마이그레이션의 실패는 보통 코드보다 롤아웃에서 나온다.
권장 순서:
아래 상황이면 일정 기준으로 Phaser 3 유지가 더 현명할 수 있다.
기술 선택의 목적은 “새로운 것 사용”이 아니라 팀 생산성과 게임 품질 개선이다.
Phaser 3 -> 4 이전의 핵심은 버전 업이 아니라 구조적 리팩토링이다.
체크리스트 기반으로 진행하면,
를 팀이 같은 언어로 판단할 수 있다.
차후에는 실제 코드 기준으로
Player 이동/공격 로직을 Phaser 3 스타일에서 ECS로 변환하는 예시를 이어서 정리해보겠다.
Phaser 4의 핵심 변경사항을 Phaser 3와 비교하여 인디게임 개발자 관점에서 정리합니다. 성능, 구조, 렌더링 변화까지 한 번에 이해할 수 있습니다.
Phaser 3의 Scene 중심 Player 코드를 Phaser 4 ECS 스타일로 옮기는 과정을 실전 예시로 정리했습니다. 이동, 점프, 공격 로직을 단계별로 변환해봅니다.
지뢰찾기의 손맛을 만드는 빈 칸 연쇄 오픈을 BFS로 구현하고, 새 게임 버튼과 남은 지뢰 수 UI를 추가했습니다.
ECS scaffold 위에 지뢰찾기 규칙을 얹어 Mine, Flag, AdjacentMineCount 상태를 추가하고, 첫 클릭 이후 지뢰를 배치하는 흐름을 구현했습니다.
Phaser 4 기반 웹게임을 블로그에서 iframe으로 서비스하기 위한 첫 실험으로, Isometric Minesweeper의 ECS scaffold와 isometric 타일 hover 문제를 정리했습니다.
패럴랙스 스크롤링(parallax scrolling)은 원거리에 있는 배경 이미지는 느리게 움직이게 하고, 근거리에 있는 사물 이미지는 빠르게 움직이도록 함으로써 2D 기반에서 입체감을 느낄 수 있게 만든 기법입니다.