자기 교육 게임 개발의 위험은 무엇입니까? [닫은]


58

게임 개발로의 여행을 시작하려고합니다. 마지막 질문에 대한 대답에 따라 C #과 XNA를 사용합니다.

그러나 나는 다른 게임 개발자를 개인적으로 알지 못하며 업계에서 일하지 않으므로 자발적으로 배울 수 있습니다. 이것에 대한 예외는 분명히 질문을하고 온라인 / 인쇄 된 정보를 읽는 것입니다. 그러나 나는 이것을 여전히 독학으로 분류합니다.

이를 통해 누군가 나를 "날개 아래로 유지"시키지 않아도 됨으로써 발생할 수있는 문제에 대비하고 싶습니다.

비유로, 기타를 연주하기 위해 스스로를 가르 칠 때, 나는 나중에 배운 화음으로 옮기는 것이 더 어려운 방식으로 A 메이저 화음을 연주했습니다.

배운 교훈과 게임 개발 학습에서 무엇이 잘못 될 수 있는지에 대한 조언을 공유 할 수 있다면 감사하겠습니다.

실수를하는 것이 학습의 가장 큰 부분이라는 것을 잘 알고 있지만 실수가 있다면 준비 할 수 있습니다.


공유 수업 문제는 질문을 개방형으로 바꾸고 무효화하여 닫힐 수 있습니다.
Gustavo Maciel

그건 좋은 지적이야. 모든 방문자에게 종합적인 답변을받을 계획입니다.
Ste

Ste, 새로운 답변이 더 좋다고 생각되면 체크 표시를 다른 답변으로 옮길 수 있습니다 . 구스타보에 대한 나의 사과는 그에게 비용을 청구하지 않고 :) 그러나 이러한 사이트의 요점과 투표 및 확인 표시 는 질문에 대한 최상의 답변을 강조 하는 것입니다. 당신이 위대한 비록 또한, 답변을 받아, 그 일을 받아 들일 필요는 없습니다 빨리 , 시간을 당신의 게시 질문 후 약간 곧 -. 나는 보통 대답을 받아들이 기 전에 적어도 하루 이상을 기다립니다. 무엇이 나타나는지보십시오.
Cyclops

@ Cyclops-예, 질문이 그렇게 인기있는 것으로 기대하지 않았습니다. 다음 주에 다시 검토하겠습니다. 지금까지 큰 답변을 주셔서 감사합니다.
Ste

모든 위대한 답변에 감사드립니다. 승인 된 답변을 가장 많이 찬성 한 답변으로 옮겼습니다. 커뮤니티 의견을 반영하기 위해이 작업을 수행했습니다. @Gustavo
Ste

답변:


54

게임 개발은 구조 공학과 같습니다

기능에 대한 최소 요구 사항이 있습니다. 최소 요구 사항은 매우 까다 롭지 않으며 많은 사람들이이를 충족시키는 방법을 배울 수 있습니다. 그것이 기능 부분입니다. 작은 부분입니다. 여기서 사용할 언어, 개발 플랫폼 또는 사용할 라이브러리에 대한 결정이 내려집니다.

다음 부분은 큰 부분입니다. 형태의 일부입니다. 형식은 좋은 게임과 좋은 게임을 실제로 구별하는 것입니다. 이것이 게임 개발 의 기술인 부분입니다 . 나는 감각 자산 (그래픽, 사운드 등)에 대해서만 이야기하는 것이 아닙니다. 나는 경험을 만드는 것에 대해 이야기하고 있습니다. 어려운 부분입니다.

함수 부분은 튜토리얼, 라이브러리 및 약간의 시간에서 나옵니다. 누구나 할 수 있습니다.

