본문 바로가기

블로그 / 회고

한 달 동안 게임 네 개: 1인 스튜디오 회고

8월 28일부터 9월 27일까지 혼자서 게임 네 개를 굴린 한 달을 저장소 네 개의 커밋 기록으로 돌아본다. 커밋 2,061개, 잘된 것과 무리했던 것.

Salmonholic ·· 5분 읽기

Salmonholic 포스터, AvoidNow 플레이 화면, 랜선포차 캐릭터 여섯 명, PallMark 타이틀 화면을 2x2로 모은 이미지

이 사이트를 새로 만들면서 게임 네 개의 저장소를 처음으로 나란히 놓고 봤다. 한 달 동안 뭘 했는지 기억으로 쓰면 미화가 섞일 것 같아서, 이번 회고는 git log에서 나온 숫자만 가지고 쓰기로 했다.

숫자로 본 한 달

기준은 2026년 9월 27일 낮이다(그 뒤에도 커밋은 계속 늘고 있다). 저장소마다 첫 커밋 날짜와 커밋 수를 세어 보면 이렇다. Salmonholic은 스튜디오 공용 저장소 안에 있어서 게임 폴더에 해당하는 커밋만 셌다.

게임 첫 커밋 커밋 수 커밋이 있는 날 상태
PallMark 8월 28일 1,905 31일 개발 중
Salmonholic 9월 23일 54 5일 서비스 중
AvoidNow 9월 25일 36 3일 서비스 중
랜선포차 9월 26일 66 2일 서비스 중

합치면 2,061개다. 그런데 이 표는 한 달을 고르게 보여 주지 않는다. 한 달 중 앞의 3주 반은 PallMark 하나였고, 웹 게임 세 개는 마지막 닷새에 몰려 있다.

마지막 5일 동안 저장소별 하루 커밋 수 막대그래프 9월 23일부터 27일까지 네 저장소의 하루 커밋 수. 9월 26일에는 네 저장소 모두에 커밋이 있다.

9월 26일 하루에만 Salmonholic 16개, AvoidNow 26개, 랜선포차 22개, PallMark 53개, 합쳐서 117개의 커밋이 있었다. 지금 보면 이날이 이 한 달의 정점이자 가장 무리한 날이었다.

PallMark: 한 저장소에 1,905번

PallMark는 Godot로 만들던 탑다운 액션 RPG를 Unity 6로 옮기는 작업이다. 8월 28일 첫날 커밋 메시지들을 보면 속도가 어땠는지 보인다. 원본과 결과가 같은지 확인하는 적합성 벡터가 154개 있는데, 첫 시뮬레이션 포팅 커밋(1e3f6b2)은 “전체 벡터 0/154”로 시작했다. 같은 날 이어진 커밋들에서 이 숫자는 15, 66, 82를 거쳐 134/154까지 올라갔다.

31일 동안 하루도 빠짐없이 커밋이 있었고, 가장 많은 날은 9월 9일의 137개였다. 하루 평균으로 치면 60개가 넘는다. 이 숫자는 자랑이라기보다 작업 단위를 아주 잘게 쪼갰다는 뜻이다. 명세 하나, 수정 하나, 검증 하나가 각각 커밋이 됐다.

방향이 크게 바뀐 날도 기록에 남아 있다. 8월 30일 커밋(900e423)에 “결정 16(탑뷰 확정)“이 적혀 있다. 원래 어깨 뒤 3인칭으로 가려던 시점을 사흘 만에 탑뷰로 바꿨다. 3인칭 코드는 2차 출시용으로 지우지 않고 남겨 두었다.

웹 게임 세 개: 닷새 동안 생긴 일

Salmonholic은 9월 23일에 처음 커밋됐는데, 그 첫 커밋이 이미 0.10.0이었다. 그 전의 프로토타입 작업은 커밋으로 남아 있지 않다. 닷새 뒤인 27일에는 0.21.0이 됐고, 그사이 버전 번호가 붙은 커밋이 36개 쌓였다. 중간에 게임 포털 CrazyGames에서 반려를 받았고, 9월 24일 0.12.0 커밋(e233905)의 제목은 “CrazyGames 반려 후 첫 90초 품질 개선”이었다.

