배틀이 되자 버젼 하나가 완성됐다 | 디지몬 육성기 개발일지 9화

SMCo STUDIODEVLOG
DAY 25 · 2026.09.09

디지몬 육성기 개발일지 · 9화

배틀이 되자 버젼 하나가 완성됐다

한눈에 보기




무엇을 — 두 기기를 맞붙이는 통신배틀, 진화할 때 쌓이는 계정 화폐 디지코어, 그걸로 쉘을 사는 상점을 넣었다.
왜 — 통신배틀은 처음부터 맨 마지막에 넣기로 한 기능이었다.
결과 — 그날 밤 0.2를 배포했다. 아침에는 여전히 두 기기 사이의 버그로 시작했다.

9월 9일 오전 10시 48분, 첫 메시지는 이랬다.

"근데 왜 디지타마가 Idle 애니메이션이 재생 안 되지?"

11분 뒤에 원인이 좁혀졌다.

"지금 게임 최초 실행 후 바로 EXPAND로 확장했더니, 초기 X로고가 안 나와. 게임 실행이 안돼. (…) 시간선택 완료하니까 알이 애니메이션이 없어. 알이 부화도 안 하는거 같은데?"

01이번 하루의 할 일 — 왜 하루로 한 화인가

이 화는 하루뿐이다. 그날 한 일이 많았다. 오전엔 두 기기를 위아래로 쌓는 EXPAND의 버그, 오후엔 디지코어와 상점, 저녁엔 통신배틀, 밤엔 배포 전 점검과 0.2 배포.

디지코어는 오후 1시에 이렇게 정해졌다.

"이제 어떤 버젼에서든, 진화하면 디지코어를 받아. 진화 단계별로 받아. BABY1 -> 1 / BABY2-> 1 / CHILD -> 2 / ADULT -> 3 / PERFECT -> 5 / ULTIMATE -> 10 / SUPER ULTIMATE -> 15 (…) 계정귀속으로 저장되는 데이터야."

그 디지코어로 상점에서 새 쉘을 산다. 처음엔 쉘 하나를 골라 시작하고, 나머지는 사야 쓸 수 있다. 쉘이 하나뿐이면 두 대를 쌓는 EXPAND도 잠긴다. 쉘 값은 처음 50이었다가 그날 밤 11시 26분에 100으로 올렸다.

흰 액정 게임기에 시스터몬 시엘이 서 있고, 오른쪽 위에 디지코어 칩 아이콘과 +3이 들어와 있다
진화하면 창 오른쪽 위로 디지코어가 들어온다(+3). 칩 아래 노란 띠의 숫자가 지금까지 모은 양이다. 인게임 캡처(드라코몬X가 시스터몬 시엘로 진화한 순간).

02잘 안된 것 — 두 기기는 아직도 엉켰나

아침의 버그는 원인이 하나였다. 게임을 처음 켜면 메인메뉴에서 쉘을 골라야 게임이 시작되는데, 쉘을 고르지 않고 EXPAND를 누르면 메뉴만 닫히고 "시작" 신호가 안 나갔다. 게임은 멈춘 채로 쉘만 떠 있었다. 오후 2시 18분에 같은 모양이 또 나왔다.

"지금 실행중인데, 또 알 애니메이션이 재생 안 된다? 디버그도 안 먹는거보니까 게임이 멈춘거같은데?"

이번엔 EXPAND가 아니라 Esc로 메뉴를 빠져나간 길이었다. 초반에 비해 이런 버그를 대하는 느낌이 달라졌는지 물었다.

"아직도 버젼 분할에 대한 개념이 확정되지 않아서 그런건지 모르겠는데, XA와 XB를 왔다갔다하면서 문제가 많았음. 초반과 달라진것도 별로 없었다."

그림에서도 하나 있었다. 상점과 디지코어 아이콘은 처음에 AI 도트 생성 도구(PixelLab)로 후보를 뽑았는데, 결국 직접 그렸다. 이유를 물었다. "픽셀랩에서 뽑은 후보들은 너무 디자인이 별로였음. 무료로 쓰는 에셋은 한계가 있구나 싶었음." 그렇게 그린 칩 아이콘에 보유량 숫자를 얹으라고 했는데, 숫자 자리를 잘못 읽었다.

