Files
HolodoriCalc/docs/research/android-master-comparison-2026-09-29.md
dal4segno 07b98db520
Publish GitHub Pages output / publish (push) Successful in 44s
data: switch to recovered game DB and refresh cards and charts
2026-09-29 22:48:08 +09:00

18 KiB
Raw Permalink Blame History

계산기 데이터와 Android 복호화 DB 비교 — 2026-09-29

결론

기존 카드 185개의 계산용 데이터는 일치한다. DB에는 신규 카드 4개, 곡 7개, 포스터 1개, 보드 노드 1개가 추가되어 있어 전체 데이터는 일치하지 않는다. 기존 카드 성장치와 스킬 수치가 바뀐 것은 아니다.

비교 대상은 현재 작업 폴더의 계산기 데이터다. 배포된 사이트의 파일은 이번 조사에서 별도 확인하지 않았다. 앱 데이터 수정·배포는 하지 않았다.

비교 기준과 검증

  • 계산기 마스터 버전: 845cee36af22b657511ca406b5417cac7076a001208518c9601d6389a5046ddd
  • 복호화 DB 마스터 버전: 546b8e2e37db368c6731e148b88611cef105bbaa66ff567f5c1584711ef979a4
  • 공식 eng/kor/jpn 원격 main을 npm run data:sync로 fetch했다. 모두 기존 9월 26일 수집 기준과 동일했고 카드/스킬·곡·이벤트·번역·기타 시스템의 원격 추가 변경은 없었다. 세 검토 파일을 모두 확인했다.
  • 현재 Android 1.2.0 바이너리에서 Protocol Buffers 파일 정의 612개를 추출했다. 실제 DB 379개, 233,312행의 레코드를 모두 해석했고 오류나 해석되지 않은 protobuf 필드는 없었다.
  • enum 접두사와 기본값 표기를 정규화했다. DB의 보조 검색 컬럼 추가를 레코드 삭제/추가로 오인하지 않도록 기존 식별자로 비교했다. 큰 정수 client_id는 원본 JSON의 정밀도 손실을 피하도록 protobuf의 정확한 문자열 ID를 사용했다.
  • 현재 수집 코드를 조사 폴더의 격리된 출력으로 실행해 기준 원격과 DB의 계산기 요약을 각각 재생성했다. 실제 서비스 출력 경로는 변경하지 않았다.
  • 현재 card-master의 34개 표 및 저장된 번역은 기준 원격과 일치한다. 카드·보드·메모리 요약 3개 파일도 기준 원격을 재생성한 결과와 정확히 일치한다.
  • 에뮬레이터에서 확보한 번역은 한국어다. 신규 영어·일본어 번역의 최신성은 검증하지 않았다. 비교용 생성에서 이 두 언어는 기준 원격 자료를 유지했으며 한국어 화면/계산용 요약만 최신 DB와 검증했다.

카드와 스킬

기존 185개의 카드 원본 레코드 및 정규화된 계산기 카드 객체에 변경·삭제가 없다. 최대 레벨 능력치, 패시브/액티브/스페셜, 연결 효과, 의상 설명 등 계산기에 저장되는 기존 카드의 전체 필드가 동일하다.

신규 카드 속성 한국어 카드명 ID
호쇼 마린 퓨어 보물 독점♡워터 캐논 card-00023-5-uniq-0085-00
하쿠이 코요리 해피 뒤돌아본 순간의 aventure card-00037-5-uniq-0086-00
코보 카나에루 큐트 파도 사이에 흔들리는 Body & Soul card-03009-5-uniq-0088-00
하코스 벨즈 해피 이게 나의 강추! card-04012-5-uniq-0087-00

신규 카드는 모두 ★5다. 관련 패시브/액티브/스페셜 정의는 각각 4개, 각 스킬 레벨 표는 각각 8행 추가됐다. 액티브 효과 2개가 추가됐고 기존 효과 수치는 동일하다. 의상과 SD 의상은 각각 7개 추가됐으며 의상 리더 스킬도 7개 추가됐다. 카드 레벨·한계돌파·잠재력 성장 표와 스킬 발동 조건 표는 동일하다.

곡과 채보

