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 스타일로 옮기는 과정을 실전 예시로 정리했습니다. 이동, 점프, 공격 로직을 단계별로 변환해봅니다.
지뢰찾기에 난이도 선택과 타이머를 붙이고, 텍스트로 표시하던 깃발과 지뢰를 Phaser Graphics 기반 아이콘으로 바꿔 게임다운 화면으로 다듬었습니다.
지뢰찾기의 손맛을 만드는 빈 칸 연쇄 오픈을 BFS로 구현하고, 새 게임 버튼과 남은 지뢰 수 UI를 추가했습니다.
ECS scaffold 위에 지뢰찾기 규칙을 얹어 Mine, Flag, AdjacentMineCount 상태를 추가하고, 첫 클릭 이후 지뢰를 배치하는 흐름을 구현했습니다.
Phaser 4 기반 웹게임을 블로그에서 iframe으로 서비스하기 위한 첫 실험으로, Isometric Minesweeper의 ECS scaffold와 isometric 타일 hover 문제를 정리했습니다.