무언가를 구축 vs. 새 기능 추가 및 유지보수
Source: Dev.to
Background
지난 글에서 저는 AI에게 게임 개발(특히 시나리오와 스토리 라인 제작)을 가속화하는 유틸리티를 만들도록 요청한 경험을 공유했습니다. 코드를 작성해 본 사람이라면 새로운 것을 만드는 것이 장기간에 걸쳐 기능을 추가하고 유지보수하는 것보다 상대적으로 쉽다는 것을 알 수 있습니다.
The Question
저는 ChatGPT(프롬프트를 만들어 Antigravity에 넣는 과정을 도와준 AI, Gemini도 사용할 수 있음)에게 다음과 같이 물었습니다:
이런 식으로 계속 작업(즉, AI에게 프롬프트를 생성하게 하고 Antigravity에 넣는 방식)해도 될까요, 아니면 곧 직접 코드를 짜야 할 시점이 올까요?
ChatGPT는 우리가 원하는 바를 매우 명확히 정의하고 설명할 수 있다면 코드베이스에 깊이 파고들 필요가 없다고 답했습니다. 필요한 데이터, 시나리오 등을 모두 제공하면 된다고 했습니다.
Extending the CSV for Party Management
그 후 저는 CSV 파일을 확장해서 파티를 추가·제거할 수 있게 해 달라고 요청했습니다—즉, 게임 파티에 캐릭터를 쉽게 추가하거나 뺄 수 있게 말이죠. 그때는 제 게임에 파티 개념조차 없었지만, 시나리오와 원하는 확장에 대해 ChatGPT와 여러 차례 대화를 나눈 덕분에 요청이 너무 야심 차 보일 수도 있겠다고 생각했습니다.
ChatGPT는 매우 긴 프롬프트(무섭게 길다)를 반환했습니다. 좋은 날이라도 수동으로 구현하려면 버그 없이 며칠이 걸렸을 텐데요. 저는 그 프롬프트를 Antigravity에 넣으며 다음을 요구했습니다:
- CSV를 확장해 파티 멤버를 추가·제거할 수 있게 만들기.
- 누가 파티에 추가될 수 있는지 표시하기.
- 파티에 추가되는 캐릭터를 렌더링하는 재사용 가능한 UI 컴포넌트 추가하기.
잠시 기다린 뒤… 와라, 작동했습니다! (프롬프트를 몇 번 조정해야 했기 때문에 한 번에 성공한 건 아니었지만, 여전히 인상적이었습니다.)
Demonstration
두 명의 캐릭터를 파티에 추가하는 이벤트를 트리거했습니다. 추가와 표시 외에는 별다른 일이 일어나지 않았지만, 이미 실제 게임처럼 보이기 시작했습니다.
Observations
- AI에게 무언가를 만들게 할 뿐만 아니라 지속적으로 수정·유지보수하도록 요청할 수 있습니다.
- AI는 현재 구현을 이해하고 필요한 코드만 추가합니다—이는 제가 Antigravity에 제공한 잘 다듬어진 프롬프트 덕분입니다.
Further Enhancements
또한 원본 시나리오(.txt 파일)와 대상 시나리오 파일(.csv)을 지정하는 기능을 요청했습니다. 이를 통해 원하는 만큼 많은 시나리오 파일을 분리할 수 있어 프로젝트 유지보수성이 크게 향상됩니다.
Future Plans
제 목표는 이 AI 기반 게임 개발 접근 방식의 한계를 탐구하는 것입니다. 앞으로도 여기서 업데이트를 계속 올릴 예정이니, 많은 관심 부탁드립니다!