1인 게임 개발에 미리 알면 좋은 것: 전공 없이 시작할 때 꼭 필요한 것과 AI로 메우는 것
혼자 게임을 만들 때 프로그래밍, 수학(벡터·좌표), 미술, 사운드, 기획 가운데 무엇을 꼭 알아야 하고 무엇을 AI와 도구로 메울 수 있는지, AI가 메우지 못하는 것까지 실제 게임 코드와 기록으로 정리합니다. 엔진 공식 학습 자료로 가는 순서도 함께 안내합니다.
한국어English
기준: Godot 4.7.2(영어 화면)와 Godot 4.7 공식 문서, Blender 5.2, Unity Learn, Epic Developer Community. 2026년 11월에 확인했습니다. 그림은 실제 Godot 편집기 화면, 공식 문서 페이지, 직접 만든 시험 게임 화면입니다.
"게임을 만들려면 컴퓨터공학을 전공해야 하나요"라는 말을 자주 듣습니다. 짧게 답하면, 게임 엔진을 내려받아 쓰는 데 학위나 자격 조건은 없습니다. Godot와 Blender는 누구나 무료로 받아 쓰는 프로그램입니다. 다만 학위가 필요 없다는 말이 아무것도 몰라도 된다는 뜻은 아닙니다. 게임에는 프로그래밍, 수학, 미술, 사운드, 기획이 모두 들어가고, AI가 그 가운데 일부를 크게 덜어 주지만 전부를 대신하지는 못합니다.
이 글은 1인 개발 연재 2편입니다. 다섯 분야를 하나씩 보며, 꼭 알아야 하는 정도와 AI·도구로 메우는 부분, 그리고 AI가 메우지 못하는 부분을 실제 게임 코드와 제작 기록으로 보여 줍니다. 이 글에서는 혼자 첫 게임을 만들기 전에 갖춰 두면 좋은 지식과 그것을 배우는 공식 자료를 설명합니다. 연재 전체 지도는 1인 게임 개발 지도에 있습니다.
1. 결론 먼저: 분야별 한 줄
| 분야 | 꼭 필요한 정도 | AI·도구가 메우는 것 | AI가 메우지 못하는 것 |
|---|---|---|---|
| 프로그래밍 | 코드를 읽고 값이 어디 있는지 찾기 | 코드 쓰기·고치기, 오류 원인 찾기 | 무엇을 만들지 정하기, 결과가 맞는지 직접 확인하기 |
| 수학 | 좌표와 벡터의 뜻 | 계산식 쓰기 | 화면에서 이상한 움직임을 알아보는 눈 |
| 미술 | 3D 프로그램 기본 조작, 면 수를 가볍게 두는 습관 | 내보내기 스크립트, 반복 작업 | 게임의 모양새를 정하는 일, 그림이 어색한지 보는 눈 |
| 사운드 | 쓸 수 있는 소리인지(라이선스) 확인 | 간단한 효과음 합성 | 게임 느낌에 맞는 소리 고르기 |
| 기획 | 규칙을 한 줄과 숫자로 적기 | 규칙을 코드와 확인 항목으로 옮기기 | 재미·난이도 판단, 직접 해 보는 시간 |
표의 오른쪽 칸이 이 글의 핵심입니다. AI가 빨라질수록 남는 일은 "정하기"와 "직접 해 보기"입니다. 이 두 가지는 전공과 상관없이 만드는 사람이 해야 합니다. AI에게 맡길 몫과 확인할 몫, 도구 약관은 이 연재 4편 AI로 1인 개발 일 나누기에서 다룹니다.
2. 전공과 학위
게임 엔진과 3D 프로그램은 학위를 묻지 않습니다. Godot는 MIT 라이선스로 배포되는 무료 오픈소스 엔진이고, Blender도 무료입니다. 공식 문서와 입문 강좌도 대부분 무료로 열려 있습니다(8절).
전공이 도움이 되는 경우는 분명히 있습니다. 컴퓨터공학을 배운 사람은 코드 구조를, 미술을 배운 사람은 색과 형태를 더 빨리 다룹니다. 하지만 1인 개발의 첫 게임에서는 전공 하나보다 다섯 분야를 조금씩 아는 것이 더 쓸모 있습니다. 혼자 만들면 어느 분야든 결국 직접 손대야 하기 때문입니다. 학위를 가진 개발자가 얼마나 되는지 같은 통계는 이 글에서 다루지 않습니다. 믿을 만한 공식 수치를 확인하지 못했기 때문입니다.
3. 프로그래밍: 쓰기보다 읽기
AI 코딩 도우미가 생긴 뒤로 프로그래밍에서 가장 크게 바뀐 점은, 첫 줄부터 직접 쓸 필요가 줄었다는 것입니다. 제 기록의 방공 게임은 코드를 모두 AI가 썼습니다. 그래도 아래 네 가지는 알아야 했습니다.
| 알아야 할 것 | 뜻 | 쓰이는 때 |
|---|---|---|
| 변수와 상수 | 값에 붙인 이름표. 상수는 도중에 바뀌지 않는 값 | "무인기 32대"가 코드의 어디인지 찾을 때 |
| 조건문(if) | "이러면 이렇게 한다"는 갈림길 | "발사대가 맞으면 파괴"가 맞게 들어갔는지 볼 때 |
| 함수 | 이름 붙인 작업 묶음 | 오류 메시지가 가리키는 곳을 찾을 때 |
| 오류 메시지 | 엔진이 알려 주는 문제의 위치와 까닭 | AI에게 그대로 보여 주고 고치게 할 때 |
비유하면 운전과 비슷합니다. 차를 직접 조립할 줄 몰라도 운전은 하지만, 계기판의 경고등이 무엇을 뜻하는지는 알아야 합니다. 코드를 직접 쓰지 않아도 읽을 줄은 알아야 AI가 만든 것을 확인하고 고칠 곳을 말할 수 있습니다.
Godot에서 쓰는 언어는 GDScript와 C#입니다. GDScript는 Godot 전용 언어로, 파이썬과 비슷하게 생겼습니다. 공식 문서는 프로그래밍이 처음이면 GDScript로 시작하기를 권하고, 브라우저에서 바로 연습하는 무료 앱 "Learn GDScript From Zero"를 안내합니다(그림 1).
그림 1. Godot 공식 문서의 GDScript 안내 페이지. 아래쪽 앱에서 브라우저로 바로 연습합니다 (Godot 문서 화면, CC BY 3.0)
따라 하기: 그림 1의 페이지를 열고, 아래의 "Learn GDScript From Zero" 앱을 눌러 처음 몇 과를 해 봅니다. 변수, 함수, 조건문까지만 해도 AI가 쓴 코드의 큰 줄기를 읽을 수 있습니다.
4. 수학: 좌표와 벡터
3D 게임에서 가장 자주 쓰는 수학은 좌표와 벡터입니다. 좌표는 물체가 어디에 있는지를 세 숫자(X, Y, Z)로 적은 주소입니다. 벡터는 방향과 길이를 함께 가진 화살표입니다. "북동쪽으로 300 m"처럼, 어느 쪽으로 얼마나를 한꺼번에 담습니다.
그림 2. 방공 게임에서 미사일이 무인기를 따라가는 코드(missile.gd 102~114줄). 벡터 계산이 몇 줄 안에 모여 있습니다 (Godot 편집기 화면 캡처)
그림 2는 AI가 쓴 미사일 코드입니다. 수학 기호가 거의 없지만, 줄마다 벡터를 씁니다.
| 줄 | 코드 | 뜻 |
|---|---|---|
| 103 | target.position - position | 미사일에서 무인기로 가는 화살표(위치끼리 빼기) |
| 104 | to_t.length() | 그 화살표의 길이, 곧 남은 거리 |
| 105 | target.velocity * (…) | 무인기가 그사이 움직일 만큼 앞을 내다본 지점 |
| 106 | .normalized() | 길이를 1로 맞춰 "방향만" 남기기 |
| 107 | dir.angle_to(want) | 지금 방향과 가고 싶은 방향 사이의 각도 |
이 계산식을 직접 쓸 줄 몰라도 괜찮습니다. AI가 씁니다. 하지만 "위치끼리 빼면 방향 화살표가 된다", "길이를 1로 맞추면 방향만 남는다"는 뜻은 알아 두어야 합니다. 미사일이 엉뚱한 쪽으로 날아갈 때 "방향 계산에서 빼는 순서가 거꾸로인 것 같다"처럼 AI에게 짚어 말할 수 있기 때문입니다.
좌표축도 알아 둡니다. Blender는 위쪽이 Z축이고, Godot는 위쪽이 Y축입니다. 그래서 모델을 옮기면 축 이름이 바뀝니다. 제 기록에서는 Blender에서 앞(+Y)이던 쪽이 Godot에서 −Z가 됐습니다. 이런 차이를 모르면 "모델이 옆으로 누웠다"는 증상을 보고도 원인을 짐작하지 못합니다.
따라 하기: Godot 공식 문서의 "Vector math" 페이지를 열어 처음 몇 절(좌표계, 벡터 더하기, 길이, 정규화)만 읽습니다. 이 페이지는 게임 개발에 쓰이는 선형대수를 짧게 소개하고, 벡터를 잘 이해하는 것이 꼭 필요하다고 적고 있습니다. 내적·외적 같은 뒤쪽 절은 첫 게임에서 당장 몰라도 됩니다.
5. 미술: 모델과 동작
3D 게임에는 모델이 필요합니다. 여기서 AI가 메우는 몫은 다른 분야보다 작습니다. 제 기록의 게임들은 영상용으로 이미 만들어 둔 Blender 모델을 썼습니다. AI가 한 일은 모델을 만드는 것이 아니라, 모델을 게임 엔진이 읽는 파일로 내보내는 스크립트를 쓰고 걸린 곳을 고치는 것이었습니다.
그림 3. Blender에서 뼈대와 동작을 만든 캐릭터를 Godot에서 재생한 모습. 왼쪽부터 차기 직후, 세리머니 시작, 두 팔 들기 (Godot 실행 화면)
그림 3의 캐릭터는 Blender에서 뼈대(리그)와 10초짜리 동작까지 만든 것입니다. 리깅은 모델 안에 뼈대를 넣어 움직일 수 있게 하는 작업으로, 인형 안에 철사 뼈대를 넣는 일과 비슷합니다. Godot로 옮겼을 때 자세 차이는 가장 큰 곳이 1.4 mm였습니다. 다만 그대로 넘어가지 않은 것도 있었습니다.
| 걸린 곳 | 증상 | 알아야 했던 것 |
|---|---|---|
| 노드 묶음으로 만든 재질 | 캐릭터가 온통 흰색 | 게임용 파일은 Blender 재질 노드를 다 읽지 못함 |
| 뼈 동작과 표정 동작 | 둘이 따로 나와 하나만 재생 | 동작이 여러 갈래로 나뉠 수 있음 |
| 메시에 UV가 없음 | 가져올 때 경고 | UV(모델 겉면을 펼친 지도)의 뜻 |
그래서 미술 쪽에서 미리 알면 좋은 것은 Blender의 기본 조작, 면 수를 가볍게 두는 습관, 재질과 UV의 뜻, 리깅의 기본입니다. 각각 Blender 완전 초보 입문, 로우폴리 스타일 기초, UV 펼치기, 리깅 기초에서 시작할 수 있습니다. 직접 뼈대를 만들기 어렵다면 Mixamo 같은 자동 리깅 서비스도 있습니다(Auto-Rig Pro로 Mixamo 동작 옮기기).
AI가 메우지 못한 것은 모양새를 정하는 일이었습니다. 어떤 색과 형태로 갈지, 화면이 어색한지는 사람이 보고 정했습니다. 게임에 넣을 모델을 만들 때 지킬 규칙은 이 연재 5편(게임용 에셋 규칙)에서 다룹니다.
6. 사운드
제 기록에서 가장 덜 다룬 분야가 소리였습니다. 방공 게임의 소리는 코드로 합성한 효과음 여섯 개였고, 협곡 비행 게임도 합성한 소리를 썼습니다. 녹음이나 음악 없이 AI가 코드로 "펑", "쉭" 같은 소리를 만들어 넣은 것입니다. 게임은 돌아갔지만, 소리가 게임 느낌에 맞는지는 따로 다듬지 않았습니다.
소리에서 미리 알아 둘 것은 두 가지입니다.
- 쓸 수 있는 소리인지 확인합니다. 인터넷에서 찾은 효과음과 음악에는 저작권이 있습니다. 상업용으로 써도 되는지, 출처를 밝혀야 하는지는 소리마다 다릅니다. 글꼴도 마찬가지입니다. 협곡 비행 게임의 웹 판에는 자유 이용 라이선스 글꼴에서 한글만 골라 줄인 파일(424 KB)을 넣었습니다. AI가 만든 결과물의 권리는 AI 콘텐츠와 저작권에 정리해 두었습니다.
- 소리가 게임 느낌을 바꾼다는 것을 압니다. 같은 폭발도 소리가 가벼우면 장난감 같고, 낮고 길면 무겁게 느껴집니다. 어떤 느낌이 맞는지는 귀로 듣고 사람이 정해야 합니다.
7. 기획: 규칙을 숫자로 적기
기획은 게임의 규칙과 목표, 난이도를 정하는 일입니다. 1인 개발에서 가장 과소평가되는 분야이고, AI가 가장 메우기 어려운 분야이기도 합니다.
AI는 말로 된 규칙을 코드로 잘 옮깁니다. 그러니 규칙을 한 줄 설명과 숫자로 적을 줄 알면 일이 훨씬 빨라집니다. 제 방공 게임의 한 줄 설명은 "노을 지는 사막 기지에서 마우스로 겨눠 미사일을 쏴, 몰려오는 무인기 32대로부터 발사대 4대를 지킨다"였습니다. 고칠 때도 "더 어렵게"보다 "생성 간격 2배 빠르게"처럼 숫자로 말한 쪽이 빨리 맞춰졌습니다.
하지만 그 숫자가 재미있는지는 AI가 알지 못했습니다. 페널티킥 승부차기의 확률 값은 AI가 정한 초안이었습니다.
| 찰 곳 | 벗어날 확률 | 키퍼가 방향을 맞혔을 때 막힐 확률 |
|---|---|---|
| 낮게 왼쪽·오른쪽 | 5% | 60% |
| 낮게 가운데 | 0% | 90% |
| 높게 왼쪽·오른쪽 | 25% | 25% |
| 높게 가운데 | 10% | 70% |
컴퓨터 키퍼는 가운데로 20%만 뛰기 때문에, 이 값에서는 낮게 가운데로 차는 쪽이 가장 유리합니다. 컴퓨터가 상대의 버릇을 읽지도 않습니다. 이런 균형 문제를 알아채고 고칠지 정하는 일이 기획입니다. 방공 게임도 자동 플레이로는 난이도를 알 수 없었고, 제가 직접 다섯 번 해 본 뒤에야 규칙이 정해졌습니다. 게임 범위와 규칙을 정하는 방법은 이 연재 3편(첫 게임 범위 정하기)에서 다룹니다.
8. 공식 학습 자료로 가는 순서
따라 하기: 아래 순서대로 공식 자료를 엽니다. 모두 무료로 볼 수 있습니다.
- **Godot 공식 문서의 "Step by step"**을 엽니다. 노드와 장면, 첫 스크립트, 입력 받기, 신호(노드끼리 주고받는 알림)를 차례로 배웁니다.
- **"Your first 2D game"**을 따라 합니다. 공식 문서는 게임 개발이 처음이면 3D보다 2D부터 하기를 권합니다. 3D 코드는 늘 더 복잡하기 때문입니다.
- **"Your first 3D game"**으로 넘어갑니다(그림 4). 3D 좌표, 충돌, 정해진 간격으로 적을 만드는 법, 점수와 다시 시작 화면까지 한 편을 끝냅니다.
- 3D 모델을 직접 만들고 싶다면 Blender 매뉴얼과 이 사이트의 Blender 완전 초보 입문을 함께 봅니다.
- 다른 엔진을 고르면 Unity Learn(무료 강좌가 모인 Unity 공식 학습 사이트)이나 Epic Developer Community의 Learning(Unreal Engine 공식 강좌 모음)에서 같은 순서로 시작합니다.
그림 4. Godot 공식 문서의 첫 3D 게임 강좌. 한 편을 끝까지 따라 하면 점수와 다시 시작 화면이 있는 작은 게임이 완성됩니다 (Godot 문서 화면, CC BY 3.0)
공식 강좌를 하나 끝까지 따라 해 두면, AI에게 일을 맡길 때도 "노드", "장면", "신호" 같은 말을 그대로 쓸 수 있습니다. AI와 같은 말을 쓰게 되면 설명이 짧아지고 결과가 빨리 맞춰집니다. 엔진을 아직 고르지 않았다면 게임 엔진 고르기 2026을 먼저 보세요.
9. AI가 메우지 못하는 것
다섯 분야를 지나며 나온 것을 모으면 이렇습니다.
| 메우지 못하는 것 | 까닭 |
|---|---|
| 무엇을 만들지 정하기 | AI는 시킨 것을 만들 뿐, 만들 것을 고르지 않음 |
| 직접 해 보는 시간 | 재미와 난이도는 사람이 해 봐야 나오는 말. 자동 플레이로는 알 수 없었음 |
| 모양새·소리의 느낌 | 맞는지 틀리는지가 아니라 좋은지 나쁜지의 판단 |
| 권리 확인 | 남이 만든 모델·소리·글꼴을 써도 되는지는 라이선스를 읽고 사람이 책임짐 |
| 공개 결정 | 언제, 어디에 내놓을지는 만든 사람이 정함 |
이 다섯 가지는 전공으로 배우는 지식이라기보다 습관입니다. 계획서를 먼저 쓰고, 직접 해 보고, 느낀 점을 숫자로 말하고, 쓴 재료의 출처를 적어 두는 습관입니다.
연습 문제
- 만들고 싶은 게임을 한 줄로 적어 보세요. "누가, 무엇으로, 무엇을 막는다(얻는다)"가 들어가게 씁니다.
- 그 게임에 필요한 숫자 다섯 개를 적어 보세요(예: 적의 수, 속도, 체력, 제한 시간, 생성 간격).
- 그림 2의 106줄에서
lead - position을position - lead로 바꾸면 미사일이 어느 쪽으로 날아갈지 적어 보세요. - Learn GDScript From Zero 앱에서 조건문을 다루는 과까지 해 봅니다.
자주 하는 착각과 해결
| 증상 | 까닭 | 해결 |
|---|---|---|
| 전공이 없어서 시작을 미룬다 | 엔진·3D 프로그램은 학위를 묻지 않음 | 공식 첫 게임 강좌 하나를 끝까지 따라 하기 |
| AI가 쓴 코드를 하나도 못 읽는다 | 변수·조건문·함수의 뜻을 모름 | GDScript 입문 앱으로 기초만 익히기 |
| 모델이 옆으로 누워 들어온다 | 프로그램마다 위쪽 축이 다름 | Blender는 Z 위, Godot는 Y 위라는 것을 알고 내보내기 설정 보기 |
| 고쳐 달라고 해도 원하는 대로 안 바뀐다 | "더 재미있게"처럼 말이 막연함 | 바꿀 값을 숫자로 말하기 |
| 게임은 돌아가는데 밋밋하다 | 소리·느낌을 다듬지 않음 | 사람이 해 보며 소리와 화면 효과를 따로 고르기 |
한 줄 정리
학위는 필요 없고, 코드는 읽기·좌표와 벡터는 뜻·모델은 기본 조작·소리는 권리·기획은 숫자로. 정하기와 직접 해 보기는 AI가 대신하지 못함.
참고 자료
- Godot Engine 4.7 문서, Learn to code with GDScript: https://docs.godotengine.org/en/stable/getting_started/introduction/learn_to_code_with_gdscript.html
- Learn GDScript From Zero 앱: https://gdquest.github.io/learn-gdscript/
- Godot Engine 4.7 문서, Step by step: https://docs.godotengine.org/en/stable/getting_started/step_by_step/index.html
- Godot Engine 4.7 문서, Your first 2D game: https://docs.godotengine.org/en/stable/getting_started/first_2d_game/index.html
- Godot Engine 4.7 문서, Your first 3D game: https://docs.godotengine.org/en/stable/getting_started/first_3d_game/index.html
- Godot Engine 4.7 문서, Vector math: https://docs.godotengine.org/en/stable/tutorials/math/vector_math.html
- Blender 5.2 LTS 매뉴얼: https://docs.blender.org/manual/en/latest/
- Unity Learn: https://learn.unity.com/
- Epic Developer Community, Learning: https://dev.epicgames.com/community/unreal-engine/learning
- 그림: Godot 편집기·실행 화면과 Blender 렌더(직접 만든 시험 게임), Godot 문서 페이지(CC BY 3.0)





