이 글은 Daily Log 시리즈의 141번째 기록입니다. (총 155개)

오늘 한 일

  • 모래게임 Sandrop
    • 유저가 어디까지 깨는지 보려고 분석 도구를 열어 봄
    • 레벨 번호가 안 나오던 이유를 찾고 설정을 등록
    • 원시 데이터를 따로 쌓도록 연결 — 앞으로 궁금한 게 생겨도 그때 꺼내 볼 수 있게
    • 다른 프로젝트들이 같은 실수를 안 하게 공지
    • 개발용으로 다 깨 둔 내 계정 진행 상황을 초기화
  • UnrealLab (Unreal Engine MCP 첫 실험)
    • Unreal Engine 5.8에 자체 MCP 서버를 Claude Code에 붙이고 toolset 52개가 잡히는 것을 확인했다 (desktop 환경 세팅부터)
    • 노출 구조를 파악했다 — 도구는 3개만 보이고 실제 도구는 call_tool이 이름으로 간접 호출한다
    • 0,0,0에 큐브 하나를 띄운 첫 스폰이 똬 하고 떠서 제일 짜릿했다
    • 실험 사다리 0~6단계를 자연어로만 시켜 전부 통과했다 — 큐브 하나, 10×10 격자, 기둥 24개 원형 배치, 큐브 100개 나선, 체커보드 머티리얼, 전부 띄우고 절반 삭제, 11×11 링별 계단
    • 대량 배치를 execute_tool_script 한 번으로 묶었다. 100회 왕복 대신 스크립트 한 번이다
    • 매 단계 배치 결과를 씬에서 되읽어 반지름·각도 간격·회전수·링별 Z·색 패턴을 재계산해 검증했다
    • 빨강·흰색 머티리얼을 만들어 /Game/MCPLab/에 모으고 체커보드를 칠했다
    • 세션 인계용 실험 기록 파일을 만들어 결과 기록 7건과 갈림길·함정을 정리했다
    • UnrealLab CLAUDE.md에 MCP 사용 실측 절을 추가했다
  • 소리꽃 KeyBloom
    • 파티클 방사형 개화를 위쪽 반원 돔으로 다시 디자인 — 높이는 세로, 폭은 가로로 퍼지게
    • 속도를 크기와 분리 — 속도를 올려도 크기는 그대로, 더 빨리 터지고 사라지게만
    • 폭을 최소로 하면 눌린 건반 너비만큼만 모이게
    • 나선 회전 반경을 “폭”으로 합치고, 모션마다 안 쓰는 컨트롤은 자동으로 숨게
    • 모래 유영에도 높이(어디까지 떠오르나) 추가
    • 0.1.5로 출시 — 서명·자동 업데이터·로그스톤 샵 업데이트 내역까지
    • 업데이트 팝업에서 확인 누르면 진행 표시가 바로 뜨게
  • LOGSTONE Shop
    • 우편함 네 건 처리 — 다른 제품 새 버전 반영(재배포), 우리 사이트를 부르는 이름 통일, 공지 두 건 회신
    • 공지 상태를 새로 만듦 — 전 세션 공지가 모든 회신을 받아야 닫히는 구조라 계속 쌓이던 것을 풀었다
    • 세션들이 한 컴퓨터에 있지 않다는 걸 규칙에 적음 — 데스크톱 세션은 올려야 도착한다
    • 배포 정책 변경 — 커밋까지만 자동으로 하고 올리는 건 물어보고 하도록
  • kimlog Blog
    • 포스트 작성 규칙을 하나 추가했다 — 로그스톤 샵을 가리킬 때 “회사 사이트”처럼 뭉뚱그리지 말고 제품명을 명시하도록 CLAUDE.md에 넣었다

