낚시일기 물때 수정 — 시간보다 먼저 관측소와 응답 구조를 확인했습니다
9월 15일 물때 조회에서 관측소 코드와 응답 경로를 수정했습니다. 지점 좌표로 관측소를 고르는 방식, 동명 지역 처리, 대체 데이터와 실제 응답을 구분해야 하는 이유를 정리합니다.
만들다 막힌 자리와 고친 과정입니다. 무엇을 만들었다는 자랑보다, 무엇이 조용히 망가져 있었는지를 적습니다.
전체 73편 · 3 / 7페이지
9월 15일 물때 조회에서 관측소 코드와 응답 경로를 수정했습니다. 지점 좌표로 관측소를 고르는 방식, 동명 지역 처리, 대체 데이터와 실제 응답을 구분해야 하는 이유를 정리합니다.
새 소트 퍼즐의 세 모드와 공유·순위표 구조를 정리합니다. 클립보드 실패 시 링크 표시, 모드·레벨별 기록 구분, 공유 점수와 서버 기록의 차이를 설명합니다.
발소리는 진작 좌우로 갈라 뒀는데 정작 총소리는 늘 가운데서 났습니다. 어디서 쏘는지 귀로 모르면 화면을 한 바퀴 돌려 찾아야 하고, 교전 거리에서 그 시간이면 이미 죽습니다. 스테레오만으로는 앞뒤를 못 가른다는 것, 그리고 좌우 부호가 뒤집혀도 앞뒤가 멀쩡해서 눈치채기 어렵다는 것 — 다른 프로젝트가 실제로 그 버그를 달고 출시됐습니다.
검증용 창은 화면 밖에 두는 것이 규칙인데, 브라우저는 보이지 않는 창의 애니메이션 프레임을 멈춥니다. 게임 로직이 그 안에 있으면 헤드리스 검증이 아예 불가능하고, 기능이 죽어 있어도 "크래시가 없으니 괜찮다"로 넘어갑니다. 같은 실수를 한 프로젝트에서 세 번 했고, 그중 하나는 배가 제한 반경을 두 배 가까이 뚫고 나간 것이었습니다.
방치형 RPG 배포본에 크래시가 하나 들어갔습니다. 재질을 한 목록에 담아 두고 전부에게 같은 일을 시켰는데, 그중 하나만 종류가 달랐습니다. 같은 날 반대 종류도 만났습니다 — 오류를 전혀 내지 않고 화면만 비우는 실패입니다. 둘 중 오래 사는 쪽은 뒤엣것이었습니다.
앞선 두 게임은 그림 파일을 하나도 쓰지 않았습니다. JRPG에서는 그 원칙을 접었습니다 — 이 장르는 캐릭터가 얼굴이기 때문입니다. 다만 손으로 빚는 대신 Blender를 스크립트로 돌려 사람을 지었고, 거기서 크기 헬퍼 하나 때문에 네 판을 날린 이야기와 "정면만 보면 안 되는" 이유를 적었습니다.
진돗개 러너에 스테이지 넷을 붙였습니다. 헤드리스 회귀 검사 49개가 실패 0으로 통과했고, 자동 주행이 다섯 액트를 모두 완주했습니다. 그런데 브라우저로 열어 보니 액트 3·4·5는 코스 전체가 바다 평면 아래에 있었고, 절벽은 높이가 음수라 뒤집혀 있었습니다. 검사는 "완주했는가"를 봤지 "무엇이 보이는가"를 보지 않았기 때문입니다. 통과한 검사를 믿으면 안 되는 자리가 어디인지 적었습니다.
업비트 원화마켓 213종을 뉴스·시세·시장구조로 점수화하는 도구를 만들어 /coin/ 에 올렸습니다. 어려웠던 건 점수 공식이 아니라, 코인 이름이 일반명사와 겹치는 것과 김치 프리미엄이 거짓말을 하는 것이었습니다.
코인 레이더의 김치 프리미엄이 이틀 동안 0종이었습니다. 바이낸스가 자동 실행 서버의 IP를 451로 막고 있었습니다. 전날 같은 신호를 보고도 "수집기는 회사망에서 도니 괜찮다"고 판단한 것이 틀렸습니다.
NTs Tower Protocol의 층은 데이터로 만들어집니다. 처음엔 방 하나에 소품만 지우며 120층을 돌렸는데, 실제로 플레이해 보니 매 층이 같은 방이었습니다. 구역마다 방을 따로 짜고, 층 번호로 씨앗을 고정해 흔들되 길은 절대 막지 않게 했습니다.
읽을 수 없는 저장 파일을 기본값으로 갈아 끼우면 되살릴 수 있었던 진행도까지 사라집니다. 그래서 거절하고, 왜 못 읽었는지 화면에 그대로 보여 줍니다. 체크포인트는 저장 파일에서 읽지 않고 규칙으로 계산합니다.