기준 마스터 204곡 → 복호화 DB 211곡. 난이도 표는 816행 → 844행이다. 현재 계산기 정확 채보 카탈로그는 200곡·800개 난이도다. 포함된 800개 모두 곡명, 난이도 레벨, 시작 시간, 가창 유형/멤버가 DB와 같고, 저장된 점수 공식의 곡 계수도 같다.

신규 곡 ID DB 시작 시간 (KST) EASY / NORMAL / HARD / EXPERT
PARADISE! m0354 2026-09-29 11:00 4 / 10 / 19 / 26
Play Dice! m0357 2026-09-29 12:00 4 / 11 / 20 / 28
PROPOSE m0358 2026-09-29 12:00 3 / 10 / 18 / 25
BAKU LOVE CHEMISTRY m0413 2026-09-29 12:00 5 / 13 / 20 / 28
Kyapi m0548 2026-09-29 12:00 4 / 10 / 17 / 26
Wonky Monkey m0375 2026-10-01 00:00 5 / 11 / 18 / 25
KONKON Beats m0376 2026-10-05 00:00 5 / 12 / 18 / 26

10월 1일과 5일의 값은 DB에 선행 포함된 시작 시간이며, 실제 서비스 일정 확정이나 현재 플레이 가능을 뜻하지 않는다. 곡명은 확보한 Music.titleLangId → LangMusic_Kor 관계로 확인했다.

이번 신규 7곡 외에, 기준 마스터에 이미 있었지만 현재 계산기 정확 채보 카탈로그에 없는 4곡도 있다:

  • Glitch Through (m0351), DB 시작 2026-09-21 20:00 KST
  • 64. (m0352), DB 시작 2026-09-25 20:00 KST
  • Watcha Gatcha!!!!!!!! (m0525), DB 시작 2026-09-26 21:00 KST
  • Lethal Dose Paranoid (m0350), DB 시작 2026-09-23 20:00 KST

기존 4곡(m0349~m0352)에는 MV URL이 추가됐다. 기존 곡의 다른 Music 필드와 난이도 레벨은 동일하다. MusicDifficultyChart의 기존 816행에서는 이전 스키마의 chartHash, normalNoteCount가 사라졌고 다른 기존 필드는 동일하다. 이를 816개 채보 자체의 변경으로 판정하지 않았다.

실제 노트 시각·롱노트 형상·노트별 점수 가중치 등 SUS 채보 본문은 이 마스터 DB에 없으므로, 현재 채보 파일 자체의 동일성은 이번 비교에서 검증하지 않았다.

보드·메모리·업적

  • 기존 보드 노드의 계산 수치와 조건은 동일하다. 4개 보드 모델에 G-025가 각 1개씩 추가되어 모델별 153 → 154개 위치가 된다.
  • 신규 G-025는 스플래시 볼 보상량 +5‰(0.5%) 효과다. 플레이어 레벨 30 조건, 포인트 3, 공용 보드 아이템 160개 비용이 포함돼 있다.
  • 기존 Y-004, Y-018, Y-022 설명이 **“전체 악곡” → “단체 악곡”**으로 수정됐다. 효과 수치/대상 조건 자체가 바뀐 것은 아니다.
  • 포스터 34 → 35개. poster-marathon_event-normal-005-chapter-01이 추가됐다. 수집 보너스 표는 그대로이며 보유 상한에서 적용 가능한 값이 64‰ → 65‰(6.4% → 6.5%)가 된다.
  • 홀로워크 업적의 멤버 54명별 완료 횟수 임계값은 현재 계산기와 전부 일치한다.