어려웠던 점

  • 모래게임 Sandrop
    • 지금까지 낸 앱은 도구라 “유저가 어디까지 갔나”라는 질문이 없었다. 게임은 단계를 지나가는 구조라 봐야 하는 것이 다른데, 그건 게임을 내고 나서야 보였다
    • 분석 화면에서 레벨 번호 자리가 전부 비어 있었다. 앱은 제대로 보내고 있었는데 받는 쪽 설정이 빠져 있었다
    • 등록하면 지난 데이터도 채워질 줄 알았는데 아니었다. 출시 후 사흘치를 잃었다
    • 예전에 “유료 요금제가 필요하다”고 알고 미뤄 둔 것이 지금은 무료로 가능했다. 오래된 정보로 판단을 미루고 있었다
    • 계정 초기화에 순서가 있었다. 기기 쪽을 먼저 지우면 클라우드에서 그대로 되살아난다
  • UnrealLab
    • 도구 이름은 짐작하면 튕긴다 — get_actor_label이 아니라 ActorTools.get_label이었다
    • 되돌리기가 액터 단위라 스크립트로 만든 100개가 Ctrl+Z 한 번에 안 물린다
    • 스크립트 샌드박스의 dict는 기본값 있는 get을 막는다. 모르고 쓰면 검증 스크립트가 죽는다
    • 없는 폴더를 물으면 예외가 나고, 스크립트가 중간에 죽어도 그때까지의 씬 변경은 롤백되지 않는다
    • 짝수 번째만 칠했더니 체커보드가 아니라 줄무늬가 나왔다. 격자 폭이 짝수여서 생긴 일이다
    • 안 칠한 칸은 흰색이 아니라 검정이었다. 기본 큐브의 슬롯 머티리얼이 자리표시자였다
    • 11×11로 키울 때 기존 것을 두고 늘리지 않고 전부 지우고 다시 만들면 되돌릴 수 없는 삭제가 따라온다
  • 소리꽃 KeyBloom
    • 모션마다 속도·높이·폭이 제각각 다르게 먹혀서 헷갈렸다 — 방사형은 속도를 올리면 커지는데 다른 건 안 그랬다
    • 컨트롤이 “어느 모션에서 뭘 쓰는지”를 사람이 일일이 관리하는 구조라, 모래에 안 쓰는 높이가 떠 있어도 걸러지지 않았다
  • LOGSTONE Shop
    • 올리지 않고 세워 둔 커밋이 다른 세션의 작업에 딸려 저절로 올라갔다. 같은 폴더를 쓰는 구조라 막을 방법이 없어, 배포돼도 곤란하지 않은 상태에서만 커밋하기로 했다

배운 점

  • 모래게임 Sandrop TIL 32로 정리
    • 보내는 것과 볼 수 있는 것은 다르다. 미리 등록해야 쪼개 볼 수 있다
    • 설정이 소급 적용되지 않으면 “언제 켰는가”가 데이터의 시작점이 된다
    • 원시 기록을 쌓아 두면 질문이 나중에 생겨도 답할 수 있다
    • 결정을 미루게 한 조건이 아직 맞는지 다시 확인한다
    • 양쪽에 같은 데이터가 있으면 지우는 순서가 결과를 바꾼다
  • UnrealLab — Unreal Engine MCP TIL 1로 정리
    • MCP는 도구를 다 펼치지 않고 3단으로 접어둔다. 도구 이름은 짐작하지 말고 목록으로 확인해야 한다
    • 대량 작업은 스크립트 한 번으로 묶고, 결과는 반환값이 아니라 씬을 되읽어 검증해야 한다
    • 되돌리기가 액터 단위라 스크립트 실행은 트랜잭션이 아니다. 취소는 폴더째 삭제로 한다
    • 액터별 머티리얼은 메시 에셋이 아니라 컴포넌트 오버라이드로 넣어야 다른 액터에 안 번진다
    • 시킨 문장에 없는 값은 반드시 생긴다. 중심 정의, 거리 척도, 나머지 절반 처리가 결과를 가른다
    • “같은 규칙으로 더 크게”를 재생성으로 읽으면 되돌릴 수 없는 삭제가 따라온다
  • 소리꽃 KeyBloom TIL 27로 정리
    • 속도를 크기에서 떼어내려면 속도와 항력을 같이 키운다 — 도달은 그대로, 빠르기만 바뀐다
    • 한 컨트롤이라도 모션마다 뜻이 다르면, “무엇을 쓰는지”를 한 곳에 선언해 표시를 거기서 파생시킨다
  • 로그스톤 샵 LogStone Shop TIL 7로 정리
  • kimlog Blog
    • 회사·조직을 뭉뚱그린 표현은 읽는 사람에게 무엇을 만들었는지 전달하지 못한다. 제품명을 쓰면 같은 문장이 기록으로도 남는다

해야 할 일

  • 모래게임 Sandrop
    • 며칠 뒤 레벨별 도달 분포 확인
    • 크래시·ANR, 광고 노출 수 확인
    • 도안 추가 검토
    • 광고 제거 상품 — 리텐션 보고 판단
  • UnrealLab
    • UE 5.6에 MCP 플러그인이 있는지 확인하고 toolset 구성을 5.8과 비교하기 (예전 리듬게임·불꽃놀이 프로젝트가 5.8에서 열리는지도)
    • 블루프린트 툴세트 시험하기 — 그래프는 좌표처럼 숫자로 검증할 수 없어 검증 방법부터 정하기
    • 11×11에서 12×12로 갈 때 기존 것을 두고 늘리는 증분 확장 시켜보기
    • 실험 기록을 안 읽은 새 세션에서 피벗 문제 재시험하기
    • MCPLab 프로젝트 폴더를 git으로 추적할지 정하기
    • 오늘 실험을 UnrealLab devlog로 정리하기
  • 소리꽃 KeyBloom
    • 공연 출력 창 배경 이미지가 블랙으로 뜨는 버그
    • 크로마키 출력 + 건반 crop(실연주 영상에 얹어 위치 맞추기)
    • 분수 진짜 아치, 별도 “수명” 슬라이더 검토
    • 라이브 모드 촬영 기획, 9:16·1:1 비율 추출
  • LOGSTONE Shop
    • 광고 인증 통과 여부 확인
    • 검색 콘솔에 사이트맵 제출
    • Sandrop 페이지 스크린샷 배치 화면으로 확인
    • 중복 파일 찾기 앱 손질 후 등록 재검토