"디지코어는 칩 하단부의 노란색 영역에 들어가는거야... 일부러 디지코어라고 알려주려고 Di라고 적었었는데, 그걸 검은색 네모로 덮어버렸네?"

그때 기분을 물었더니 한 줄이었다. "그냥 그러려니 했음. 한두번 있던 일도 아니니까."

03잘된 것 — 통신배틀은 어떻게 붙었나

저녁 7시 2분, 실물기 배틀 영상을 넣으면서 규칙이 왔다.

"두개의 기기가 "배틀연결화면"일때, 아무 쉘에서나 B 버튼을 누르면 두 기기가 연결되며 배틀이 시작된다. 배틀이 시작되면 각 쉘의 디지몬이 화면 중앙에서 등장 애니메이션 (10번스프라이트와 3번스프라이트 각 0.5초씩 3번 반복) 이후 OK 화면이 나오고, 두 디지몬이 배틀을 시작함."
위아래로 쌓인 흰 기기와 검은 기기의 액정에 빨간 BATTLE 글자가 떠 있다
연결 화면. 두 기기가 모두 이 화면일 때 어느 쪽이든 B를 누르면 이어진다. 인게임 캡처.

8시 24분에 "응 배틀 확인 했어."가 왔다. 8화 첫날 "게임기 두 대를 들고 통신배틀"을 하고 싶다고 한 지 엿새째다. 그 순간을 물었다.

"기획단계에서부터 가장 마지막에 들어갈 부분이었다보니, 배틀이 되었을때 필요한건 모두 다 들어갔구나, 버젼이 하나 완성 됐구나 하는 느낌이었음."
위 기기의 시스터몬 시엘과 아래 기기의 레오몬X가 서로에게 공격을 주고받는다
배틀 중. 각 기기가 자기 쪽에서 본 같은 배틀을 그린다. 위는 시스터몬 시엘, 아래는 레오몬X. 인게임 캡처.

그날 밤 10시 45분에 0.2를 내보냈다. 기분은 0.1 때와 같았다고 했다. "0.2도 새로운 기능을 많이 추가했으니, 빨리 배포하고싶었지. 역시 들떴던 것 같아." 그러면서 버전 번호를 게임 안에 넣었다. SETTING 창 오른쪽 아래에 V0.2가 찍힌다.

"배포버젼을 빌드하고 나서 계속해서 수정하고 또 빌드하고 하다보니 파일이 많아지고, 나도 헷갈리더라고. 그래서 버젼 자체를 게임 안에 박아넣어야 사용자도 확인하기 편하고, 나도 나중에 수정할때 편할 것 같았어"
SHOP 창에 DIGITAL MONSTER XA 100, DIGITAL MONSTER XB OWNED 두 줄이 있다
상점. 가진 쉘은 OWNED, 없는 쉘은 값(100)이 뜬다. 0.2 빌드 캡처.

04실물기 비교 테스트 — 숫자는 누가 맞았나

통신배틀 스펙에는 "배틀 연결화면은 15초간 재생되며"라고 적혀 있었다. 그런데 같이 받은 실물기 영상에서는 연결 화면이 두 번 다 약 30초 떠 있었다. 확인 끝에 답은 "연결대기 30초는 확인했어. 30초로 해줘."였다.

숨겨진 에어리어 31이 열리는 조건도 이날 고쳐졌다. 통신배틀에서 이기면 바로 열리게 해 두었는데, 아니었다.

"이기면 에어리어SP가 바로 열리는게 아니야. 통신배틀에서 승리하고, 에어리어 30까지 해금해야 31이 열리는거야."

반대로 게임이 맞았던 일도 있었다. 낮 12시 45분 "XB 버젼에서 그라우몬이 레벨이 1인데도 메가로그라우몬으로 진화했어. 왜지?"라고 물었다가, 7분 뒤 "그라우몬이 아니고 라이노몬이었어. 그럼 맞아."로 정정했다. 이런 일이 자주 있는지 물었다.

"응. 진화 조건이 워낙 많고 기본진화에대한 개념이 애매하다보니 헷갈렸던건데, 종종 이런일들이 있지. 앞으로도 있을 것 같아"