양식 부분은 당신에게서 온다. 처음부터 게임을 만들고 싶었던 것은 열정입니다. 그것은 이야기, 구성 이야기 (또는 당신이 꾸미는 실제 이야기)를 말하는 것과 같습니다. 이야기를 많이하면할수록 더 좋아집니다. 소프트웨어 개발에서는이를 반복이라고합니다. 당신의 이야기는 당신의 코드입니다. 당신이 그것을 처음 말할 때, 그것은 좋지 않을 것입니다. 물건이 제자리에 없을 것입니다.이 비트가 거기에 있어야한다는 것을 알 수 있습니다. 이런 식으로 배열 하거나이 비트에서 확장하면 상황이 더 잘 흐를 것입니다. 따라서 좋은 이야기처럼, 이야기를하고, 그것이 얼마나 좋은지 측정 한 다음 수정하십시오. 헌신과 시간이 걸립니다. 가장 먼저 생산하는 것이 금이 아니라면 걱정하지 마십시오. 나는 게임의 많은 부분에서 오랫동안 열심히 노력하여 많은 것을 생각했기 때문에 나중에 찢어 버렸 습니다.더 나은 방법입니다. 걱정하지 마십시오. 학습 과정의 모든 부분입니다. 당신은 항상 당신의 실수로부터 배우고, 종종 그 실수를하는 것이 더 나은 일을하게하는 원인이됩니다.

따라서 이것을 제거 해야하는 것은 다음과 같습니다.

  • 테스트를 자주하십시오.
  • 지금이 기능을 따라 잡지 마십시오. 최적화 나 장기적으로 가장 적합한 라이브러리에 대해 걱정하지 않아도됩니다. 최소한의 기능을 얻은 다음 반복하십시오.
  • 기능이 완료되면 축하합니다.
  • 선크림을 바르다
  • 이것은 개발하는 데 시간이 걸리는 기술입니다. 악기를 배우는 것만으로도 다르지 않습니다. 더 나아질 것입니다.
  • 당신이 무엇을 위해 있는지, 창조의 기쁨을 기억하십시오! 일이 지루해지면 다른 것으로 전환하십시오 (개발 시간을 단축시키기 위해 게임 걸림을 시험해보십시오). 그러나 힘들 기 때문에 끝내지 마십시오.
  • SE의 게임 개발 커뮤니티는 훌륭합니다. 필요한 모든 것을 여기에서 찾을 수 있습니다. 질문을 게시하거나 채팅에 참여하고 아이디어를 토론 할 수 있습니다.

인터넷은 블로그 게시물, 튜토리얼 및 이와 같은 커뮤니티의 정보로 가득합니다. 총체적으로, 나는 그것이 꽤 좋은 날개라고 말합니다. 기본적으로 위험은 심각하지 않습니다. 당신은 일을 "잘못"또는 어려운 방법으로 할 수도 있지만 결국 배우게 될 것입니다. 프로그래밍 경험이 많기 때문에 함수 부분을 빨리 선택할 것입니다. 게임 개발과 "정규"개발에서의 실수는 많이 겹칩니다. 귀하의 경험은 새로운 게임 개발자가 겪는 많은 일반적인 문제를 피하는 데 도움이됩니다. 난 당신이 잘 할 것 같아요. 행운을 빕니다.


6
awesomeness에 대한 +1, 내 게시물에서 누락 된 모든 내용은 여기에서 찾을 수 있습니다 : D
Gustavo Maciel

1
"선 스크린 착용"그게 무슨 뜻입니까? 관용구 "선 스크린 착용"?
Lukasz Madon

4
Mary Schmich의 "Wear Sunscreen" 기사를 기반으로 한 농담 입니다. 기본적으로, "선 스크린의 장기적인 이점은 과학자들에 의해 입증 된 반면, 나머지 조언은 저의 구불 구불 한 경험보다 더 신뢰할만한 근거가 없습니다." 아마도이 노래 의 형태로 더 널리 알려져있을 것입니다 .
MichaelHouse

4
글쎄, 선 스크린이 실제로 그렇게 좋은 것은 아닙니다 2 . 실내에 머물면서 프로그래밍을 계속하십시오.
bobobobo

28

그렇습니다. 전에해야 할 일, 해결 방법 등을 말하지 않은 사람이없는 것이 가장 나쁜 일입니다. 그러나 두려움은 없습니다! 당신은 여전히 ​​거기에있는 사람들의 블로그를 많이 읽을 수 있으며, 업계에서 경험을 공유하고, 성공한 방법, 이전 게임이 실패한 방법 및 이유 등을 공유 할 수 있습니다.

좋은 예는 다음과 같습니다.

그리고 더 많이!

마지막 말은 : 두려워하지 마십시오. 나는 4 년 동안 게임 개발자를 소개 받았으며 많은 장벽이 생겼지 만 인터넷 검색을 통해 텍스트를 읽을 수없는 것은 아무것도 없습니다. 당신의 여행에 행운을 빕니다 :)


