Godot 4 미니게임 모드 전환 — 상태 저장/복원 패턴과 _process() 함정

다마고치 게임에 미니게임 3종을 넣었다. 게임 자체보다 어려웠던 건 게임 모드 전환이다. 미니게임을 시작하면 씬이 줌아웃되고 캐릭터가 축소되고 이동 범위가 바뀌고 배경이 교체된다. 게임이 끝나면 이 모든 게 원래대로 돌아와야 한다. 하나라도 복원을 빠뜨리면 버그가 된다. 캐릭터가 작은 채로 남아있거나, 배경이 확장된 채로 유지되거나, 이동 범위가 좁아진 채로 고정된다. 유저는 “게임이 망가졌다"고 느낀다. 이 글에서는 미니게임 모드 전환 시 상태 관리 패턴과, 실제로 터진 버그들의 원인과 해결을 정리한다. 문제의 본질: 임시 상태 vs 영구 상태 미니게임 모드는 임시 상태다. 잠깐 동안만 다른 설정을 쓰고, 끝나면 원래대로 돌아간다. 이게 간단해 보이는데 실제로는 복잡하다. ...

2026-03-26 · 7분 소요 · Seunghan

Godot 4 Tween 실전 레시피 — 미니게임에서 써먹은 12가지 애니메이션 패턴

Godot 4에서 Tween API가 완전히 바뀌었다. Godot 3에서 노드 기반이던 게 빌더 패턴으로 재설계됐다. 코드는 깔끔해졌는데 API 경계가 헷갈린다. set_loops()를 PropertyTweener에 호출해서 에러 나고, set_parallel()을 tween_property() 뒤에 붙여서 동작 안 하고. 다마고치 미니게임을 만들면서 12가지 Tween 패턴을 정리했다. 삽질 한 번 할 때마다 하나씩 추가된 목록이다. 기본: Tween vs PropertyTweener 이게 모든 혼란의 원흉이다. create_tween()은 Tween을 반환하고, tween_property()는 PropertyTweener를 반환한다. 두 클래스의 메서드가 다르다. var tween: Tween = create_tween() # Tween 반환 var pt: PropertyTweener = tween.tween_property(...) # PropertyTweener 반환 메서드 Tween PropertyTweener set_loops() ✅ ❌ set_parallel() ✅ ❌ set_speed_scale() ✅ ❌ set_trans() ✅ ✅ set_ease() ✅ ✅ as_relative() ❌ ✅ set_delay() ❌ ✅ from() ❌ ✅ from_current() ❌ ✅ 체이닝할 때 반환 타입을 항상 의식해야 한다. 이걸 모르면 컴파일은 되는데 런타임에 터진다. ...

2026-03-25 · 6분 소요 · Seunghan

WarioWare에서 훔친 미니게임 설계 원칙 — Godot 4로 3종 구현까지

미니게임을 만들다 보면 욕심이 생긴다. 조작을 추가하고, 규칙을 복잡하게 만들고, 스코어 시스템을 정교하게 다듬고. 그런데 막상 플레이하면 재미없다. 5초 안에 “이게 뭐하는 게임이지?“가 파악이 안 되면 이미 실패다. 닌텐도 R&D1 팀이 2003년에 만든 WarioWare(미니게임천국)는 이 문제를 정면으로 해결한 게임이다. 5초짜리 게임 200개를 쏟아내면서도 하나하나가 직관적이다. 이 글에서는 WarioWare의 설계 원칙을 분석하고, 내 다마고치 프로젝트에 적용한 과정을 기록한다. WarioWare가 20년째 연구 대상인 이유 WarioWare 시리즈는 게임 디자인 수업에서 단골 교재다. “마이크로게임"이라는 장르를 사실상 창조했기 때문이다. ...

2026-03-24 · 7분 소요 · Seunghan

Godot 4 다마고치 미니게임 개발기 — 줌아웃 좌표계, Tween 루프, WarioWare 설계

다마고치 스타일 펫 게임을 Godot 4로 만들고 있다. 밥 주고, 쓰다듬고, 산책시키는 기본 기능은 어렵지 않았는데, 미니게임을 추가하면서 예상 못한 문제가 쏟아졌다. 똥 피하기 게임 하나 만드는데 좌표계 문제로 반나절을 날렸다. 이 글에서는 Godot 4의 Tween 루프 문법, 부모 노드 스케일 변경 시 자식 좌표 보정, 그리고 _process()에서 값이 매 프레임 덮어써지는 함정까지 실제로 겪은 삽질을 정리한다. Godot 4 Tween의 set_loops() 함정 에러 상황 똥이 하늘에서 떨어지면서 회전하는 애니메이션을 넣으려고 이렇게 작성했다: ...

2026-03-23 · 8분 소요 · Seunghan
개인정보처리방침 이용약관 면책조항 문의