버그 해결을 위한 모든 질문을 던져
0 votes
231 views
안녕하세요 24살에 늦바람 이 불어 게임개발 게임프로그래머 지망생된 huns라고 합니다. 제가 이걸 왜 지망생이 됬냐하면 계기는 자주 즐겨하던 워크래프트 cd게임 유즈맵인데요 제가 초등학교 6학년때부터 지금까지 그 게임을 주로 하다보니 맵 제작도 관심이 가고 저도 이런 게임을 만들어보고 싶다라는 생각만 가지고 있다가 요번에 군대에 와서 전역을 앞두고 고민을 많이 했습니다 내가 정말 이길을 지망하고 가도 괜찮을까 수학이나 물리 이해력도 엄청 안좋아서 중학수학도 가르침받아도 이해를 못해 후임들이 답답해하는데 이게 맞는걸까 싶기도 해서 고민을 하다 더이상 후회하는 삶을 살지말자 해서 후회없는 삶을 위해 이길을 선택했습니다 그래서 제가 선택한 길을 가기위해 이것저것 알아보는데 뭐가 뭔지 모르겠어서 많이 막혀서 여기에 물어봅니다 (이 길을 가겠다고 결심해놓고 이런 기초적인것을 물어봐 죄송합니다)

먼저

1. 게임 개발 즉 프로젝트를 할때 팀으로 해서 한다는걸 알고 있고 게임 기획자 게임 원화 게임디자인등 있다고 들었는데 (이런걸 포함해 게임개발자라고 들었습니다...) 1인게임개발처럼 게임 개발을 다루는 직업의 명칭이 정확하게 어떤것인가요?

2. 제가 산수 정말 못합니다 곱셈만 해도 10단위이상으로는 암산이 안되어 무조건 글로 써서 풀어야할정도입니다 이해력도 너무 안좋고...그래도 해도 될까요?... (이것은 현실적인 조언을 듣고 참고할려고합니다)

3.게임개발 수학과 물리를 잘해야하나요?... 보니까 워크래프트도 스킬이펙트 날리려면 스킬 범위값이런것도 있는것 같아서요...

4.게임개발을 위해 어떤 언어를 배워야하나요? 언매니지드언어? 매니지드언어? 둘중에 먼저 뭘 배워야하나요??

5.학원을 생각하고 있긴한데 괜찮나요 학원에서 기초를 확 다 잡아서 나올려고 합니다 안되면 1년에 안잡히면 2년 2년도 안되면 3년

완전히 기초 탄탄하게 하고 나올려고 합니다 집지을때 탄탄하게 짓는것처럼 완전히 기초에서 심화들어갈때 모든걸 십어먹을수 있을때까지 할려고 하는데 어떤걸 부터해야하는지..

6. 현재 제가 지금 공부하고 있는게 초등학교 6학년수학에서 중학교 수학을 하고 있습니다 이걸 마스터하면 고등학교껄로 넘어갈려고 합니다 여기서 제가 함수까지 공부하는게 맞나요? 아님 거기서 더 진도나가는게 좋을까요? IT 기초 수학이랑 게임수학은 다른가요? 게임 수학은 뭐뭐 있나요?

7. 입문으로 공부할때 기초를 확 조져줄수있는 책 좀 추천 해줄수 있나요? 영어책이여도 상관없습니다 영어도 공부할 생각이였고 동시에 한다 생각하고 번역기 엄청돌려보면서도 공부할 생각입니다... 있으면 추천좀요 ㅠㅠ

오로지 게임만 만드는게 목표가 아니고 밑바닥부터 시작하고 싶은마음입니다 ㅠㅠ 어떻게 시작해야할지 조언좀요 ㅠㅠㅠ

저 진심으로 이렇게 목표를 갈구한적이 없습니다 모든걸 잘근잘근 십어 먹을정도록 모든걸 해치워 먹을정도록 열심히 해서 나중에는 블리자드 회사로 들어가고싶습니다
asked (2 point) , 231 views

2 answers

0 votes
1. 1인 게임개발자의 경우 딱히 구분되는 직군명을 사용하지는 않습니다. 프로그래밍, 아트(모델링, 도트, 애니메이팅), 기획관련작업 등 말 그대로 1인이 다 하게 되기 때문입니다. 혼자 하실 예정이면 완벽하진 않더라도 대부분의 것을 알고 있어야 겠지요.

 