3
또한 전문가들조차도이 문제를 자주 겪고 있습니다. 배울 수있는 한 Google은 거의 모든 것을 알아낼 수 있습니다.
ashes999

2Dboy를 연결 한 것이 이상합니다. 내가 아는 한, 그들은 지난 몇 년 동안 존재했던 모든 플랫폼에 대해 World of Goo 포트를 제외한 몇 가지 작업을 수행했습니다. gamedev와 관련된 내용을 읽은 지 오래되었습니다.
TravisG

@TravisG release게임 프로세스는 결국 게임 개발과 관련이 없습니다. 어쨌든 잘 읽습니다. 블로그를 따르지 않기 위해 링크를 참조로 더 게시했습니다. D : 당신이 아카이브에 돌아 가면, 몇 가지 프로토 타입의 예와 끈적 거리는 및 기타 "적은 작은"프로토 타입의 세계로 도움이 모든있다
구스타보 마시 엘

18

이 태도. 이것은 "완벽하게하는 방법을 알기 전까지는 손대지 마십시오"라는 태도입니다. 정말 당신을 막을 것입니다.

당신은 게임뿐만 아니라 모든 종류의 초기 개발자들 사이 에서이 태도를 봅니다. 웹 사이트도 마찬가지입니다. 이봐, 웹 사이트는 HTML 프론트 엔드와 자바 스크립트가있는 데이터베이스입니다. 당신은 당신이 할 수있는 방법으로 기술을 배우고, 당신은 첫 번째 사이트를 합칩니다. 환상적 이지는 않지만 차선책으로 일을 한 후에 는 큰 괴물이 아닙니다 ! 처음부터 "먼 길"을하면 두 번째로 항상 더 잘할 수 있습니다. 내 요점은 위험이 없다는 것입니다. 아마도 이런 태도를 제외하고. 이 태도는 당신이 무언가를 만드는 것을 막을 것 입니다. 당신은 항상 과제에 착수하고 "나는 아직 어떻게해야할지 모르겠습니다."라고 말할 것이기 때문입니다.

일을하는 "올바른 방법"이 있다는 태도. 없습니다. 상황이 그대로입니다. 화면에 픽셀을 넣고 상황이 발생하면 소리를 내야합니다.


3
그렇습니다. 이것은 여전히 ​​저를 많이지지합니다. 어떻게 든 동의하지는 않지만, 더 많은 "올바른 방법"과 더 많은 "잘못된 방법"이라는 용어가 있지만 완벽주의와 분석 마비는 확실히 문제가 될 수 있습니다. 좋은 답변입니다!
Petr Abdulin

6

나중에 당신이 이것을 당신의 직업으로 만들고 싶은지 아닌지에 따라 (나는 단지 당신이 그것에 대해 생각하고 있다고 가정 할 것입니다.)

  1. 작은 시작

이전에 언급되었지만 다시 말하겠습니다. 작은 비트부터 시작하여 엔진, 프레임 워크, 도구 또는 프로그램에 익숙해 지십시오. 당신이 기본을 내려 놓으면-> 더 커집니다.

  1. 모든 것을 배우십시오

이것은 약간 극단적 인 것처럼 보일 수 있지만, 코닥, 아티스트 또는 디자이너 여부에 관계없이 게임 개발의 모든 측면에 대해 가능한 한 많이 배우는 것입니다. 파이프 라인을 아는 것이 가장 효율적인 방법으로 물건을 만드는 데 중요합니다. 무기를 구현하는 경우-> 디자인하고, 개념화하고, 모델링하고, 구현하고, 코딩하십시오! A 급 아티스트, 디자이너 및 파이프 라인 대단 할 필요는 없지만 프로세스의 모든 도구에 익숙하고 제작의 각 단계를 이해해야합니다. 또한 게임 웹 사이트에서 비즈니스 관련 뉴스와 업데이트를 확인하십시오-gamasutra.com, kotaku 등은 비즈니스 및 기술 주제 모두에 관한 훌륭한 기사를 보유하고 있습니다. 하나의 개발 분야로 자신을 제한하지 마십시오. 얻을 수있는 모든 지식을 흡수하십시오. :)

  1. 자주 실패하고 열심히 실패하십시오.