Series: Daily Log

1 오늘 해낸 것 2 오늘 해낸 것 3 오늘 해낸 것 4 오늘 해낸 것 5 오늘 해낸 것 6 오늘 해낸 것 7 오늘 해낸 것 8 오늘 해낸 것 9 오늘 해낸 것 10 오늘 해낸 것 11 오늘 해낸 것 12 오늘 해낸 것 13 오늘 해낸 것 14 오늘 해낸 것 15 오늘 해낸 것 16 오늘 해낸 것 17 오늘 해낸 것 18 오늘 해낸 것 19 오늘 해낸 것 20 오늘 해낸 것 21 오늘 해낸 것 22 오늘 해낸 것 23 오늘 해낸 것 24 오늘 해낸 것 25 오늘 해낸 것 26 오늘 해낸 것 27 오늘 해낸 것 28 오늘 해낸 것 29 오늘 해낸 것 30 오늘 해낸 것 31 오늘 해낸 것 32 오늘 해낸 것 33 오늘 해낸 것 34 오늘 해낸 것 35 오늘 해낸 것 36 오늘 해낸 것 37 오늘 해낸 것 38 오늘 해낸 것 39 오늘 해낸 것 40 오늘 해낸 것 41 오늘 해낸 것 42 오늘 해낸 것 43 오늘 해낸 것 44 오늘 해낸 것 45 오늘 해낸 것 46 오늘 해낸 것 47 오늘 해낸 것 48 오늘 해낸 것 49 오늘 해낸 것 50 오늘 해낸 것 51 오늘 해낸 것 52 오늘 해낸 것 53 오늘 해낸 것 54 오늘 해낸 것 55 오늘 해낸 것 56 오늘 해낸 것 57 오늘 해낸 것 58 오늘 해낸 것 59 오늘 해낸 것 60 오늘 해낸 것 61 오늘 해낸 것 62 오늘 해낸 것 63 오늘 해낸 것 64 오늘 해낸 것 65 오늘 해낸 것 66 오늘 해낸 것 67 오늘 해낸 것 68 오늘 해낸 것 69 오늘 해낸 것 70 오늘 해낸 것 71 오늘 해낸 것 72 오늘 해낸 것 73 오늘 해낸 것 74 오늘 해낸 것 75 오늘 해낸 것 76 오늘 해낸 것 77 오늘 해낸 것 78 오늘 해낸 것 79 오늘 해낸 것 80 오늘 해낸 것 81 오늘 해낸 것 82 오늘 해낸 것 83 오늘 해낸 것 84 오늘 해낸 것 85 오늘 해낸 것 86 오늘 해낸 것 87 오늘 해낸 것 88 오늘 해낸 것 89 오늘 해낸 것 90 오늘 해낸 것 91 오늘 해낸 것 92 오늘 해낸 것 93 오늘 해낸 것 94 오늘 해낸 것 95 오늘 해낸 것 96 오늘 해낸 것 97 오늘 해낸 것 98 오늘 해낸 것 99 오늘 해낸 것 100 오늘 해낸 것 101 오늘 해낸 것 102 오늘 해낸 것 103 오늘 해낸 것 104 오늘 해낸 것 105 오늘 해낸 것 106 오늘 해낸 것 107 오늘 해낸 것 108 오늘 해낸 것 109 오늘 해낸 것 110 오늘 해낸 것 111 오늘 해낸 것 112 오늘 해낸 것 113 오늘 해낸 것 114 오늘 해낸 것 115 오늘 해낸 것 116 오늘 해낸 것 117 오늘 해낸 것 118 오늘 해낸 것 119 오늘 해낸 것 120 오늘 해낸 것 121 오늘 해낸 것 122 오늘 해낸 것 123 오늘 해낸 것 124 오늘 해낸 것 125 오늘 해낸 것 126 오늘 해낸 것 127 오늘 해낸 것 128 오늘 해낸 것 129 오늘 해낸 것 130 오늘 해낸 것 131 오늘 해낸 것 132 오늘 해낸 것 133 오늘 해낸 것 134 오늘 해낸 것 135 오늘 해낸 것 136 오늘 해낸 것 137 오늘 해낸 것 138 오늘 해낸 것 139 오늘 해낸 것 140 오늘 해낸 것 141 오늘 해낸 것 읽는 중 142 오늘 해낸 것 143 오늘 해낸 것 144 오늘 해낸 것 145 오늘 해낸 것 146 오늘 해낸 것 147 오늘 해낸 것 148 오늘 해낸 것 149 오늘 해낸 것 150 오늘 해낸 것 151 오늘 해낸 것 152 오늘 해낸 것 153 오늘 해낸 것 154 오늘 해낸 것 155 오늘 해낸 것