이벤트·번역·기타 시스템

  • EventStory 30행, EventStoryChapter 11행은 기존과 동일하다. 신규 이벤트 관련 포스터 참조는 있지만, 이 DB에는 MarathonEvent 일정·보너스 표가 없어 현재 events.ts와 최신 이벤트 일정/배율의 일치를 확정할 수 없다.
  • 한국어 문자열은 확보된 123개 Lang 표에서 4,685행 추가, 9행 수정, 1행 삭제다. 보드 표현 수정 외에 소다팝 라군 게이트 이름/설명, 대사 오역 수정, 이벤트 보너스 안내 수정이 있다.
  • 도움말에는 “스킬 발동 빈도 UP” 해방 시 편성에 따라 유닛 스코어 표시값이 낮아질 수 있다는 설명이 추가됐다. 이는 설명 변경으로 확인했으며 계산 공식 변경의 증거로 취급하지 않았다.
  • 캐릭터 62명의 color5가 추가됐다. 소다팝 라군 관련 지역/시설, 파크 NPC·대사·위치·퀘스트, 낚시 도감/추첨/시간대, 스플래시 볼 보상 등 시스템 데이터가 추가됐다.
  • 새 DB 표 8개: LangParkTimeTransition_Kor, MusicStartupNotification, ParkFishingFishBook, ParkFishingFishLottery, ParkFishingTimePeriod, ParkTimeTransition, SplashBallScoreReward, SplashBallTeamRankReward.
  • 기준에는 있었던 LangChasePatrolSkill_Kor(4행), LangParkHighLow_Kor(1행)는 이번 DB 묶음에 없다. 관련 필드가 새 스키마에서 사라진 점은 확인했으나, 게임 기능 자체가 삭제되었다고 단정하지 않는다.
  • 여러 기타 시스템의 필드 제거·추가도 포함된다. 이름만으로 의미를 확정하기 어려운 변경은 아래 표 및 전체 필드 차이 JSON에 원문 값으로 보존했다.

전체 변경 집계

현재 DB 379개 중 175개는 기준과 레코드 내용이 같고, 204개는 신규 표 또는 레코드 차이가 있다. 현재 DB에 존재하는 표끼리 비교하면 45,045행 추가, 1행 삭제, 1,522행 수정이다. 별도로 기준 번역 표 2개(총 5행)가 이번 DB 묶음에 없다. 큰 변경 수에는 신규 파크 NPC·대사 등과 스키마 필드 변경이 포함되며, 계산기 수치가 그만큼 바뀌었다는 뜻은 아니다.

전체 전후 필드 값: data/inspection/android-master-2026-09-29/db-comparison.json 실제 계산기 데이터 비교: data/inspection/android-master-2026-09-29/app-comparison.json 해석된 DB JSON: data/inspection/android-master-2026-09-29/decoded-json/