당신은 당신이하고있는 일을 빨아 들일 것입니다. 처음에. 항상 그렇습니다 (나를 믿습니다, 나는 알고 있습니다 : D). 그러나 계속 진행하고 더 나은 방법으로 작업을 개선하지 않으면 더 나아질 것입니다. 인터넷은 튜토리얼, 참조 및 도움말을 제공하는 훌륭한 소스입니다. 당신은 진정으로 고착되지 않을 것입니다. 그래서 가장 열악한 아이디어에 착수하고, 실패하고, 실수로부터 배우고, 그 과정에서 더 나쁘게됩니다.

  1. 사람들과 대화하십시오!

인터넷은 훌륭한 소스이지만 대면 피드백을받는 것은 ALOT 작업에서 다루어야 할 일입니다. 따라서 소프트 기술을 향상시키는 것도 중요합니다. 아직 멘토가 없거나 일반적으로 업계에서 일하는 사람들이 너무 많지 않다면 해당 지역을 둘러보고 인디 개발자 모임을 찾고 컨벤션으로 이동 한 다음 다른 이벤트를 확인해야합니다. 개인 지식과 연락처 네트워크. 또한 다른 사람들과 무언가를 구축하는 데 도움이됩니다. 자습은 훌륭하지만 게임 개발은 팀 기반 게임이므로 취미 프로젝트의 포럼을 확인하십시오 (예 : UDK 프로젝트를위한 Epic 포럼, Unity 포럼 또는 CryEngine 포럼) 세 엔진 모두 널리 퍼져 있고, 사이드 프로젝트를 수행하는 재능있는 사람들이 많이 있습니다.

나는 그것이 내가 줄 수있는 모든 조언이라고 생각한다. 나는 이것이 어떤 식 으로든 당신을 도왔기를 바랍니다 :)


모든 포인트가 매우 중요하므로이 목록에서 1 위입니다! :)
bobobobo

3

나는 C #과 XNA 경험이 전혀 없지만 다음 진술에서 나에게 잘못되지는 않는다고 생각합니다.

교사없이 프로그래밍을 배우는 것은 완벽합니다. 코드가 작동하면 실제로 어떻게 코딩되었는지는 중요하지 않습니다. 음, 그것은 공동 프로그래밍을위한 것이지만, 당신은 더 이상 혼자서 코딩하지 않을 것입니다. 또한 나중에 코드를 읽기 어려워서 오래된 구성 요소를 사용하거나 새로운 오류를 디버그하기가 어려울 수 있지만 장기적으로는 모든 실수가 강점입니다. OOP 및 MVC 설계를 배우는 데있어 가장 어려운 점은 왜 "그런 식으로"이 작업을 수행해야하는지 이해하는 것입니다. 이미 나쁜 프로그램을 만든 경험이 있다면 패턴의 강점을 알고이를 유리하게 활용할 것입니다. 누군가가 가르쳐 준 패턴에 따라 항상 좋은 프로그램을 만들었다면 계속해서 유효한 코드의 의미에서 좋은 프로그램을 만들게됩니다. 그러나 패턴을 활용하는 대신 유용한 수정을하기에 충분한 패턴을 이해하지 못하므로 패턴에 제한을받습니다. 결국, 어떻게 연습하지 않고 연습하는 것이 가장 중요하므로 두 경우 모두 조만간 비슷한 경험을하게 될 것입니다.

* 한가지 중요합니다! 보안의 경우 보안 허점이 오류 경고를 표시하지 않기 때문에 실제로 코드를 잘 작성했는지 경험이있는 사람에게 문의해야합니다.


3

어떻게 든 이것은 좋은 질문입니다! :-)