2. 서론에서 이미 이 길을 정하셨다고 하셨는데, 특수한 한계로 인해 그만 두고 다른 일을 알아보실 생각이 있으신건가요? 수학 및 산수는 하면 됩니다. 복잡한 계산은 계산기가 있고, 시간은 걸리겠으나 반복 연습밖에는 없습니다. 이해력의 경우에는 텍스트로 된 종이 책을 많이 읽으시는 것을 추천합니다. 분야는 크게 관계없으며, 쉬운 책 부터 잘 읽히는 것으로 시간을 정해놓고 읽으시면 이해력 및 논리력에 도움이 될 겁니다. 평소에 관심가던 분야의 지식서적이나, 좋아하는 소설이나 글귀를 읽는 것부터 시작하면 됩니다.

 

3. 못하면 100% 안된다고 단언할 수는 없습니다. 하지만 수학 및 물리에 대한 역량 부족은 다방면의 작업에서 더 많은 시간을 요구할 것입니다. 비교적 프로그래밍과 기획에서 수학과 물리를 필요로 할 겁니다. (아트직군에서 사용하지 않는다는 얘기는 아닙니다. 보통 드로잉이나 모델링 스킬안에 녹아들어있습니다.)

 

4. 여유 시간이 얼마나 주어졌는지는 모르겠습니다. 하지만 2~3년 이내 취업 또는 출시를 목표로 한다면 C# 과 유니티 조합을 추천합니다. 순서가 꼭 정해져 있는 것은 아니라고 생각합니다. 여건에 맞으며 필요에 의해 더 유리한 언어를 습득하시는게 급선무라고 봅니다.

 

5. 학원을 다닐 수 있다면 다니십시요. 보통 2~3년까지 다닐 필요는 없고, 1년 이내로 올인해서 스킬을 빠르게 끌어올리는 것을 추천 합니다. 학원 출신은 취직이 잘 안된다거나, 실력이 부족하다거나 하는 속설이 있으나 저는 사람 바이 사람이라고 믿습니다. 끊임없는 노력으로 목표를 달성할 사람은 학원을 가든 안 가든 잘 하는 경향이 있습니다.

학원에 등록하고 수업 외에도 심화학습을 하실 필요가 있습니다. 여러 신입분들을 만나 본 후의 개인적인 의견이지만, 0%부터 100%까지 직접 해보는 것이 중요합니다. 작은 볼륨의 미니 게임을 만들게 된다면, 바닥부터 시작해서 빌드 후 출시 직전까지 심지어는 출시완료까지 직접 해 보시면 매 단계단계마다 새롭게 알아야 할 일들이나, 해결해야할 문제들에 직면하시게 될 겁니다. 이 것을 하나 하나 해결해 나갈 수 있는 능력을 기르십시오. 학원에 다닐 때야말로 직면한 문제가 풀리지 않을 때 물어볼 수 있는 때이므로 잘 활용하시면 좋은 효과를 볼 수 있을 것입니다. 다만 맹신하지는 마세요.

 

6. 고등수학까지는 하시는 것이 좋습니다. 문제집에 등장하는 아주 어려운 난이도의 문제를 풀 수 있어야 하는 것은 아닙니다. 고교수학 교육과정 내에 어떤 항목들이 있고, 어떤 식으로 푸는지 정도와 문제를 풀기 위한 접근 방식에 익숙해지세요. 저는 대학에서도 4년 내내 전공으로 수학을 했습니다. 게임을 만드는데 있어 가장 도움이 되었던 것은 특수한 한 분야의 학문이라기보다, 문제 상황에 직면하였을 때에 어떤 방식으로 실마리를 잡고 문제를 해결해 나갈 것인가 하는 전략 수립과 같은 논리적인 사고력이었습니다.

Direct X나 3D 공간을 다룰 때, 기하와 벡터 및 선형대수학, 그래프 분야가 도움이 될 것이고, 시간에 관련된 작업을 진행해야 할 때 중고등수학을 사용하게 될 것입니다. 예를 들어 탄막게임에서 적군의 총알의 궤적 등을 정의하고 구현할 때 수학의 도움을 받을 수 있습니다. 말씀하신 것 처럼 몬스터의 스킬 범위 계산이나, 카메라 워킹 등에도 사용됩니다.

 

7. 유니티에 관해서 쉐이더 외엔 서적을 이용해 공부해 본 적이 없네요. 하지만 유니티 책떼기를 진행하는 것도 처음 유니티의 워크플로우를 익힐 때는 큰 도움이 될 것입니다. 책 추천은 다른 분이 해주실거예요.

 

추신