표 이전 행 DB 행 추가 삭제 수정
AchievementGroup 77 79 2 0 0
AppealText 16 17 1 0 0
Area 8 9 1 0 0
AreaAppearance 22 30 8 0 0
AreaGrouping 2 3 1 0 0
AreaMap 14 22 8 0 0
AreaSelector 7 8 1 0 1
AreaStory 17 23 6 0 0
AreaStoryChapter 2 3 1 0 0
AssetEmbeddingText 62 87 25 0 0
AssetStreamingMute 72 73 1 0 0
Card 185 189 4 0 0
Character 62 62 0 0 62
CharacterLiveDialogueVoice 6336 6432 96 0 0
CharacterVoice 16582 18187 1605 0 0
ChasePatrolSkill 3 3 0 0 3
ChaseSetting 1 1 0 0 1
Cheat 60 77 17 0 10
CircuitSetting 1 1 0 0 1
Condition 2267 2768 501 0 1
Costume 193 200 7 0 0
Emblem 949 987 38 0 39
ExchangeBooth 294 304 10 0 0
ExchangeBoothFixedItem 1044 1306 262 0 0
ExchangeBoothGroup 70 76 6 0 0
Facility 65 108 43 0 0
FacilityAppearance 187 271 84 0 2
FacilityLevel 30 51 21 0 0
FeatureLock 47 53 6 0 0
Gacha 17 21 4 0 0
GachaButton 38 46 8 0 0
GachaPoint 8 10 2 0 0
HelpContent 127 131 4 0 0
InstantTips 16 22 6 0 0
Item 126 133 7 0 0
JumpRopePhaseGimmick 69 69 0 0 43
JumpRopeSetting 1 1 0 0 1
LangAchievementGroup_Kor 77 79 2 0 0
LangAppealText_Kor 32 34 2 0 0
LangArea_Kor 16 18 2 0 0
LangAreaGrouping_Kor 4 6 2 0 0
LangAreaStory_Kor 17 23 6 0 0
LangAreaStoryChapter_Kor 2 3 1 0 0
LangAssetEmbeddingText_Kor 62 87 25 0 0
LangCard_Kor 185 189 4 0 0
LangCharacterVoice_Kor 26907 28813 1906 0 0
LangClientCommon_Kor 3196 3338 143 1 0
LangCondition_Kor 82 95 13 0 0
LangCostume_Kor 193 200 7 0 0
LangEmblem_Kor 949 987 38 0 0
LangFacility_Kor 107 144 37 0 2
LangFacilityAppearance_Kor 28 41 13 0 0
LangFacilityLevel_Kor 21 36 15 0 0
LangFeatureLock_Kor 54 60 6 0 0
LangGachaPoint_Kor 8 10 2 0 0
LangGeneratedLiveActiveSkillEffect_Kor 53 55 2 0 0
LangGeneratedLiveActiveSkillLevel_Kor 373 381 8 0 0
LangGeneratedLiveLeaderSkill_Kor 185 192 7 0 0
LangGeneratedLivePassiveSkillLevel_Kor 370 378 8 0 0
LangGeneratedLiveSpecialSkillLevel_Kor 370 378 8 0 0
LangGeneratedSkillTreeEffect_Kor 121 122 1 0 2
LangGeneratedSkillTreeEffectPassiveTrigger_Kor 81 81 0 0 1
LangHelpContent_Kor 256 264 8 0 1
LangInstantTips_Kor 11 15 4 0 0
LangItem_Kor 252 266 14 0 0
LangLiveDialogueVoice_Kor 3353 3405 52 0 0
LangLiveSkin_Kor 87 89 2 0 0
LangLiveSkinGroup_Kor 56 57 1 0 0
LangLoadingDisplay_Kor 104 110 6 0 0
LangMainStory_Kor 36 51 15 0 0
LangMainStoryChapter_Kor 4 6 2 0 0
LangMiniGame_Kor 20 24 4 0 0
LangMission_Kor 1666 1794 128 0 0
LangMissionGroup_Kor 24 26 2 0 0
LangMusic_Kor 2096 2167 71 0 0
LangMusicMv_Kor 154 157 3 0 0
LangParkAccessory_Kor 163 217 54 0 0
LangParkEmotion_Kor 918 1188 270 0 0
LangParkFishingBait_Kor 0 16 16 0 0
LangParkFishingFish_Kor 0 162 162 0 0
LangParkFishingFishSpecies_Kor 0 4 4 0 0
LangParkFishingRod_Kor 0 8 8 0 0
LangParkPermanenceAction_Kor 3 9 6 0 0
LangParkQuest_Kor 272 340 68 0 0
LangParkQuestChapter_Kor 59 61 2 0 0
LangParkQuestStep_Kor 768 923 155 0 0
LangParkTalk_Kor 4432 5577 1145 0 1
LangParkTargetMapping_Kor 26 48 22 0 0
LangParkTimeTransition_Kor 0 12 12 0 0
LangPoster_Kor 34 35 1 0 0
LangResourceObtainmentRoute_Kor 42 50 8 0 0
LangResourceTypeDetail_Kor 49 50 1 0 0
LangSdCostume_Kor 301 308 7 0 0
LangSdCostumeHairAccessory_Kor 270 378 108 0 0
LangSpecialStory_Kor 2 3 1 0 0
LangSplashBall_Kor 0 4 4 0 0
LangTips_Kor 136 162 26 0 0
LangTipsDetail_Kor 281 315 34 0 2
LangWork_Kor 4 5 1 0 0
LiveActiveSkill 187 191 4 0 0
LiveActiveSkillEffect 53 55 2 0 0
LiveActiveSkillLevel 373 381 8 0 0
LiveDialogueVoice 3353 3405 52 0 0
LiveDialogueVoiceCharacter 6521 6621 100 0 0
LiveLeaderSkill 185 192 7 0 0
LivePassiveSkill 185 189 4 0 0
LivePassiveSkillLevel 370 378 8 0 0
LiveRewardUpStaminaEffect 10 10 0 0 3
LiveSkin 282 283 1 0 0
LiveSkinGroup 56 57 1 0 0
LiveSpecialCardDialogue 307 335 28 0 0
LiveSpecialCostumeDialogue 307 335 28 0 0
LiveSpecialSkill 185 189 4 0 0
LiveSpecialSkillLevel 370 378 8 0 0
LoadingDisplay 107 110 3 0 0
MainStory 36 51 15 0 0
MainStoryChapter 2 3 1 0 0
MarathonMiniGameRewardUpStaminaEffect 12 15 3 0 0
MiniGame 5 6 1 0 0
MiniGameMultiGame 8 10 2 0 0
MiniGameNpcLotteryPeriod 4 5 1 0 0
MiniGameRewardUpStaminaConversion 1 2 1 0 0
MiniGameRewardUpStaminaEffect 12 15 3 0 0
Mission 1651 1745 94 0 0
MissionGroup 27 30 3 0 0
MissionPass 3 3 0 0 1
MissionPassLevel 153 153 0 0 1
MissionProgress 11420 11625 205 0 0
MissionTypeDefaultNavigation 107 113 6 0 2
Music 204 211 7 0 4
MusicDifficulty 816 844 28 0 0
MusicDifficultyChart 816 844 28 0 816
MusicMv 288 294 6 0 0
MusicStartupNotification 0 64 64 0 0
OctoSetting 1 1 0 0 1
ParkAccessory 190 244 54 0 0
ParkCall 64 71 7 0 0
ParkCharacterShop 4 5 1 0 0
ParkEmotion 918 1188 270 0 0
ParkFishingBait 0 8 8 0 0
ParkFishingFish 0 81 81 0 0
ParkFishingFishBook 0 3 3 0 0
ParkFishingFishIcon 0 10 10 0 0
ParkFishingFishLottery 0 2925 2925 0 0
ParkFishingFishSpecies 0 4 4 0 0
ParkFishingRod 0 4 4 0 0
ParkFishingSetting 1 1 0 0 1
ParkFishingSpot 0 12 12 0 0
ParkFishingTimePeriod 0 2 2 0 0
ParkFishingTotalCaughtReward 0 18 18 0 0
ParkFixedSymbol 2 108 106 0 0
ParkGraph 315 368 53 0 0
ParkHighLow 1 1 0 0 1
ParkNotice 17 21 4 0 0
ParkNpc 13165 21317 8152 0 0
ParkNpcGroup 12728 20843 8115 0 0
ParkPermanence 115 149 34 0 0
ParkPermanenceAction 120 162 42 0 0
ParkPosition 802 1235 433 0 0
ParkPositionGrouping 197 356 159 0 0
ParkPrintBoothComposition 18 18 0 0 18
ParkQuest 244 292 48 0 244
ParkQuestChapter 59 61 2 0 0
ParkQuestCookingPuzzle 14 14 0 0 14
ParkQuestLive 130 144 14 0 0
ParkQuestLiveMusicDifficulty 520 576 56 0 0
ParkQuestSplashBall 0 2 2 0 0
ParkQuestStep 766 921 155 0 0
ParkQuestStepAction 774 929 155 0 0
ParkRandomSymbol 198 296 98 0 0
ParkTalk 4841 6056 1215 0 18
ParkTalkFree 7406 13633 6227 0 174
ParkTalkFreeGrouping 148 194 46 0 4
ParkTargetMapping 8549 15328 6779 0 0
ParkTimeTransition 0 6 6 0 0
ParkTreasure 42 70 28 0 42
PlayerLevel 50 70 20 0 0
Poster 34 35 1 0 0
ResourceObtainmentRoute 136 182 46 0 0
ResourceTypeDetail 25 26 1 0 0
SdCostume 301 308 7 0 0
SdCostumeHairAccessory 270 378 108 0 0
Setting 1 1 0 0 1
ShopChargeItemProduct 141 153 12 0 0
SkillTreeEffect 121 122 1 0 0
SkillTreeNode 324 325 1 0 0
SkillTreeNodePosition 612 616 4 0 0
SpecialStory 2 3 1 0 1
SplashBall 0 2 2 0 0
SplashBallBall 0 8 8 0 0
SplashBallPlayerPosition 0 18 18 0 0
SplashBallScoreReward 0 10 10 0 0
SplashBallSetting 1 1 0 0 1
SplashBallTeamRankReward 0 3 3 0 0
Story 153 175 22 0 0
SystemSound 301 363 62 0 0
SystemVoice 6156 6966 810 0 0
Tips 140 166 26 0 0
TipsDetail 288 329 41 0 2
Tutorial 58 67 9 0 0
Work 2040 2295 255 0 0
WorkDisplay 2 3 1 0 0
WorkEvaluationRank 200 250 50 0 0
WorkSlot 4 5 1 0 0
LangChasePatrolSkill_Kor (DB 묶음에 없음) 4 — — — —
LangParkHighLow_Kor (DB 묶음에 없음) 1 — — — —