얼마 전까지 만해도 gamedev 활동을 시작했으며, 두 번째가 될 것이므로 생각을 공유 할 수 있습니다. 당신은 실제로 멘토를 갖는 것이 좋은 일에 대해 옳습니다. 이 멘토는 인터넷이 될 것입니다. 따라서 인터넷에서 더 많은 정보를 공유할수록 배우기가 더 쉬워집니다. 그렇기 때문에 XNA / C #이 탁월한 선택입니다. 기사와 웹을 공유하는 아마추어 및 전문 인디 게임 개발자가 많이 있습니다. 언급 할 다른 것들 :

  1. 오픈 소스로 가십시오! Codeplex, GitHub, Google. 코드, 비트 버킷 거기에는 많은 귀중한 것들이 있습니다.
  2. 커뮤니티에 가십시오! 당신은 여기 있으며 좋은 것입니다. 또한 좋은 공식적인 것들을 갖춘 대규모 Microsoft XNA 커뮤니티도 있습니다. Codeproject 는 좋은 리소스입니다 (그러나 gamedev 활동은 다소 적습니다).
  3. 아마 많이 읽거나 필요가있을 것입니다 . 이전에 이미 언급했습니다. 게임 개발은 코딩 만이 아닙니다. 게임 디자인도 중요합니다. 열정이 중요합니다.
  4. 평소와 같이 한 번에 많이 물지 않으려 고 자신의 테트리스 또는 브레이크 아웃 사본을 작성하는 것이 실제로 좋습니다.
  5. 시작하기 어려울 수 있습니다. 게임 개발은 실제로 어려울뿐만 아니라 "엔터프라이즈"앱과는 매우 다릅니다. 새로운 측면, Grapics, 사운드 등이 많이 있습니다. 많이 갈수록 평소처럼 더 쉽게 얻을 수 있습니다.
  6. 블로그를 작성하십시오. 개발 과정을 표현하고 (이 과정에서 자신의 질문에 대한 답변을 찾을 수 있음) 귀중한 기사에 대한 주석이 포함 된 링크를 저장하십시오.
  7. 코드가 지금까지 본 것 중 최악이라고 생각하지 마십시오. 게임 코드는 제어하기가 어렵고, 항상 "엔터프라이즈"코드를 사용하는 사람에게는 다소 더럽습니다. 그러나 인디 게임에서 성공한 끔찍한 창작물 (소스 코드 품질 및 게임 구성 측면)을 보았습니다. 따라서 자신을 가혹하게하지 마십시오. 처음에.

1

이는 창조적 산업과 관련된 모든 분야에 적용됩니다.

가장 큰 위험은 게이트에서 '너무 크거나'서사적 인 것을 만들려고하는 것입니다.

예를 들어, 어떤 음악을 만들기 시작하면 50 곡 2 시간 교향곡을 만드는 것으로 시작하지 않을 것입니다.

레벨 디자인에서 이것은 '가장 큰지도'를 만들려고하거나 게임 시스템이 게임 엔진이 처리 할 수있는 가장 복잡한 것을 만들기 위해 사용하는 것으로 나타납니다. 프로그래밍에서 이것은 소스 코드없이 시작하여 '자신이 전체 게임을 만드는 것'에 빠질 수 있습니다. 제로 소스로 시작하려면 많은 경험과 징계가 필요하며, 심지어는 매우 어려우며 모든 것에 대해 디자인 결정을 내리는 것은 모든 디자인을 수행하는 동안 항상 어렵습니다. 단순한 게임조차도 현대의 OS와 언어로 상당히 많은 양의 프로그래밍이 필요합니다. 또한 다른 사람의 코드로 시작하면 작동하는 것과 작동하지 않는 것을 배울 수 있으므로 가능한 많은 엔진을 사용하는 것도 큰 장점입니다.

처음부터 다음과 같은 계획을 추천합니다.

  • 레벨 디자인 : 작은 방을 짓고 반 건물을 짓고 전체 건물을 짓습니다.
  • 예술 : 골격 또는 모프 메쉬에 들어가서 zbrush로 애니메이션 또는 페인트하는 방법을 파악하기 전에 TF2 또는 유사하게 간단하거나 Skyrim 또는 다른 바이트 크기 작업을 시작하기위한 텍스처 대체를 시작하십시오.
  • 프로그래밍 : 기존의 수정 가능 또는 오픈 소스 게임 엔진을 가져 와서 그 일부 (무기 등)를 수정 한 다음 새 무기를 만듭니다. 게임 플레이 코드가 마음에 들지 않으면 그래픽 엔진에서 해킹을 시작할 수 있습니다.

가장 좋은 방법은 기존의 완성 된 엔진 (수정 가능한 엔진 또는 일부 오픈 소스 엔진)을 가져와 해킹을 시작하고 원하는 엔진을 찾을 때까지 여러 다른 엔진에 몇 번 수행하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.