Q.
안녕하세요 28살 신입 클라이언트 준비생입니다. 게임잡에서 좋은 글들도 많이 보고 현업에 계신 많은 분들이 다양한 글에 조언을 해주셔서 저도 고민을 털어놓고자 작성하게 됐습니다.
다름 아니라 저는 3년제 관련 전문대를 졸업하고 어영부영 시간을 버리다 이제서야 열심히 준비중인 취준생입니다. 공부를 하면 할수록 제 자신의 부족함을 느끼게 되고 더 열심히 박차를 가하고 있지만 아무래도 졸업한지 2년이 지나가는 시점이라 점점 초조함과 불안함이 듭니다.
저는 지금 국비학원을 다니고있고 3월에 수료를 앞둔 상태입니다. 국비 학원에서는 제 포트폴리오가 꽤나 높게 평가가 되고 있는 것 같아 기분은 좋지만.. 유튜브나 게임잡 등에 다이렉트x 혹은 언리얼 엔진으로 만들어진 포트폴리오들을 보면 제 자신이 아직 갈길이 멀다 느껴집니다.
제가 지금 준비한 포트폴리오는 유니티로 만들었습니다. 여태까지 C#과 유니티 밖에 다루지 않았습니다..
포트폴리오는 논타겟팅 액션 rpg로 전부 직접 구현하여 일반공격, 스킬, 가드, 패링, OBB충돌, 장비, 능력치, 인벤토리, 조합, 강화, 퀘스트, 상점 등 많은 기능들을 만들어 놓았습니다. 각 기능들은 상용화된 게임에서의 기능들과 비슷하게 구현해 놓았습니다. 모든 정보는 csv 파일 파싱을 하였고 저장되는 캐릭터 정보는 json 파일로 만들었습니다.
모바일 플랫폼이다 보니 성능을 중요시 생각하여 정적 배칭과 라이트맵을 구워놨고 텍스쳐와 머터리얼을 최대한 재사용 하였습니다. 물리 시스템을 전부 빼고 OBB충돌을 구현하여 콜라이더를 사용하지 않았구요.
포트폴리오를 작업하며 많은 공부를 필요할때마다 공부했습니다. 기능이 많아지며 코드가 엉키는것 같아 디자인패턴과 델리게이트를, 데이터를 효율적으로 관리하고자 멀티맵과 딕셔너리, 큐를 사용하며 자료구조를 공부했습니다. 가비지 콜랙터의 발생을 줄이려고 메모리 관리를 공부하며 구조체를 많이 활용했습니다. 인터페이스를 사용하며 객체지향을, OBB충돌을 구현하기 위하여 벡터와 수학을, 버텍스 개념이 나와 그래픽스 이론을 행렬변환 공식을 보면서 공부했습니다.
제가 너무 두서없이 글을 쓴 것 같습니다.. 제 수준이 정확히는 아니지만 제 글을 읽는 분들에게 어느정도다 라는 생각을 드리기 위함이였습니다.
저는 제 스스로가 공부를 하며 정말 끝이 없다는것을 느꼈습니다. 3월에 수료를 앞둔 지금 제가 준비하고 공부한것들이 더욱 부족하게 느껴집니다.. 언리얼도 안다뤄봤고 c++ 도 배우지 않았고.. 코딩 테스트도 본적이 없습니다.. 그냥 어떻게하면 알아보기 쉽게, 클래스들끼리 잘 나뉘어지게, 성능 좋게 만들지 생각하며 필요에 맞춰 공부를 해왔던것 같습니다.
그런데 커뮤니티나 기타 정보들을 보고 들으면 언리얼과 다이렉트 c++ 은 멋져 보이고 부럽고.. 제가 모르는 개념과 용어가 나오면 불안감이 생깁니다.. 얼마나 어떤 공부를 더 해야할지 잘 모르겠습니다. 수료를 하고 다시 1년은 언리얼, c++, 코딩테스트 알고리즘.. 등을 공부하기엔 지금 너무나도 취업이 간절합니다...
질문의 내용이 명확하지가 않습니다.. 그냥 어느 취준생의 불안한 심정을 읽으시고 해주고싶은 조언이 있다면 부탁드리겠습니다. 긴 글 읽어주셔서 감사합니다.
A.
ㅋㅋ
프로그래머스가서 좀 풀어봐용
ㅋㅌㅊㅋㅌㅋㄴㅇㅁ
게임프로그래머에서 C++은 땔래야 땔수없습니다 유니티가 C#을 스크립트용으로 사용한다고 해도 실상 유니티는 C++로 개발되었고, 게임엔진, 타 게임엔진은 C++ 사용이 거의 필수입니다. 일단 조언을 드리자면 프로그래머는 항상 새로운 기술에 대해 준비하고 공부하는 자세가 되어야한다고 생각합니다 그렇지 않은이상 코더 , 외국에선 코드몽키라고하죠.
게임 클라이언트 프로그래머 취업 전략 ( 중대형 회사 기준. 소규모쪽은 따로. ) 주위 경험담을 바탕으로 나름 정리해보았다. 내년에는 트렌드가 어떻게 바뀔지 모른다.
1. 알고리즘 플머로써 기본이 되어있는지 물어보는 느낌이다. 많은 회사들이 관문으로 코딩 테스트를 진행하고 있고 대비하지 않으면 입구컷이다. 문제는 해외 사이트를 이용해 테스트를 진행하니 게임 개발과는 동떨어진 내용이 많다. 잘 나오는 몇 가지 핵심 패턴이 있는데, 개인적으로 취업 시즌 직전에 6개월정도는 꾸준히 해야 하지 않나 싶다.
이를 대비하기 위해 취업자 대상으로 6개월정도 비교과로 특별반을 운영하는 형태를 생각하고 있다. 면접에서는 게임에 특화된 알고리즘을 물어보는 질문도 종종 나온다. A*, QuadTree, BSP정도는 한번 구현해보고 이 알고리즘이 문제를 어떻게 해결해주는지 원리를 파악하면 좋다.
2. 시스템 프로그래밍 클라들이 잘 못 생각하는 점 중 하나는 멀티플랫폼 대응을 게임 엔진이 다 해주다보니, 시스템은 서버 플머의 몫이라고 생각한다는 것이다. 하지만 서비스를 운영하기 위해서는 시스템에 대한 지식이 필수적이라 큰 회사일수록 이쪽 지식을 중요하게 여긴다. 플머들은 시스템 프로그래밍 수업 잘 들어야 한다.
3. 네트워크 프로그래밍 네트워크를 아는 것과 서버 프로그래머로의 능력을 갖추는 것과는 결이 다른 이야기다. 클라도 서비스 관점에서 네트워크와 데이터베이스가 어떻게 동작하는지 이해할 필요가 있다. 다음 학기에는 이러한 목적에 맞게 AWS 기반으로 DB와 연동하는 가벼운 웹사이트 및 관리도구를 만드는 수업을 신설할 예정이다.
4. 게임 수학과 물리 게임 수학은 언제나 질문이 나오는 필수 주제다. 다만 아직은 기본적인 행렬, 벡터의 내적과 외적에 대해 많이 물어본다. 물리도 기본 뉴턴 역학정도는 알아두는게 좋다. 다만 선형대수 개념 탑재 없이 벡터와 스칼라를 크기와 방향, 크기만 있는 물리량으로만 이해하고 있으면 곤란하다. 이 부분은 2학년 1년동안 내 수업만 잘 들으면 된다.
5. 프로그래밍 언어 게임은 C++이 1순위 언어다. C++17 을 기준으로 STL을 다룰 줄 알아야 한다. 다만 처음부터 괜시리 모던 C++ 같은 고급 키워드에 압박받을 필요는 없다. 기본에 충실하자. 가장 먼저는 내가 짜는 코드에 대한 힙과 스택의 레이아웃이 머릿속에 그려져야 한다는 것이다. 그리고 생성자 소멸자 호출 순서, 컴파일 타임과 런타임 관점을 명확하게 파악하는 것이 중요하다. C#은 단골 문제로 박싱/언박싱, 가비지컬렉터등이 있는데 중요하게 알아야 할 개념은 비슷하다. 일단 C++이 우선이다.. 이번 수업 개편에서 C++을 꽤나 비중있게 과목을 추가했고, 내 게임 수학 수업도 다 C++만 사용해 진행한다.
6. 면접 능력이 뛰어나도 면접이 준비안되면 아무 의미 없다. 면접의 준비 요령은 단순하다. 모의 면접을 계속 봐야 한다. 모의 면접을 해보면 자신의 준비 수준을 확인할 수 있다.
7. 프로젝트 프로젝트 관련 내용을 정리하라고 하면 주로 게임 엔진을 다루었던 경험이 주를 이룬다. 그런데 이건 프로젝트의 핵심이 아니다. 프로젝트에서 강조할 점은 프로젝트를 통해 전반적인 게임 제작 프로세스와 타 파트가 하는 업무를 이해하고 프로젝트에서 발생하는 다양한 문제를 슬기롭게 대처한 경험이 있다는 것이다.
그러기 위해서는 문제 해결자로서 팀에 기여한 내용들을 미리미리 챙겨두자. 예를 들어 커뮤니케이션을 위해 노트 정리를 꼼꼼하게 하고 공유한 경험이라던지 프로그래밍 능력을 활용해 제작자 실수에 의한 발생한 문제를 감지하는 이중 시스템을 만든다던지. 등등.. 콘텐츠 제작이나 엔진의 활용보다 프로그래머로써 프로젝트에 기여할 수 있는 꼼꼼한 관리, 효율성 추구에 대한 마인드가 중요하다. ( 그런데 프로젝트 결과물이 아주 우수하면 이야기는 사뭇 달라진다. )
8. 게임 엔진 활용 능력 실무자들은 위의 요소들이 잘 갖춰져 있으면 게임 엔진 활용은 회사에서 알려주면 된다고 생각한다. 대형 프로젝트일수록 게임 엔진을 다루는 체계가 근본부터 다르기 때문에 내가 알던 기존 지식은 다 재조립되기 때문이다. 게임의 비주얼과 기획은 플밍 역량과 큰 상관 관계가 없다보니 플머는 게임 열심히 만들었는데 차포떼면 막상 쓸게 없어서 포폴 내용이 빈약한 경우가 많다. 7번의 관점에서 포폴을 정리하는게 중요하고 프로젝트를 진행하면서 계속 자그만한 시스템들을 만들어나가야 한다.
만일 자신의 게임 엔진 활용 기술을 어필하고 싶다면 에디터 툴 확장에 신경쓰라고 조언한다. 하지만 보통 프로젝트 마일스톤을 처리하는데 워낙 바쁘다보니 확장을 위한 R&D 및 프로젝트 개선은 엄두를 못낸다. 그래도 시간을 더 쪼개서 툴을 활용해 생산성 개산을 끊임 없이 고민한 학생들이 좋은 성과를 거두었다.
정리하면 대부분의 클라 플머들이 7번과 8번을 1순위로 생각하는 경향이 있는데 아쉽게도 요즘 취업 트렌드는 아니다. 하지만 반대로 1~6번에서 특별한 감점이 없다면 7번은 굉장한 어드밴티지가 된다. 8번은 음.. 10년전에는 수요가 많았지만 지금은 8번만으로 어필하기는 어려운 세상이 되었다.
언리얼 책 저자 이득우님께서 조언하신내용입니다.
adsss
포폴 영상을 직접 본 것은 아니지만, 학원을 비롯한 어느 집단에서 인정을 받는다는 것은 작성자님이 괜찮은 방향으로 가고 있으시다는 하나의 근거라고 생각합니다. 포폴이 완성되신 다음에는, cs지식과 지금껏 배워오신 지식들을 정리하셔서 필기 테스트를 준비하시고 프로그래머스 사이트에서 알고리즘 2~3단계 문제들을 풀어보시기를 권해드립니다. 필기 테스트 문제의 경우, 회사마다 제출하는 유형이 많이 다른 점 말씀드립니다. 빠른 시일 내에 취업할 수 있으시길 바랍니다.
321321343
다 그래요 ㅋㅋㅋ 전 취업하고도 부족하다고 느끼고 있어서 혼자 언리얼, 유니티러 게임 만들면서 지내고 있습니당. 알고리즘은 인강을 참조하시거나 알고&자구 책 한권 쭉 읽어보고 나서, 프로그래머스 문제 푸시는걸 추천드립니다. 이진탐색, DFS나 BFS도 모르는데 그냥 막 문제를 풀수는 없자나요? ㅎㅎ \
ㄴㅇㄴㅇㄴㅇ123
포폴로 서류 붙어도 일부회사에서 코테 준비안하시면 입구컷 당합니다 . 저도 준비 안하고 큰기업 코테 2번 떨어지고 코테 폐관수련하고 있습니다. 아무리 빨리 하고싶어도 준비 안되있으면 안되면 안되는거에요
'회사 > 게임잡' 카테고리의 다른 글
신입 클라이언트 프로그래머의 기술소개서 작성법이 궁금합니다 (0) | 2023.08.01 |
---|---|
원래 국비지원 수업은 2시간밖에 안하나요? (0) | 2023.08.01 |
빠르게 취업하는 방법 [본인도 이렇게 했고 N사 취업중] (0) | 2023.08.01 |
[학원] 쌩초보 게임 프로그래밍 지망생의 공부 방향 질문드립니다. (0) | 2023.08.01 |
플머 신입 포폴 평가해주실 분 계신가요? (0) | 2023.08.01 |