AI로 웹게임 만들어보기 후기
얼마전에 AI로 게임을 만드시는 분의 글을 읽고 흥미가 돋아서 완전히 AI로 동작하는 웹게임을 만들어보자 라는 생각으로 시작했습니다.
처음부터 끝까지 클로드 코드로 작업했구요, 그래픽은 PixelLab 이라는 곳에서 API 방식으로 2D 그래픽을 만들수 있길래 이용했습니다.
시나리오와 캐릭터, 스킬, 아이템, 맵, 퀘스트까지 모두 gpt-5-mini 중간 reasoning 으로 자동 생성하도록 했습니다.
일단 결과 스크린샷 부터 보여드리면



클로드 코드 만만세..!
혼자하면 재미 없으니까 gpt-5-nano 로 동작하는 봇도 두마리 넣었습니다.
예전에 마인크래프트로 AI끼리 게임하는 프로젝트를 본적이 있는데 그정도까지는 아니지만 단기기억과 장기기억을 가지고 판단하게 요청했더니 그럭저럭 하긴 합니다.
문제점
모든걸 gpt로 호출하다보니 mini 모델인데도 템플릿 하나를 만드는데 약 3달러가 소모됩니다..
그리고 그래픽은 캐릭터, 걷는모션, 몬스터, 아이템, 맵 타일을 생성하는데 거의 10달러쯤 들어갑니다 ㄷㄷ..
gpt-5-nano 봇은 시간당 하나에 0.15달러정도 드는거 같아요.
그리고 mini 모델로 스킬과 스텟을 만들어서 그런지 밸런스가 뭔가 똥입니다… 어떤 직업은 너무 쎄고 어떤 직업은 너무 약하고 몬스터도 동일한 문제가 있습니다.
전투는 도저히 이펙트까지 AI로 생성하기엔 비용 문제가 크다고 판단해서 옛날 포켓몬, 웹게임 느낌으로 넘겼습니다.
하지만 맨날 코인만 들여다보다가 오랜만에 다른걸 하니 너무 재밌었고 이 기반으로 뭔가 다른걸 더 해보면 또 재밌을것 같아요!
밑에 최초 기획안 올리면서 마무리 하겠습니다..! 감사합니다!
기획안
RPG 게임 기획
1차.
[게임 목표 설정]
세상의 멸망 저지하기
N일간의 메인 시나리오를 AI를 통해 생성 (시나리오의 시작부터 매일 점진적으로 고조되는 이벤트가 발생하여 마지막 날에는 무조건 세상의 멸망이 발생 - 외계인침공 또는 마왕 출현 등 자유롭게)
최종 목표를 달성하기 위한 필수 아이템을 수집하기 위한 퀘스트들을 준비해야함.
N일간 각 메인 이벤트들의 퀘스트를 달성하기 위한 아이템은 이벤트 당일을 포함하여 이전에 수집이 가능해야함.
[플레이어 준비]
메인 시나리오에 필요한 5개의 영웅 직업(시나리오에 필수적인), 그 외에 15개의 부수적인 직업을 AI를 통해 자동 생성 (각 직업은 서사가 있으며 이후 자동 생성될 스킬도 이 서사에 걸맞아야함). 각 직업은 3차 전직(승급)까지 자동 생성.
각 직업의 기본 스킬(직업이 부여되면 주어지는 4개의 기본 스킬)과 승급에는 각 4개의 스킬 각각 3개의 승급 스킬 선택지가 주어짐. 따라서 1차 스킬 4개, 2차 스킬 4 3 = 12개, 3차 스킬 12 3 = 36개가 준비되어야 함. 차수가 높아짐에 따라 스킬의 공격력 및 효율이 상승되어야 하며 영웅 직업의 경우 일반 직업에 비해 2배 강력해야 함.
[스킬의 조건]
타겟 : 적/아군
소모 HP : N
소모 MP : N
곱산 STR : N
곱산 INT : N
곱산 DEX : N
곱산 LUC : N (최종 데미지는 무기의 공격력에 장비 스텟을 포함한 캐릭터의 모든 각 스텟 합에 스킬의 곱산 수치를 곱해서 결정됨)
스킬 이름 : ?
스킬 설명 : ?
공격시 표시될 스크립트 : 하늘에서 밝게 타오르는 태양이 적 가운데 떨어진다. (예시)
[아이템 준비]
메인 시나리오에 필수적인 아이템들과(퀘스트 등에 필요한) 부수적인 아이템들을 AI를 통해 생성
무기, 머리, 장갑, 신발, 몸통, 반지, 소모품, 기타 타입으로 구성
[맵 준비]
5개의 영웅 직업의 서사를 기반으로한 마을 5개와 중앙의 대공동 그리고 5개의 마을에서 중앙으로 이동하기 위한 중간 다리 역할의 지역 5개. 총 11개의 맵이 필요.
맵의 각각의 특징을 가지게 되며 AI를 통해 생성.
각각의 맵은 처음 메인 시나리오와 이벤트 퀘스트등에 활용됨.
최종 목표 이벤트가 발생하는 지역은 마을 5개 또는 대공동에서 발생하도록 설정.
[NPC 준비]
퀘스트를 진행하기 위한 NPC 생성 및 상점 NPC 생성.
NPC 이름, 설명, 타입(퀘스트/상점), 위치 좌표(맵ID, x,y 등)
[몬스터 준비]
시나리오를 진행하기 위한 몬스터들을 AI를 통해 생성.
맵에 배치된 몬스터는 움직이지 않으며 조우시에 전투로 돌입.
예정된 시나리오에 따라 드랍되는 아이템 등이 미리 셋팅되어야 함.
시나리오상 주요 몬스터의 경우 잡히면 맵에서 사라져야 함. (1회성 몬스터)
2차.
[이동]
2D 맵으로 구성되어 있으며 위,아래,좌,우의 셀 단위 이동으로 제한한다.
[UI]
상태창(스텟 및 캐릭터 정보), 장비창 + 인벤토리, 스킬 창, 퀘스트 창, 친구창, 채팅, 현재 시나리오 진행상황창
[전투]
전투는 구 포켓몬스터 게임과 같이 기본공격, 도망치기, 스킬 사용, 소모품 사용으로 진행된다.
턴제 전투로 진행되며 유닛의 속도(스텟으로 계산)에 따라 턴이 정해짐. (적의 속도가 2이고 내가 1인 경우 : 적의 턴 -> 적의 턴 -> 내 턴이 될수있음)
멀티 플레이어 RPG인 만큼 전투 세션은 몬스터를 기준으로 하며 플레이어 여러명이 참전이 가능함.
참전한 플레이어 수를 기준으로 몬스터 스텟이 강해짐.
[게임의 종료]
최종 목표가 저지되거나 저지하지 못한 경우 게임이 최종 종료됨.
서버에 로그로 플레이어들의 레벨과 승급 차수(직업), 장비 아이템, 스킬들이 기록되며 서버(룸)는 종료.
3차.
이 게임은 최대 20개의 동시 서버(룸)를 지원하며, 한 서버에 1/2 이상의 플레이어가 등록되면 자동으로 서버가 증설됨(최대 20개).
웹 기반으로 동작하며 구글 로그인 필수.
서버(룸)에 처음 접속시 해당 서버내에서 중복되지 않는 10자리 이하의 캐릭터명을 지정한다.
지역 채팅을 지원하여 맵 내에서만 들리도록 한다.
귓속말 지원.
각 서버(룸)가 증설(생성)될때 GPT API를 사용하여 N일간의(기본 7일) 메인 시나리오를 먼저 생성하고 이에 따른 퀘스트, 직업, 스킬, NPC, 몬스터, 아이템, 지역(11개)을 API를 통해 생성.
이후 맵을 적절히 생성하고 NPC와 몬스터를 적절히 배치한다(시나리오의 진행에 따라 등장하는 NPC와 몬스터의 발생 시점이 다름).
그리고 https://api.pixellab.ai/v2/llms.txt 을 사용하여 캐릭터, 몬스터, NPC, 아이템, 맵, 지형지물 등의 에셋을 생성.
DB는 sqlite 를 사용하되 추후 mysql 로의 이전 예정이므로 미리 고려해야함.
혹시 한번 보고 싶으신 분들을 위해…
주소 : game.udp.cc
구글 로그인 후 방 누르면 직업, 닉네임 설정 후 접속하고 wasd, 화살표키로 이동입니다.
우측 상단 메뉴에 인벤토리 등이 있고 PC는 단축키를 지원합니다. 모바일은 직접 눌러서 …
퀘스트는 자동이동이 되지만 전투는 직접 해야해요.
몬스터와 전투는 직접 가야하고 엔피시는 클릭(터치) 입니다.
3차 전직까지 만들어 달라고 했는데 다른 버그가 너무 많았어서 테스트는 못해봤습니다…