애드소프트 기술블로그

개발·서버 운영 실무 기록

애드소프트 박재호입니다. IIS·ASP.NET 웹 서비스와 메일서버를 직접 운영하고, Unity 게임과 데스크톱 앱을 만들며 겪은 문제와 해결 과정을 기록합니다.

최신 글

재미를 묻고 나서 플랫폼을 늘렸다 — 「호구마트」 웹 빌드, 그리고 멈춘 자리

「무슨 재미가 있는 건지 모르겠다」고 말한 바로 다음, 나는 「웹에서도 플레이 가능하도록 할 수 있어?」라고 물었다. □□□로 깨지는 한글, 가로로 누운 캔버스, 탭을 닫으면 사라지는 세이브를 고쳐 브라우저로 직접 해 본 날, 「호구마트」는 거기서 멈췄다. 연재의 마지막 편.

자리 비운 사이 번 돈 — 멈춘 게임에서 시작해 8시간을 공식 한 번으로 정산하기까지

다른 창을 클릭했더니 내 가게가 멈췄다. 손님도, 매출도, 시간도. 직접 플레이하다 찾은 이 버그는 "온라인도 오프라인도 아닌 죽은 시간"이었다. 방치형의 심장인 '자리 비운 사이 번 돈'을 공식 한 번으로 정산하는 코드, AI 가 짠 그 코드를 믿을 수 있게 해 준 규칙 한 줄과 테스트 이름, 그리고 '원자적'이라는 주석 뒤에 숨은 틈을 따라간다.

내가 한 말은 "에디터 닫았어"뿐이었다 — 컴파일러가 지킨 호구마트 시뮬레이션

구조에 대해 한 마디도 하지 않았는데, 「호구마트」의 코드 구조는 처음 모습 그대로 끝까지 버텼다. 규칙 파일의 한 줄이 컴파일러에게 넘어갔기 때문이다. Unity 없이 도는 시뮬레이션, 3600초를 한 번에 돌려도 같은 결과, 가상 30일을 1초에 끝내는 테스트, 그리고 그 초록불이 끝내 말해 주지 않은 것.

「상점은 미리 만들 수 있지 않나?」 — 답하지 않은 질문과 「호구마트」 인앱 상점

지나가듯 던진 한 마디에 광고와 인앱 상점이 생겼다. Claude Code 는 수익화는 재미를 확인한 뒤에도 늦지 않다며 멈추자고 했고, 나는 거기에 답하지 않았다. 그래도 코드는 단단했다. 규칙 한 줄이 지킨 구조, 미뤄 둔 골드를 잃지 않는 법, 그리고 세 경로 중 두 곳에서 빠진 1.25배.

바가지가 용사를 죽인다는 문장은 코드 어디에도 없었다 — 「호구마트」의 세계관 찾기

기획 문서에서 가장 좋아한 문장은 "싸구려 장비를 비싸게 팔면 용사가 죽는다"였다. 그 문장을 코드에서 찾아 나섰다가 손님 네 종류가 평균 한 명으로 녹아 있는 시뮬레이션, 가격표를 보지 않는 손님, 가격이 빠진 사망 확률 식을 만났다. 그리고 범인은 AI 가 아니었다.