Phaser 3 -> 4 실전 코드 변환편 (이동/점프/공격 로직)
Phaser 3의 Scene 중심 Player 코드를 Phaser 4 ECS 스타일로 옮기는 과정을 실전 예시로 정리했습니다. 이동, 점프, 공격 로직을 단계별로 변환해봅니다.
여태까지 많은 git 안내서가 있지만, 이번에는 subversion (aka: svn) 사용자를 위한 타겟으로 글을 작성해보겠습니다.

먼저 git 은 subversion 과 달리 로컬에서도 원격에서도 저장이 됩니다. (원격 저장소를 여러개 두는 것도 가능하지만 여기서 다루지는 않겠습니다.) 그러다보니 commit 만 하고 끝이지 않냐? 라는 관성 때문에 많이들 고생하시고 계십니다.. 이번은 주요한 소스 올리기와 공유 에 중점으로 다뤄보겠습니다.
SVN에서 Git으로 넘어올 때 가장 헷갈리는 지점은 commit의 의미다. SVN의 commit은
보통 중앙 저장소에 변경을 보내는 행동이지만, Git의 commit은 내 컴퓨터의 로컬 저장소에
기록을 남기는 행동이다. 팀과 공유하려면 그 뒤에 push가 한 번 더 필요하다.
| SVN에서 하던 일 | Git에서 대응하는 흐름 | 기억할 점 |
|---|---|---|
svn checkout | git clone | 원격 저장소와 전체 이력을 로컬에 복제 |
svn update | git pull | 원격 변경을 가져와 현재 브랜치에 반영 |
svn status | git status | 수정·스테이징·추적 상태를 함께 확인 |
svn add | git add | 커밋할 변경을 스테이징 영역에 선택 |
svn commit | git commit 후 git push | 로컬 기록과 원격 공유가 분리됨 |
작업을 시작하거나 끝낼 때 git status를 보는 습관을 들이면 실수가 크게 줄어든다.
무엇이 수정됐는지, 아직 커밋하지 않은 파일이 있는지, 현재 브랜치가 어디인지 한 번에
확인할 수 있기 때문이다.
svn 의 checkout 명령어 처럼 git 의 저장소를 가져오는 명령어는 clone 입니다.
로컬 저장소를 복제(clone)하려면 아래 명령을 실행하세요.
$ git clone /로컬/저장소/경로
원격 서버의 저장소를 복제하려면 아래 명령을 실행하세요.
$ git clone 사용자명@호스트:/원격/저장소/경로
svn 의 update 명령어 처럼 git 의 저장소에서 데이터를 가져오는 명령어는 pull 입니다.
$ git pull
공동 작업 중이라면 pull 전에 로컬 변경이 남아 있는지 먼저 확인하는 편이 안전하다.
작업 중인 변경을 바로 섞고 싶지 않다면 먼저 커밋하거나, 임시 저장(git stash)한 뒤
원격 변경을 가져온다.
svn 의 add / commit 명령어 처럼 git 의 저장소로 데이터를 저장하는 명령어는 git 도 동일합니다.
하지만 svn 과 다르게 한가지 동작이 더 필요합니다
기존 svn 에서는 다음의 명령어이면 서버로 업로드하는것이 끝나지만
$ svn add * --force
$ svn commit -m "add files"
git 에서는 다음의 명령어이면 로컬 저장소 로 저장이 됩니다.
$ git add *
$ git commit -m "add files"
이후로 서버에 업로드 하기 위해서는 다음의 명령어가 더 필요합니다!
$ git push origin master
최근 저장소의 기본 브랜치는 master 대신 main인 경우가 많다. 아래처럼 현재 브랜치
이름을 확인한 뒤 push 대상을 맞춘다.
$ git branch --show-current
$ git push origin main
새 기능이나 수정 하나를 끝냈을 때는 다음 순서가 무난하다.
$ git status
$ git diff
$ git add 파일경로
$ git commit -m "수정한 내용을 설명하는 메시지"
$ git push origin 현재브랜치
처음에는 git add .보다 파일 경로를 명시하는 편이 좋다. 의도하지 않은 설정 파일이나
생성 파일이 커밋에 들어가는 일을 줄일 수 있다. commit 메시지는 “수정”보다 무엇을 왜
바꿨는지 남겨두면, 나중에 이력을 찾을 때 도움이 된다.
Git의 브랜치는 가볍게 만들 수 있지만, 여러 사람이 같은 줄을 수정하면 충돌이 생길 수
있다. 충돌 자체는 실패가 아니라 두 변경 중 어떤 내용을 남길지 사람이 결정해야 한다는
신호다. 충돌 표시를 확인해 코드를 정리한 뒤 git add, git commit 순서로 해결을
마무리한다. 이해하지 못한 충돌을 기계적으로 지우기보다, 원래 의도를 팀원과 확인하는
편이 안전하다.
SVN 저장소를 Git으로 실제 이전하는 작업은 이 글의 범위를 넘는다. 저장소 이력, 대용량 파일, 권한, CI 설정까지 함께 점검해야 하므로 별도의 백업과 테스트 저장소에서 먼저 연습하는 것을 권한다.
git 은 svn 과 달리 merge / branch 생성이 비교적 쉽습니다. 하지만 이 단계에서 이야기할 것은 아닌 것 같습니다.
Ref.
Phaser 3의 Scene 중심 Player 코드를 Phaser 4 ECS 스타일로 옮기는 과정을 실전 예시로 정리했습니다. 이동, 점프, 공격 로직을 단계별로 변환해봅니다.
Phaser 3 프로젝트를 Phaser 4로 옮길 때 놓치기 쉬운 포인트를 체크리스트로 정리했습니다. 사전 점검부터 코드 구조, 렌더링, 배포 검증까지 한 번에 확인할 수 있습니다.
Phaser 4의 핵심 변경사항을 Phaser 3와 비교하여 인디게임 개발자 관점에서 정리합니다. 성능, 구조, 렌더링 변화까지 한 번에 이해할 수 있습니다.
Next.js 기반 정적 블로그를 Astro + Tailwind로 이주하면서 얻은 것들(속도, 단순함, 디자인 시스템).