배포 전에는 점검을 맡겼다. 겹쳐 그려지는 화면이 없는지, 메인메뉴에서 쉘을 바꿀 때 이상한 게 없는지, 진화 트리대로 가는지, 스프라이트가 깨지지 않았는지 — 여섯 가지를 "너가 직접 보면서 확인해"라고. 그 점검에서 두 가지 버그와 컷인 세 장(제스몬X·다메몬·듀크몬X)의 떠 있는 점 하나씩이 나왔다. 끝나고 나서 이런 질문이 왔다.

"지금 qa 돌린건 이만한 토큰을 지불할 가치가 있었던 작업이야?"

그 질문의 마음은 "일을 더 효율적으로 하고 싶었음"이었다. 지금 돌아보면 값을 했느냐고 물었다.

"나는 모르지. 하지만 AI에게 믿고 일을 맡기기 위해서는 끊임없이 AI에게 작업의 완결성에 대한 의심을 품고 있다는걸 AI가 인식하게 해야 한다고 생각했어. 점검 자체는 그 값을 못했더라도, AI를 사용하는 방식에 있어서는 어느정도 값을 했다고 생각해."

05아직 모르는 것 — PC와 폰을 오가며 키울 수 있나

오후 5시 47분, 이런 이야기를 꺼냈다. PC에서 키우던 디지몬을 폰으로 보내 이어서 키우고, 다시 PC로 가져오는 것. "집에서, 회사에서는 PC로 하고, 이동중엔 모바일로 하고 이런 식이 될 것 같아." 30분쯤 뒤에는 "일단 나중에. 지금 이 문서 정리해서 저장해둬."로 미뤘다. 지금은 어떤지 물었다.

"지금도 원하는데, 사실상 서버를 연동하지 않으면 불가능한 기능일 것 같아서 걱정이 많아."

이 기능은 지금도 설계 메모로만 남아 있다.

i정보 코너

여기부터는 기술 정보만 모아뒀습니다.

ENGINEGodot 4.7 (Mobile 렌더링)
디지코어진화해서 도달한 단계마다 지급: 유아기1·2 각 1, 성장기 2, 성숙기 3, 완전체 5, 궁극체 10, 초궁극체 15. 계정 하나에 하나(기기별이 아님). 최대 999
상점디지코어로 쉘을 산다. 쉘 하나 100. 처음엔 고른 쉘 하나만 가진다
통신배틀두 기기를 쌓은(EXPAND) 상태에서 둘 다 연결 화면이면 어느 쪽이든 B로 연결. 등장(10·3번 그림 0.5초씩 3번) → OK → 배틀. 연결 대기 30초(실물기 영상 기준). 지면 20% 확률로 부상, 전적에 기록
에어리어 31통신배틀 승리 + 에어리어 30까지 해금, 둘 다 있어야 열린다
0.22026-09-09 배포. 게임 안 SETTING 창에 V0.2 표시
아직 없음PC↔폰 이어하기(서버가 필요할 것으로 보고 설계 메모만)

자주 묻는 것

Q. 코딩을 몰라도 게임을 만들 수 있나? 이 개발일지가 그 기록이다. 만드는 사람은 코드를 읽거나 고치지 않고, AI(Claude Code)에게 말로 시키고 화면으로 확인한다.

Q. 기기 두 대는 어떻게 싸우나? 한 창에 두 기기를 위아래로 쌓고, 두 기기가 모두 연결 화면일 때 B를 누르면 이어진다. 각 기기가 자기 미니게임 결과로 싸운다.

Q. 디지코어는 어디에 쓰나? 지금은 상점에서 새 쉘을 사는 데 쓴다.

#디지몬#Godot#ClaudeCode#인디게임개발#개발일지

← 이전 화: 8화 · 게임기 두 대를 들고 통신배틀 하고 싶었다

다음 화 → 10화 · 끌 때마다 디지몬이 죽을 때까지 방치된다고 가정했다

SMCo STUDIO — 코딩 모르는 사람이 AI랑 게임엔진만으로 게임을 만드는 기록 DAY 25 / ???
이 화만 요약해서 인스타그램에도 올려뒀습니다. 점검 뒤에 나온 질문과 그 답은 여기 블로그에만 있어요.
인스타그램에서 보기 →
SMCo STUDIODEVLOG
DAY 25 · 2026.09.09

