• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

이런 걸 만드는 사고능력?

21.11.28 15:32 작성 조회수 233

2

안녕하세요 루키스님! 항상 강의 잘 듣고 있습니다!
 
인벤토리도 벌써 몇번이나 돌려보고 있는데요. 좀 근본적인 궁금증이 있어서 질문을 드립니다..
 
나름 공부는 열심히 하는거 같은데..
 
만약 '인벤토리 시스템을 만들어 봐라!' 라는 문제가 나와서 만들라고 하면 어떻게 해야할지 생각도 안되고 감도 잡히지 않더라구요.
 
인벤토리 말고도 뭐 데이터 테이블을 만들어라..세이브로드 시스템을 만들어라 , 이런 것들.. 사고력이라고 해야할까요?
 
이런게 스스로가 느끼기에 많이 부족한 느낌입니다..
 
물론 근본적으로는 공부가 부족해서 그런거같지만...
 
어떻게해야 이런 사고력이 늘거나 할까요?
 
그저 막무가내식으로 게임을 많이 만들어봐야할지..
아니면 알고리즘을 많이 공부해야하는지..
아니면 기초를 잡고 심도있게 파고들어야 하는지..
아니면 자료구조를 파야하는지..
 
지금 같은 상황에선 뭔가 남의 코드를 복붙 하는 느낌이고 이걸 응용해서 제걸로 만들지 못 하는 느낌입니다..
강의와는 조금 먼 질문이라서 죄송합니다 ㅠㅠ

답변 1

답변을 작성해보세요.

4

네 지극히 정상이시고 다들 그렇습니다.
특히나 상용 엔진은 더더더 그렇구요.
알고리즘 문제는 전혀 아니라서 그쪽을 보실 필요는 없고
코드 응용 문제와 유니티 숙련도 문제입니다.
코드 응용을 잘 하려면 그냥 포폴을 많이 만들어보는 수밖에 없습니다.
학원에서 대부분 프로그래밍 언어를 배우고 포폴을 만들게 하는데
처음엔 정말 막막하고 어떻게 만들까 싶다가도
2~3주 주어지면 수단과 방법을 가리지 않고 다들 구현을 하게 되는데
여기서 경험치가 아주 많이 쌓입니다.
유니티/언리얼 같은 상용엔진의 경우 여기다가 추가적으로
엔진 기능 자체를 몰라서 못 만드는 경우도 생기는데
그건 정말 경험만이 채워줄 수 있는 문제입니다.

제 경우 그냥 시중에 있는 모든 유니티 책을 다 집에다 사놨고
새로운 기능을 만들 때 샘플 코드가 있는지를 먼저 살펴본 다음 작업을 했습니다.
유투브나 구글에도 정보가 많고 그렇게 조금씩 조각들을 모아가다 보면
어느 순간 자유자재로 쉽게 사용할 수 있게 됩니다.

추가적으로 그래픽스 (DX, OpenGL)이 있으시다면
3D 엔진에 적용하기가 더 수월해집니다.
따라서 진지하게 장기적인 안목을 가지고 공부할 때는
유니티/언리얼보다 C++, 그래픽스를 먼저 파는 것을 추천합니다.

sehan님의 프로필

sehan

질문자

2021.11.28

친절하고 상세한 답변 정말 감사합니다!

 

역시 경험치를 채우려면 많이 만들어보는 수밖에 없군요..

언젠가는 저도 루키스님처럼 자유자재로 쉽게 사용할 날이 오면 좋겠습니다..!

 

두가지만 더 질문하고 싶은데요..!

 

1. 제가 혼자 응용한다고 게임을 만들때 보면 알고리즘이나 수학의 경우(거의 알지도 못하지만) 거의 쓸 일이 없는거처럼 느껴졋습니다..물론 제가 아직 부족해서 그런걸수도 있지만, 혹시 생각만큼 게임쪽에서는 알고리즘이 많이 사용되지 않는건가요?

알고리즘과 수학은 꽤 밀접하다고 생각했고 역시 프로그래밍에서도 꽤 중요하게 여겨지는건가 싶었는데..혹시 알고리즘과 수학은 많이 쓰이지 않는지..아예 모르거나 공부할 필요가 없는지 궁금합니다!

 

2.  마지막에 유니티와 언리얼 보다 C++과 그래픽스를 추천하신다고 하셨는데요!

지금은 제가 유니티 공부중이라 C#을 처음으로 프로그래밍 공부를 하고 있긴한데, C++과 그래픽스를 콕 집어서 추천해주신 이유를 좀 더 알 수 있을까요?
C# 보다 C++이 많이 쓰인다던지..그래픽스는 지금 처음 알았지만, 뭔가 굉장히 중요하다던지..?

1.
막상 실무에 가면 딱히 복잡한 알고리즘을 사용할 일이 '자주는' 없습니다.
그럼에도 구글 등 대기업에서 알고리즘을 중요하게 보는 이유는
기본기가 튼튼한 인재를 선호하기 때문입니다.
알고리즘 쓸 일이 없는거랑, 못하는거랑은 아주 큰 차이죠.
가령 디아블로 시리즈처럼 랜덤하게 재생되는 맵을 연구하고자 하는데,
자료구조&알고리즘이 없는 학원 속성 프로그래머는 당연히 시켜도 못 만들 확률이 높고,
기초가 탄탄한 사람은 기간을 주고 논문을 보게 하면서 연구를 시키면 뭔가를 만들 수 있겠죠.

2.
C++은 게임 프로그래머의 기본 소양입니다.
C#만 하는 사람은 C++에 적응을 못하지만,
반대로 C++하는 사람은 C#에 금방 적응을 합니다.
이 때문에 중견 이상의 회사에서는 C#만 하는 사람은 선호하지 않습니다.
프로젝트가 언제 엎어지고 언리얼이나 다른 기술 스택으로 옮겨갈지 모르는데
한계가 있는 사람은 아무래도 애매하겠죠.
클라 프로그래머 입장에서 그래픽스를 공부해두면
3d 물체가 그려지는 원리를 이해할 수 있기 때문에
상용엔진에도 금방 적응할 수 있게 됩니다.

sehan님의 프로필

sehan

질문자

2021.11.28

답변 정말 감사합니다!
큰 도움이 된 것 같습니다!