1인 개발을 목표로 하고 계신 것이라고 이해했는데, 밑바닥부터 시작하기엔 얼마나 긴 싸움이 될지 모릅니다. 보통 회사를 다닌 경력자들도 퇴사 후 1인 개발을 목표로 하는 경우가 종종 있으나 좋은 결과를 보는 것은 극소수입니다. 본인 직군에 대해서는 빠삭하지만 다른 분야의 경우에는 경험이 없기 때문에 언밸런스한 작업환경이 지속되는 것이 보편적인 원인으로 꼽힙니다. 긴 시간 홀로 작업하는 것 역시 쉽지 않을 것입니다.

게임 개발에 있어 정답은 없습니다. 맨땅에 헤딩해가며 배워 만드는 것도 그만한 가치가 있을 것입니다. 열심히 공부하셔서 행복한 개발생활과 더불어 좋은 결과 있으시길 빕니다.
answered (10 point)
+1 vote
1.게임 구성 요소가 크게는
눈에 보이는 비주얼 적인 요소인 그래픽,
게임 세계관과 컨텐츠를 구성하는 기획,
그걸 기계에서 보여지게 하고 돌아가게 하는 프로그래밍 3개 가지죠
그것들이 세부적으로 들어가면 기획도 레벨디자인, 컨텐츠 기획, 스토리 등등 들어가고
그래픽도 원화부터 시작해서 배경,캐릭터,이팩트, 등등 여러 분야 있고
프로그래밍도 크게는 클라이언트, 서버 나누어지 고 그 안에서도 엔진, 컨텐츠, 네트워크, db 등등 나누어지고요
큰 회사 및 제대로 시스템 굴려 가는 회사일수록 분업화가 잘 되어있고 잘되어있는 곳일수록 세부 분업화에 따라 역할이 분산되고 아닐 수록 멀티포지션을 맡게 되는건데 1인개발자는 말그대로 혼자 다하는거라 전체 다 해야하느거라 따로 부르는거 없이 그냥 1인 개발자라고 불려요(부족한 부분 배워서 하던 돈으로 사던...)

2. 산수보다는 수학적 사고가 중요한거긴한데 진짜 기본적인 논리 명제 계산이나 일정 범위에서의 이진수 계산들 같은 경우는 제대로 공부할 경우 너무 자주 하다보니까 익숙해져서 어느정도 암산으로 나오는 수준이 되긴 합니다. 다만 이게 그러니까 목표가 게임 개발인지 아님 게임 프로그래머가 목표인지에 따라 해야하는 범위가 좀 달라질 수가 있긴한데요
기본적인 논리력 같은게 되어있다는 가정하에 본다면 수학적 지식은 내가 할수있는 범위를 증가 시켜줍니다. 최적화 부분에서든 숏코딩 부분에서든 2d 구현이나 3d 구현이든...
2d 게임 개발까지야 노가다식으로 할수야 있긴한데 3d부터는 그렇게도 하기 힘들어서
물론 현 시대에서는 쉽게 배워서 쓸 수 있는 엔진들 떄문에 덜하긴 하지만 결국 본인이 아는 지식에 한계에 따른 게임 구현의 자유도나 규모가 정해지게 될 수 있습니다.
게임 개발이 목표라면 개발하면서 공부하고 필요한 부분만 하면 되는거고 프로그래머가 목표라면 계속 공부하셔서 어느정도 바탕은 다지셔야합니다.

3.위에 썼지만 노가다식으로 구현하는걸로도 어느 선까지 게임 개발은 할 수 있습니다 다만 그 이상을 하려면 기반 지식이 있어야하고요 그리고 물리 같은 경우는 내가 구현하려는 것에 따라 필요할수도 아닐 수도 있고요 물리현상이 필요한 요소가 있으면 알아야 구현하겠죠..(사전에 알던 필요할떄 공부해서 하던..)
 

4.이것도 게임 개발이 목표인가 게임 프로그래머로 일 쭉 하려는게 목표인가에 따라 다른데
게임 개발이 목표면 사용하실 엔진에 맞는 언어 공부 하셔서 하시면 되고요
후자라면 이것도 좀 애매한게 있는데 당장 취업해서 게임 개발하려면 그 회사에서 쓰는 언어와 엔진을 다루는 스킬이 일단 1차적으로 필요하죠
그래서 c++& 언리얼 또는 c# & 유니티인데 근데 개발 형태가 또 어떻게 수년뒤 바뀔지 모르고 그리고 더 나은 개발을 하기 위해서는 기반 지식인 컴퓨터 구조, 운영체제 같은거 지식 쌓으셔야하고 c언어 정도는 공부하시는거 추천드려요 언어 사용이 운영체제와 하드웨어에서 어떻게 돌아가는지 확실히 알수록 코딩 할떄도 더 성능 좋은 코드 뽑을 수는 기반이 되기 때문이죠