AvoidNow는 9월 25일에 빈 저장소를 만들고, 실제 작업은 26일 하루에 몰았다. 그날 커밋 순서가 그대로 하루의 흐름이다. 싱글 플레이 MVP(84bccd6) → 카툰 아트 → 멀티플레이 서버 → 운영 배포(cda1fc7) → 첫 로딩 18.5MB를 7MB로 줄이기(a419130). 하루 만에 배포까지 간 대신, 27일에는 “보이는 곳, 보이는 때에만 맞게”(76a3a92) 같은 판정 문제를 고치는 데 시간을 썼다. 36개 중 5개는 의존성 자동 업데이트 봇의 커밋이라 사람이 한 작업은 31개다.

랜선포차는 이틀 동안 66개다. 26일 첫 작업 커밋(e5ee069)에 서버 코어, 미니게임 5종, 매칭, 채팅, 게스트 계정이 한꺼번에 들어갔고, 같은 날 캐릭터 56종(dcbc6cc)과 운영 배포(8dc77e5)까지 이어졌다. 27일에는 43개로 하루 커밋 수가 더 많았다. 미니게임 규칙을 하나씩 정하고(커밋 제목에 “(결정)“이 붙은 것들) 품질을 고치는 커밋이 이어졌다.

잘된 것

  • 결정을 기록으로 남긴 것. 네 저장소 모두 “왜 이렇게 했는지”가 커밋 메시지나 결정 문서에 있다. PallMark는 커밋 제목에만 “사용자 결정”이 59번 나온다. 한 달 뒤에 이 글을 쓸 수 있는 것도 그 덕분이다.
  • 배포를 미루지 않은 것. 웹 게임 세 개 모두 첫 작업 후 이틀 안에 실제 주소로 배포했다. 배포하고 나서야 보인 문제(모바일 조작, 로딩 크기, 서버 수용량)가 많았다.
  • 공통 구조를 재사용한 것. 한국은 서울 서버, 해외는 Cloudflare 서버로 나누는 구성을 Salmonholic에서 먼저 만들었고, 사흘 뒤 AvoidNow도 같은 구성으로 배포했다.

무리했던 것

  • 한 번에 너무 많은 게임. 9월 26일처럼 네 저장소를 하루에 오가면 어느 게임도 충분히 플레이해 보지 못한다. AvoidNow의 결정 문서에는 조작감과 판정 크기가 “플레이해 보고 정할 것”으로 아직 남아 있다.
  • 첫 버전의 빈틈. 빨리 낸 만큼 첫날의 판정과 첫인상이 거칠었다. CrazyGames 반려와 AvoidNow의 판정 수정은 둘 다 “먼저 내고 나중에 고친” 비용이다.
  • 숫자가 과정을 가린다. 커밋 1,905개가 1,905번의 진전은 아니다. 되돌린 커밋, 명세만 쓴 커밋도 섞여 있다.

다음 한 달

다음 한 달은 새 게임을 늘리지 않는다. 서비스 중인 웹 게임 세 개를 직접 더 많이 플레이하면서 남은 결정을 끝내고, PallMark는 Steam 출시 준비를 이어 간다. 이 사이트의 개발일지도 그 과정에 맞춰 올릴 생각이다. 네 게임을 어떤 방식으로 동시에 만들었는지는 AI 도구와 함께 혼자 게임을 만드는 방식에 따로 정리했다.

각 게임의 규칙과 만든 이야기는 게임 페이지에 있다. Salmonholic, AvoidNow, 랜선포차, 그리고 개발 중인 PallMark.

#회고#1인개발#인디게임#개발일지#커밋기록

함께 읽으면 좋은 글

전체 글 →