Digimon Raising Sim Devlog · Episode 9

Once Battles Worked, One Version Was Finished

At a glance
What — a connect battle that pits two devices against each other, an account currency called DigiCore that builds up on every evolution, and a shop to spend it on shells.
Why — the connect battle had been planned from the start as the very last feature.
Result — 0.2 shipped that night. The morning still started with a bug between the two devices.

At 10:48 AM on September 9th, the first message was this.

"But why isn't the Digitama's idle animation playing?"

Eleven minutes later the cause was narrowed down.

"I launched the game for the first time and hit EXPAND right away, and the opening X logo doesn't show. The game won't run. (…) After I finished setting the time, the egg has no animation. I don't think it's hatching either?"

01The day's to-do list — why one day is one episode

This episode is a single day. A lot happened in it. In the morning, bugs in EXPAND (stacking two devices vertically); in the afternoon, DigiCore and the shop; in the evening, the connect battle; at night, a pre-release check and the 0.2 release.

DigiCore was settled at 1 PM like this.

"From now on, on any version, you get DigiCore when you evolve. You get it by evolution stage. BABY1 -> 1 / BABY2 -> 1 / CHILD -> 2 / ADULT -> 3 / PERFECT -> 5 / ULTIMATE -> 10 / SUPER ULTIMATE -> 15 (…) It's data stored at the account level."

That DigiCore buys new shells in the shop. You start by picking one shell, and the rest have to be bought. With only one shell, EXPAND (stacking two devices) is locked too. The shell price started at 50 and was raised to 100 at 11:26 that night.

A DigiCore chip icon with +3 sliding in at the top right of a white LCD device
On evolution, DigiCore slides in at the window's top right (+3). The number on the yellow strip under the chip is the running total. In-game capture (the moment Dracomon X evolves into Sistermon Ciel).

02What didn't work — are the two devices still tangled?

The morning bug had one cause. On first launch you have to pick a shell in the main menu for the game to start, but pressing EXPAND without picking one closed the menu without sending the "start" signal. The shell sat there with the game frozen. At 2:18 PM the same shape turned up again.

"It's running right now, and the egg animation isn't playing again? Debug doesn't respond either, so I think the game has stopped?"

This time the path out of the menu was Esc rather than EXPAND. I asked whether bugs like this feel different now compared with the early days.

"I don't know if it's because the concept of splitting versions still isn't settled, but going back and forth between XA and XB caused a lot of problems. Not much had changed from the early days."

There was one in the art too. The shop and DigiCore icons were first generated as candidates with an AI pixel tool (PixelLab), but in the end they were drawn by hand. I asked why. "The candidates from PixelLab had really bad designs. I figured free assets have their limits." The chip icon drawn that way was supposed to carry the balance number, and the number's spot was misread.

"The DigiCore number goes in the yellow area at the bottom of the chip... I wrote 'Di' on purpose to show it's DigiCore, and you covered it with a black box?"

Asked how that felt, the answer was one line: "I just shrugged it off. It's not like it happened once or twice."

03What went well — how did the connect battle come together?

At 7:02 PM, along with a real-device battle video, the rules arrived.

"When both devices are on the 'battle link screen', pressing B on either shell links the two devices and the battle starts. When the battle starts, each shell's Digimon plays an entrance animation in the middle of the screen (sprite 10 and sprite 3, 0.5 seconds each, repeated 3 times), then the OK screen shows, and the two Digimon start battling."
A white and a black device stacked vertically, each LCD showing red BATTLE text
The link screen. When both devices are on it, B on either one connects them. In-game capture.

At 8:24 PM: "Yeah, I checked the battle." Six days after episode 8's first day, when the wish was to "hold two devices and connect-battle them." I asked about that moment.

"Since it was planned from the start as the very last part to go in, when battles worked it felt like everything needed was in, like one version was finished."
On the upper and lower LCDs, each Digimon trades attacks with the other
Mid-battle. Each device draws the same battle from its own side. Sistermon Ciel on top, Leomon X below. In-game capture.

0.2 went out at 10:45 that night. The feeling was the same as with 0.1: "0.2 added a lot of new features too, so I wanted to release it fast. I think I was excited again." Along with it, the version number went into the game — V0.2 is printed at the bottom right of the SETTING window.

