왜 숫자 퍼즐 게임을 만들기로 했는가
바이브 코딩 시리즈 보기
[FRAC, 1부] 비개발자의 풀스택 도전
생성형 AI는 2023년 이후 프로그래밍과 소프트웨어 개발 전반에 실질적인 패러다임 변화를 일으켜왔다. 2023년 6월 Microsoft의 phi-1 모델은 1.3B 수준의 소규모 파라미터만으로도 강력한 코딩 능력을 보여주며 업계의 주목을 받았다. 이후 2024년 12월 OpenAI의 GPT-o1이 논리적 추론 기능을 크게 강화하면서, AI의 코딩 능력은 단순 자동화 수준을 넘어 복잡한 소프트웨어 설계와 구현 영역으로까지 비약적으로 발전했다.
이러한 추론형 AI의 발전은 HumanEval, SWE-Bench 등 대표적 벤치마크에서 복잡한 프로그래밍 문제, 멀티파일 프로젝트, 실제 소프트웨어 시스템 관리 및 테스트까지 AI가 실질적으로 지원할 수 있음을 입증하고 있다. 그 결과, 전형적인 프롬프트 엔지니어링을 통한 코딩 보조의 질적 향상과 더불어, 소프트웨어 개발 전 주기를 아우르는 AI 에이전트의 등장이 본격화되었다. 시장의 기대와 가능성은 '바이브 코딩'이라는 단어로도 확산되며, Cursor, Devin과 같은 코딩 AI 에이전트는 점차 지원 영역을 넓혀가고 있다.
나 역시 2025년 1월, ChatGPT의 도움만으로 논문 결과물을 시각화하는 간단한 웹페이지를 만들어보면서, AI를 활용한 “풀스택” 개발의 실질적 가능성을 처음 체감했다. 이전에는 ‘비개발자’가 단순 프로토타입을 넘어서 실제 서비스 배포까지 완성하는 데 여전히 높은 진입장벽이 있다고 여겼지만, 프롬프트 엔지니어링만으로도 상당 부분을 구현할 수 있다는 점이 인상적이었다.
이런 환경 변화 속에서, 나는 오랫동안 꿈꿔온 숫자 퍼즐 게임을 직접 풀스택으로 개발해보자는 결심을 하게 되었다. 이 과정은 단순 요구사항 명세에 따른 개발이 아니라, 기획에서부터 시작해 서비스 전 주기를 아우르는 개발이었다.
특히, 풀스택 SW 엔지니어링을 지원하는 AI 에이전트(예: Cursor, Devin 등)는 개발자의 생산성 증폭에는 매우 적합하다고 판단했다. 하지만, 실제 서비스를 기획하고 창의적으로 설계하며, 사용자 경험까지 전개하는 데에는 자동화로 인한 보이지 않는 장벽이 존재했다. 내가 실제로 경험했던 것을 예를 들어보면, 아무리 백엔드와 데이터베이스를 철저하게 설계하더라도, 실제 사용자 경험이 구체화되는 프론트엔드에서 추가적인 백엔드·DB 구현 및 반복 적용이 필수적이었다. 또, 모바일 환경에 맞춘 반응형 폴리싱 역시 직접 작동방식을 이해하고 손수 고쳐야 하는 일이 반복됐다. 이런 맥락에서, 나는 에이전트형 AI 도구보다는 프롬프트 엔지니어링 중심의 방식이 비개발자에게 더 현실적이고 적합하다고 판단했다.
나는 한 명의 비개발자로서, “생성형 AI와 프롬프트 엔지니어링만으로 기획, 설계, 구현, 배포까지 실제 소프트웨어 서비스를 오롯이 혼자서 완성할 수 있는가?”라는 실전적 질문을 스스로에게 던졌다. 그리고 생성형 AI를 단순한 코드 자동화 도구가 아닌, 다음과 같은 전 과정의 협업 파트너로 활용하기로 했다.
아이디어 브레인스토밍
논리적 설계
스토리텔링/문서화
UX 기획 및 영어 번역
풀스택 개발 및 배포
2025년 4월 4일, ChatGPT와 함께 “의미 있는 8자리 숫자를 예측하는 퍼즐 게임” FRAC의 개발을 시작했고, 기획, 소설 창작, 퍼즐 설계, 백엔드·프론트엔드 개발, 배포 및 모바일 대응까지 72일 만에 완전한 풀스택 서비스로 런칭하는 데 성공했다. 최종적으로 https://fracgame.com 도메인에 실제 서비스를 배포하여, AI 협업 기반의 풀스택 개발이 실현 가능한 현실임을 직접 증명했다.
FRAC 프로젝트의 동기는 비트코인에서 출발했다. 비트코인은 일종의 난수 맞추기를 통해 유일성을 보장하지만, 그 행위 자체에는 별다른 의미가 없다. 나는 “난수 맞추기”보다는 수학적 지식을 학습할 수 있는 의미 있는 문제를 풀고 보상을 받는 것이 더 가치 있다고 생각했다. 그래서 처음에는 임의의 8자리 수를 맞추는 게임을 기획했지만, 이 숫자가 특정한 의미나 규칙의 조합을 갖는다면 문제를 푸는 과정이 훨씬 흥미로울 것이라고 봤다. 여기에 우주론과 인간 존재의 진실을 탐구한다는 서사성을 더해, “우주를 부유하는 정보의 조각(=8자리 수)”을 해독함으로써 진실에 접근한다는 기획으로 발전했다. 이렇게 해서 정보의 조각(Fragment)과 화폐(Coin)의 개념이 합쳐져 FRAC(Fragment Coin)이 탄생했다.
하지만 이러한 접근이 실제로 유효한지 검토하는 과정에서, 암호화폐 발급은 비용도 크고 법적 제약도 많아 1인 프로젝트로는 무리라는 결론에 이르렀다. 이에 “8자리 수를 맞추는 퍼즐 게임”이라는 큰 틀을 유지하면서도 FRAC의 방향성을 재정의했다. 기존 서사성은 그대로 두고, 우주가 주기적(여기서 Cycle은 우주의 주기)으로 수축(Big Chill)과 팽창(Big Bang)을 반복한다는 세계관을 받아들였다. 이때 붕괴 이후에도 살아남은 정보 조각을 해독하는 테마를 설정해, FRAC이 “Fragment Remain After Collapse”라는 의미를 갖도록 했다.
게임의 기본은, 주어진 최대 5개의 힌트를 바탕으로 유일한 8자리 수를 추론하는 것이다. 각 힌트는 일정 시간 간격으로 차례로 공개되며, 모든 조건을 동시에 만족하는 답을 찾아야 한다. 초기에 가장 신경 쓴 점은 “모르는 문제는 결국 생성형 AI에게 물어볼 것”이라는 사용자의 실제 경험이었다. 그래서 첫 번째 힌트가 너무 직관적이면 AI든 사람이든 단번에 정답을 맞힐 수 있기 때문에, 의도적으로 AI 활용을 전제로 문제를 설계했다. 4번째 힌트에서 논리적 흐름을 파악한 사용자는 답을 맞힐 수 있고, 5번째 힌트까지 모두 입력하면 AI에게도 대부분 답을 얻을 수 있도록 고안했다. 이런 구조는 FRAC의 정규 시즌(Cycle 1~)으로 정의된다. 하나의 문제를 글로벌하게 경쟁해 풀고, 정답을 맞히면 문장이 해금되어 서사(소설)의 일부를 알아가게 된다.
정규 시즌만으로는 콘텐츠의 양이나 사용자 정주성에 한계가 있어, 프리 시즌(Cycle 0)을 설계했다. Cycle 0에서는 원하는 만큼 여러 문제를 풀 수 있으며, 힌트는 시간차 없이 한 번에 모두 주어진다. 다섯 개의 8자리 수(힌트)를 보고 여섯 번째 수를 예측하는 방식으로, 정규 시즌과 차별화된다.
정체성과 게임 플레이 방식을 정립한 뒤, 정규 시즌과 프리 시즌의 MVP(Minimum Viable Product) 개발에 착수했다. ChatGPT는 IDE 선택부터 패키지 설치까지 구체적으로 안내했고, 요구사항에 맞는 코드를 붙여 넣는 것만으로도 단 3일 만에 백엔드, 데이터베이스, 프론트엔드, 구글 OAuth 인증까지 구현했다. 나는 가능성을 확인한 후 본격적으로 개발을 시작했다.
FRAC 게임은 fracgame.com 에서 즐겨볼 수 있습니다.
영문 논문도 여기서 확인할 수 있습니다.