개발은 잘 모르지만, 게임은 만들고 싶어요
저는 개발 쪽 전문 지식이 부족한 직장인이지만, 혼자서 게임을 만들고 싶다는 생각을 계속 가지고 있었어요. 몇 시간 정도 ChatGPT를 통해 점프킹과 비슷한 간단한 게임을 만들었는데, 그 제작 과정을 소개해드리려고 합니다. 아래의 플레이 영상과 플레이 가능한 git링크를 공유드리니 한 번 테스트해보세요. (링크는 언제 만료될 지 모르고, 중간에 수정되느라 업데이트 될 수도 있어요...)
ChatGPT를 통해 게임 만드는 방법
전체과정을 복기했을 때, ChatGPT로 게임을 만드는 과정은 크게 3부분으로 나눌 수 있어요.
- 게임 컨셉 및 초기 기획 전달
- ChatGPT가 제공한 코드를 테스트
- 문제가 있는 부분 피드백
2번과 3번 과정을 반복할수록 버그를 고치고, 필요한 기능을 구현하면서 게임의 퀄리티를 높일 수 있어요. 세부적으로 중간에 용어를 물어보거나 설명을 요청하는 등 GPT와 대화를 나눠야하는 일이 생기기도 하지만, 주요한 과정은 이 3가지라고 말할 수 있습니다. 실제 GPT와 나눴던 대화 예시를 통해 좀 더 설명해볼게요.
게임 컨셉 전달하기
우선은 어떤 게임을 만들고 싶은지를 GPT가 이해하기 쉽게 입력하는 것부터 시작이에요. 저는 게임을 플레이할 디바이스 유형, 무엇으로 개발할 지, 게임의 주요 메커니즘과 컨셉은 무엇인지 등등 생각나는대로 이야기했는데요, 간단하게 구현할 수 있는 java 웹 게임을 타겟으로 선택했어요.
그러면 제 이야기를 찰떡같이 알아들은 GPT가 무언가 코드를 만들어줍니다. 하지만, 필요한 로직을 구현하지 않고 주석으로 표시만 하거나 게임에 필요한 기본적인 로직이 없는 경우가 많습니다. 이제부터는 직접 코드를 실행하여 게임을 플레이하면서 점점 코드를 발전시켜나가야 해요.
처음 GPT가 준 코드를 실행시킨 모습인데요, 플레이어는 생성했지만 맵도 없고 점프도 작동하지 않는 상황입니다. 앞으로 하나씩 하나씩 개선해나가도록 하죠.
주요 게임 메커니즘 구현
GPT랑 이야기하면서 게임을 만드는 과정은 (그런 경험은 아직 없지만) 마치 클라이언트가 되어서 외주에게 오더 내리는 것과 비슷하다고 생각해요. 원하는 기능을 요청하면 GPT가 필요한 함수를 만들거나 수정해주는데요, 제가 생각할 때는 한 번에 여러 사항을 요구하는 것보다 한 번에 하나씩 요청하는게 출력물의 퀄리티나 사용자가 이해하기에 더 적합한 것 같아요.
가끔씩 GPT가 코드를 잘 모르는 것 같다고 느껴지면, 현재까지 수정된 전체 코드를 입력해서 GPT에게 알려주는 것도 유용한 것 같아요. 또, GPT가 일부분만 작성해서 개발 지식이 부족한 제가 이해하기 어려울 때까 있었는데 이럴때는 해당 부분, 함수의 전체 코드를 작성해달라고 요청하면 이해하기 쉽게 작성해줍니다.
버그 및 이슈 해결
물론 GPT가 출력한 코드가 잘 작동하기는 하지만, 생각했던 것과 차이가 있거나 의도하지 않았던 오류가 발생하기도 합니다. 이럴때는 QA, 테스터팀이라는 마음가짐으로 어떤 문제가 발생한 건지 정확히 설명하는 것이 중요해요. 특히, 이전에 수정됐던 부분이 토큰이 길어지면서 GPT가 잊어버리고 다시 변경되는 경우도 있으니 코드를 꼼꼼히 읽어주세요.
게임 개발 소감
아직 충돌 버그나 맵 디자인, 카메라 조정 등등 더 작업해야할 부분이 많지만, 하루만에 이정도까지 개발할 수 있었다는 점이 정말 놀라웠어요, 심지어 비전공자가 혼자서 만들었는데 말이죠. 약간 아쉬운 점은 제가 코드를 완전히 이해하지 못하고 있기 때문에 길이가 길어질수록 수정이나 요청이 점점 어려워지는게 느껴져요. 처음부터 잘 구상하고 만드는게 중요하다고 다시금 깨달았어요.
제가 ChatGPT와 나눈 대화 기록을 공유드리니, 혹시 참고하시고 싶으시거나 코드를 알고 싶으신 분들은 링크를 통해 확인하시길 바라요. 짧고 간단한 경험 공유지만, 누군가에게 도움이 되었으면 좋겠습니다.
ChatGPT 대화 기록: https://chat.openai.com/share/4134b381-ee83-4bac-8384-d404469dc405
'AI 제작소 > AI 콘텐츠' 카테고리의 다른 글
GPT로 초간단 뵈프 브루기뇽 (프랑스식 비프 스튜) 레시피 만들기 (1) | 2024.01.01 |
---|