5.현재 국내에 학원은 1년짜리 밖에 없고요 그리고 버티셔 나오면 확실히 게임 만드는 스킬은 가지고 나오긴하는데 기반 지식은 필요한 수준 살짝 쌓는거 정도 밖에 못 배울거에요
컴퓨터 구조나 운영체제 같은거 깊이 못 들어가고 끽해야 메모리 구조랑 메모리 할당(언어 단위에서) 정도만 배울 가능성 크거든요
물론 일단 게임 만들 수 있는 수준은 되서 취업은 하겠지만 계속 기반 지식 쌓으셔야 할거고요
또는 학원 다니면서 그런 지식 공부 따로 하셔야할거에요.

2~3년 생각하신다면 학원보다 학교나 게임교육원 같은 곳 가셔서 공부하시는것도 괜찮아보입니다
(다만 그럴 경우 학교 공부 시간 외에도 엄청 공부하시면서 본인을 컨트롤 하셔야겠죠)

6. 일반 수학에서 어느정도 기초 되는 부분이 있고 아닌 부분들도 있고 합니다만 한번 큰 서점 가셔서 게임 수학이라고 붙은 서적들 한번씩 보셔서(대부분 어느정도 비슷합니다) 어떤 류의 것들이 게임 수학에 기초로 들어가는지 보시고 그외로 이산수학적인 부분이 기반으로 들어가고요

7. 범위가 광범위해서 뭘 하나로 추천하기 애매하네요..그냥 엔진 사용 및 게임 개발 하는거 원하시면 서점 가셔 그 엔진 관련 서적 보시면서 취향에 맞는거 고르시는게.....
만약 게임 전체적인 개발 흐름을 살짝살짝 맛보고 싶으시면 "게임 프로그래밍의 정석" 이라는 책 추천 드려요. (다만 c++ 어느정도 아셔야해요.....c++ 관련은 온라인상에 하도 많으니 그거보고 공부하시면 될듯하고요...포큐아카데미 추천드리고 싶지만 비싸니 패스)

 

위에 질문 보면서 쓰고 있었는데 밑에 어떤 길을 가고 싶다는 내용이 있었군요..

여튼 그럼 다시 정리하면 게임 개발이 아니라 제대로 실력 쌓은 프로그래머가 되고 싶으신건데..
학교를 가시던 학원을 다니던 독학을 하던 공부해야하는건 결국 같습니다
결국 컴퓨터에서 돌아가는 것을 만드셔야하니까 컴퓨터 구조 공부 하셔야하고요
컴퓨터에서 소프트웨어를 돌아가게 하고 하드웨어 제어를 하는 운영체제 공부하셔야하고
언어단에서 어셈블리어든 C언어든 언어가 어떻게 OS와 HW에서 돌아가는지 확인할 수 있는 언어를 공부하고 그위에 현재 개발의 주 형태인 OOP(객체지향 언어)인 C++이든 C#이든 자바든 공부하시고
소프트웨어라는게 결국 데이터를 다루는것이기 떄문에 자료구조 공부하시고
그 위에 게임 개발에 필요한 그래픽스 라이브러리(opengl이든 direct3d든) 공부하시고
그 뒤에 게임 엔진을 공부하셔서 그걸로 게임 만드시면 됩니다
+ 해결능력을 쌓기 위해 수학, 알고리즘 관련은 꾸준히 공부하셔야하고요

일단 클라이언트 개발자 기준으로 게임 개발이 아닌 확실한 기초 라고 말하려면 이정도는 공부하시고 아셔야한다고 봅니다

그런데 본격적으로 시작 전에 프로그래머가 적성에 맞는지 부터 확인해보시기 바라고요
게임 개발이라는게 프로그래밍 분야만 있는건 아니니까요
answered (33 point)
수정됨

버그 해결을 위해 도움을 구하고, 도움을 주세요. 우리는 그렇게 발전합니다.

throw bug 는 프로그래밍에 대한 전분야를 다룹니다. 질문,논의거리,팁,정보공유 모든 것이 가능합니다. 프로그래밍과 관련이 없는 내용은 환영받지 못합니다.

303 질문
430 answers
419 댓글
844 users