예전에 패스트캠퍼스 오프라인으로 영상 처리 강의를 듣고 좋은 기억이 있어서 그 이후로는 패스트캠퍼스 강의를 지속 주시하고 있었다. 그러다 이번에 유니티 관련 업무를 진행하게 되어 겸사겸사 교육 수강을 했는데 왜인걸 환급 챌린지 과정!! 와우 ^^*~ 겸사겸사 정리할겸 기록도 남길 겸 미션 시작합니다.

 

올인원 패키지 : 유니티 포트폴리오 완성 100% 환급 챌린지 1회차 미션입니다.

 

처음 강의는 기술 면접 대비 알아두면 좋을 내용이라고 설명을 하면서 시작해 주셨습니다.

그런데 들어보니 꼭 면접은 아니더라도 전반적으로 알아두면 좋을 내용들이 많네요.

그래서 꼼꼼히 듣기 시작하였습니다.

 

 

01. 콘텐츠 프로그래머 채용 면접에 꼭 나오는 핵심 개념

우선 기술면접 보기전에 알아두면 좋을 것들에 대해 상세히 설명해주시는데요.

 


기술 면접을 준비하는 방법입니다. ㅎㅎ
열정 -> 코딩 -> 스펙 -> 경험

우선 열정! 하고자 하는 Passion이 강해야 끝까지 밀고 나갈 수 있겠지요.

 

이건 참 좋은 내용입니다. 그냥 아무 생각없이 만드는 것이 아니라 준비를 하자는 것입니다.
포트폴리오든 인디게임 출시 경험이든, 게임회사인턴 생활을 해보는 방법도 있겠지요.

저는 인턴은 어려운 나이라 ㅋㅋ 포트폴리오 및 인디게임 출시 경험을 목표로 하고 있습니다.

꼭 알아야할 가장 중요한 핵심도 설명을 해주십니다.
1. Unity란 무엇인지
2. JSON은 꼭 사용하자.
3. 다국어 처리 방법을 알자.
4. 유니티 툴. 이미 만들어진 툴은 많은 경험이 있는가? 혹은 직접 개발해서 다루어 본 툴은 있는가? 어떤 때에 적용해 보았는가?
5. 가비지 컬렉터.

 


Unity? 유니티를 아는가? 라는 질문이라기 보다는 내포된 핵심 용어 등을 잘 이해하고 있느냐는 개념입니다.
GameObject? Prefab? Component? 이러한 개념들을 어설프게 아니라 정확하게 알고 넘어가야 뼈가 되고 살이 된다는 것이지요.

 

 

JSON은 이제는 정말 중요한 개념인 것 같습니다.

사실 예전에 DataManager라는 비슷한 개념의 클래스를 어설프게 만들어 쓰면서 좋아했었는데.. ㅋㅋ 부끄럽네요. 그때 JSON을 알았더라면 바로 적용했을텐데 말이죠. ㅎㅎ
JSON은 텍스트 묶음 구조체로서 뷰어등을 통해 봐야 좀 깔끔하게 볼 수 있습니다.

텍스트 묶음의 객체화 또는 객체의 텍스트 묶음화 등이 가능합니다.

예전 서버-클라이언트 개발 방식은 서버에서 DATA(id, name, bonus) 등을 구성하고 서버에서 id, name, bonus 개별적 처리하고 클라이언트에서도 전체 문자열을 받아서 id, name, bonus를 Parsing하여 개별 할당하는 처리 방식이었는데, 문제는 개발을 해나아가면서 서버나 클라이언트에서 데이터 구조를 변경하는 경우가 자주 발생하게 되는데 그때마다 서로 맞추어 각각 변경해야 하는 경우가 다반사였습니다.

JSON을 쓰면 DATA 구조를 바로 오브젝트화 가능하기 때문에 안정적이고 빠른 개발이 가능해진다는 것이 장점입니다.

JSON과 더불어 XML도 비슷한 개념으로 같이 공부해두면 좋습니다.

JSON의 단점은 데이터의 크기가 많아지고 복잡해지면 부하가 좀 발생하게되어 느려진다는 점.

JSON 짤 쓰는 방법은
1) Serializable한 데이터 클래스.
2) Key의 이름을 잘 지어야 한다는 것.
3) 클래스 크기가 너무 길지 않게.. 또는 쪼개서.
4) 유지보수를 위해 버전 추가.

 


다국어를 다루는 크게 2가지 방법이 있는데 Text Localization과 Image Localization 입니다.

Text 로컬라이제이션은 예전에는 모든 언어를 들고 있어 무겁고 버그가 많았었는데요.
현재는 사용하는 언어만 들고 있도록 처리하여 무겁지 않도록 처리합니다.
사용중인 언어만 다운로드하고 기존 언어는 제거하는 방식인거죠.

이미지는 로컬라이제이션을 하지 않는 것이 좋습니다.
특수하게 타이틀 이미지 같은 경우가 있다면.. 그런정도만.. 특수하게.. 하지만 왠만하면 하지않아야 좋은 것이죠..



유니티 툴.. 이건 핵심이죠.. 몇십년전 단순 게임을 만들때에도 맵툴. 텍스트툴 등을 만들어서 사용했었습니다.

개발자가 직접 코드만으로 모든 처리를 한다는 것은 어렵고 힘도 부칩니다. 툴은 필수 ㅎㅎ
각종 테스트를 위한 툴이라던가.. UI를 구성하기 편하게 하기 위한 툴이라던가..
매번 빌드하여 하지 않고, 테스트하는 사람은 쉽게 여러가지 상황을 직접 확인할 수 있겠지요.

툴의 단점은.. 지속 툴 개발을 유지보수해야 하는 상황이 발생한다는 점.
실무에서는 엑셀로 때려박고 부르는 툴 형태가 되어가는 형태가 많다고 하시네요.. ㅎㅎ 그러지말자.. 고 하십니다.

Unity Tool의 UI를 구성하는 것이 편하지는 않지만 조금 번거롭지만.. 한번 UI 작성하면 많이 수정하진 않으므로 괜찮다고 합니다. 단순한 형태의 UI로 구성해서 만드는 것이 좋겠지요.



가비지 컬렉터? 쓰레기 모으기인데.. GC라고 자동으로 메모리 관리를 한다는 것입니다. 쓰레기 메모리를 알아서 삭제하며 관리하는 것이지요. 이것도 예전에는 버그도 많고 무겁고 그랬는데..
.Net 버전에 따라 GC 동작도 많이 다르고 많이 변했다고 합니다. 그래서 최신 .Net 기준으로 준비해야 합니다.

와우.. 1시간이 금방 가네요 ^^~

설명 정말 친절하게 꼼꼼하게 잘 해주십니다. ㅎㅎ

 

패스트 캠퍼스 - 올인원 패키지 : 유니티 포트폴리오 완성 bit.ly/2R561g0

 

유니티 게임 포트폴리오 완성 올인원 패키지 Online. | 패스트캠퍼스

게임 콘텐츠 프로그래머로 취업하고 싶다면, 포트폴리오 완성은 필수! '디아블로'와 '배틀그라운드' 게임을 따라 만들어 보며, 프로그래머 면접에 나오는 핵심 개념까지 모두 잡아 보세요!

www.fastcampus.co.kr

 

 

+ Recent posts