"After building the release, I kept fixing and building again, and the files piled up and even I got confused. So I thought putting the version right inside the game would make it easy for users to check, and easy for me when fixing things later."
A SHOP window with two rows: DIGITAL MONSTER XA 100 and DIGITAL MONSTER XB OWNED
The shop. Shells you own show OWNED; ones you don't show their price (100). Captured in the 0.2 build.

04Comparing against the real device — whose numbers were right?

The connect battle spec said "the battle link screen plays for 15 seconds." But in the real-device video that came with it, the link screen stayed up about 30 seconds, both times. After checking, the answer was: "I've confirmed the 30-second link wait. Make it 30 seconds."

The condition for opening the hidden area 31 was also corrected that day. It had been set to open right after winning a connect battle, and that was wrong.

"Winning doesn't open area SP right away. You have to win a connect battle and also have area 30 unlocked for 31 to open."

There was also a time the game was right. At 12:45 PM came "On the XB version my Growlmon evolved into MegaloGrowlmon even though it's level 1. Why?" — and seven minutes later, "It wasn't Growlmon, it was Rhinomon. Then that's right." I asked whether this happens often.

"Yeah. There are so many evolution conditions and the idea of a default evolution is fuzzy, so I got confused. Things like this happen now and then. I think they'll keep happening."

Before the release, a check was handed over — whether any screens draw on top of each other, whether anything is off when switching shells in the main menu, whether evolutions follow the tree, whether any sprites are broken — six items, with "check it yourself by looking at it." That check turned up two bugs and a stray dot on each of three cut-ins (Jesmon X, Damemon, Dukemon X). Afterwards this question came.

"Was the QA you just ran worth paying this many tokens for?"

The thinking behind the question was "I wanted to work more efficiently." Looking back now, I asked, was it worth it?

"I don't know. But I think that to trust AI with work, you have to keep making the AI aware that you're constantly doubting whether its work is complete. Even if the check itself wasn't worth the cost, I think it was worth something in terms of how to use AI."

05Still unknown — can you raise it across PC and phone?

At 5:47 PM this came up: sending a Digimon raised on PC to the phone to keep raising it there, and bringing it back to PC. "I'd play on PC at home and at work, and on mobile while moving around, something like that." About half an hour later it was put off with "Later. For now, tidy up this document and save it." I asked where that stands now.

"I still want it, but I'm worried because it seems basically impossible without hooking up a server."

For now, this feature exists only as a design memo.

iInfo corner

Technical notes only from here on.

ENGINEGodot 4.7 (Mobile renderer)
DigiCoreGranted by the stage an evolution reaches: Baby I and II 1 each, Child 2, Adult 3, Perfect 5, Ultimate 10, Super Ultimate 15. One per account (not per device). Max 999
ShopBuy shells with DigiCore. 100 per shell. You start owning only the one you picked
Connect battleWith two devices stacked (EXPAND) and both on the link screen, B on either connects them. Entrance (sprites 10 and 3, 0.5 s each, 3 times) → OK → battle. 30-second link wait (per the real-device video). A loss has a 20% chance of injury and goes on the record
Area 31Needs both a connect-battle win and area 30 unlocked
0.2Released 2026-09-09. V0.2 shown in the in-game SETTING window
Not yet builtContinuing between PC and phone (thought to need a server; design memo only)

FAQ

Q. Can you make a game without knowing how to code? This devlog is the record of trying. The maker doesn't read or edit code; they tell an AI (Claude Code) what to do in words and check the result on screen.

Q. How do two devices fight? Stack two devices vertically in one window; when both are on the link screen, press B to connect. Each device fights with its own minigame result.

Q. What is DigiCore for? Right now, buying new shells in the shop.

#Digimon#Godot#ClaudeCode#indiedev#devlog
SMCo STUDIO — a record of someone who can't code building a game with nothing but AI and a game engine DAY 25 / ???

댓글

이 블로그의 인기 게시물

DXRP v0.2 — 두 기기를 한 화면에, 서로 싸우게

DXRP v0.1 안드로이드 APK 공개

DXRP v0.1 — 액정 육성 게임, PC에서 무료로