BurningCarrot 버닝캐럿
@burningcarrot
시니어 (9년 이상)·
게임 클라이언트 개발자
북미 AAA 게임 스튜디오
수강생
1,124
수강평
65
강의 평점
5.0
멘토링 신청
-
멘토링 리뷰
-
멘토링 평점
-
(현) 캐나다 AAA 게임 스튜디오 U사 게임 프로그래머
- 크로스플랫폼 온라인 멀티플레이어 FPS 게임 프로젝트 참여
- PC/콘솔 AAA 액션 어드벤처 게임 프로젝트 참여
(전) 국내 게임사 N사 서버 프로그래머
- 언리얼 MMORPG 게임 프로젝트 참여
(전) 국내 게임사 N사 클라이언트 프로그래머
- 언리얼 MMORPG 게임 프로젝트 참여
(전) 국내 게임사 N사 클라이언트 프로그래머
- 유니티 캐주얼/미드코어 게임 프로젝트 참여
(전) 국내 대기업 S그룹 소프트웨어 엔지니어
- S그룹 계열사 전산 시스템 프로젝트 참여
안녕하세요. 게임 개발자 BurningCarrot 버닝캐럿입니다.
게임을 개발하는 사람이 되고 싶다는 마음으로 대기업을 퇴사한 후,
국내 여러 게임 회사를 거쳐 현재는 해외 게임 스튜디오에서 일하고 있습니다.
계속하여 업계에 몸담고 있는 만큼, 현업에서 사용하는
실전 노하우와 기법을 최대한 공유 드리고자 합니다.
여러분과 같이 게임을 좋아하고 만드는 한 사람으로서,
제 강의를 수강 하시는 모든 분들이 각자의 목표에
한걸음 더 다가갈 수 있는 유익한 시간이 되었으면 좋겠습니다.
📩 문의 | burningcarrotstudio@gmail.com
소개
안녕하세요. 게임 개발자 BurningCarrot 버닝캐럿입니다.
저는 국내 여러 게임 회사에서 일했고, 국내에서 바로 해외 취업에 성공하여 현재는 해외 게임 스튜디오에서 일하고 있습니다. 국내외를 가리지 않고 수많은 면접을 본 경험이 저의 가장 큰 자산입니다.
본 멘토링은 게임 프로그래머 국내 취업·이직을 목표로 하는 지원자를 대상으로 자소서·이력서·포트폴리오를 리뷰하고 면접 대비 및 향후 커리어패스를 종합적으로 점검하는 프로그램입니다. 클라이언트 프로그래머와 서버 프로그래머 두 직무 모두 멘토링 신청이 가능합니다.
이력
(현) 캐나다 AAA 게임 스튜디오 U사 게임 프로그래머
- 크로스플랫폼 온라인 멀티플레이어 FPS 게임 프로젝트 참여
- PC/콘솔 AAA 액션 어드벤처 게임 프로젝트 참여
(전) 국내 게임사 N사 서버 프로그래머
- 언리얼 MMORPG 게임 프로젝트 참여
(전) 국내 게임사 N사 클라이언트 프로그래머
- 언리얼 MMORPG 게임 프로젝트 참여
(전) 국내 게임사 N사 클라이언트 프로그래머
- 유니티 캐주얼/미드코어 게임 프로젝트 참여
(전) 국내 대기업 S그룹 소프트웨어 엔지니어
- S그룹 계열사 전산 시스템 프로젝트 참여
진행 방식
- 디스코드 서버를 통해 온라인으로 진행합니다(화면 공유와 음성으로 진행하고 카메라는 사용하지 않습니다).
- Pt.1 진행(1시간) -> 15분 휴식 -> Pt.2 진행(1시간)
- 멘토링 스케줄은 주말을 선호하는 편이나 요일과 시간은 유연하게 협의 가능합니다.
구성
1. 이력서 첨삭 및 개선
- 이력서의 내용 및 구성이 채용 직무 관점에서 명확하고 매력적인지 점검합니다.
- 멘티의 과거 회사 및 프로젝트에서의 역할과 작업 내용이 명료하게 정리되어 있는지 검토 및 개선합니다.
2. 자기소개서 첨삭
- 멘토가 제공하는 자기소개서 항목을 지원자가 미리 작성하여 제출하고 멘토는 멘토링 전에 사전 첨삭을 진행합니다.
- 실제 멘토링 시 각 문항의 출제 의도와 면접관의 입맛에 맞게 내용이 작성되었는지 리뷰하고 어떻게 개선하면 좋을지 알려드립니다.
3. 포트폴리오 리뷰
- 멘티가 제출한 포트폴리오를 멘토가 사전에 검토합니다.
- 지원 직무와 관련하여 보완하거나 추가하면 좋은 요소에 대해 실제 멘토링에서 구체적으로 피드백합니다.
4. 면접 대비 전략
- 멘티의 이력서에 기술된 프로젝트 경험과 제출한 포트폴리오를 기반으로 면접관이 물어볼 수 있는 예상 질문 리스트를 제시해 드립니다.
- 답이 명확한 기술적 질문 외에 프로젝트 경험이나 연차(주니어,미드레벨,시니어)에 따라 받을 수 있는 질문에 대한 올바른 대응 전략을 알려 드립니다.
5. 커리어 패스 컨설팅
- 모든 지원자는 조금씩 다른 이력을 가지고 있습니다. 누구는 좀 더 좋은 학력과 이력을 누구는 상대적으로 덜 좋은 학력과 이력을 갖고 있을 수 있습니다. 각 멘티의 이력 및 경력 수준을 기준으로 멘티의 단기 목표와 중·장기 목표를 고려한 현실적인 맞춤 커리어 전략을 조언해 드립니다.
6. Q&A
- 취업 및 이직, 커리어 전반에 대해 자유롭게 질의응답합니다.
- 단순한 기술적인 질문(C++, 언리얼 엔진 등)은 받지 않습니다.
- 다만 이러한 기술적인 분야들을 어떻게 학습해 나가야 하는지에 대해서는 질문 가능합니다.
- 해외 취업에 관련한 질문은 받지 않습니다.
멘티가 준비해야 할 것
- 멘토가 준비한 자소서 항목을 사전 작성하여 제출
- 이력서 및 포트폴리오 사전 제출 (제출 형식은 자유)
- 멘토링 중에 멘토에게 하고 싶은 취업·이직 관련 질문 리스트 (제출 X)
강의
수강평
- 게임회사 취업완성 C++: 10년 기출로 한 번에 합격하기 (심화편)
- 게임회사 취업완성 C++: 10년 기출로 한 번에 합격하기 (기본편)
- 유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
- 유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
게시글
질문&답변
UserDataManager 클래스 hasSaveError 처리
안녕하세요! BurningCarrot 버닝캐럿입니다. 문의해 주신 내용에 답변 드립니다.개별적인 유저 데이터 클래스를 보시면 제가 SaveData() 함수에서 에러 처리를 추가로 하고 있음을 확인하실 수 있습니다. hasSaveError가 true가 되면 SaveData() 함수 중 어딘가에서 추가로 에러로그를 출력할 것입니다. 그 로그를 보시면 어디에서 버그가 발생했는지 확인이 가능해집니다. SaveData() 함수에서 에러가 발생할 원인은 PlayerPrefs를 잘못 사용하는 경우 밖에 없으므로 어떤 부분에서 PlayerPrefs를 잘못 사용했는지를 살펴보면 됩니다. (사진)
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 27
질문&답변
제공해주신 자료에 스크립트들이 빠져있습니다
안녕하세요! BurningCarrot 버닝캐럿입니다.확인 감사합니다. 스크립트 추가하여 재업로드해 두었습니다.감사합니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 27
질문&답변
싱글턴패턴
안녕하세요! BurningCarrot 버닝캐럿입니다. 문의해 주신 내용에 답변 드립니다.Init 함수에서 m_Instance가 null이 아니면 왜 gameobject를 Destroy하나요?이 부분은 해당 인스턴스가 이미 존재하는데 씬 전환시 등에서 실수로 개발자가 중복으로 동일한 인스턴스를 생성할 경우 m_Instance가 바뀌지 않도록 하는 처리입니다. 일종의 실수 방지 처리라고 보시면 됩니다. OnDestroy 함수 호출되면 m_Instance 을 null로 만드는데 그럼 문제가 되지않은 객체도 m_Instance가 null이니 사용못하는거 아닌가요?정확한 지적이십니다. 그래서 최종본 자료를 다운로드 받아 보시면 아래처럼 그에 대한 보완 처리가 되어 있는 것을 확인하실 수 있습니다. //삭제 시 추가로 처리해 주어야할 작업을 여기서 처리 protected virtual void Dispose() { if (m_Instance == this) { m_Instance = null; } }
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 31
질문&답변
LobbyUIController의 백키가 사라졌는데 왜그런건가요?
안녕하세요! BurningCarrot 버닝캐럿입니다.확인 감사합니다. 업적 파트에서 업로드해 드린 자료에서 해당 코드가 누락되어 재업로드해 드렸습니다. 소스코드 최종본에는 해당 코드가 살아 있습니다. 참고로 강의를 들으실 때는 소스코드 최종본을 갖고 수강하시는 것을 권장 드립니다.감사합니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 47
질문&답변
무조건 타이틀 씬부터 시작해야하나요?
안녕하세요! BurningCarrot 버닝캐럿입니다. 문의해 주신 내용에 답변 드립니다.네 제 프레임워크는 타이틀 씬부터 시작하여 로비나 인게임(맵 또는 레벨) 씬을 테스트하도록 설계되어 있습니다. 그러나 만약 특정 인게임을 바로 실행하여 테스트가 가능하도록 하고 싶으시면, 싱글턴 인스턴스를 참조할 시 존재하지 않을 경우 그 즉시 인스턴스를 씬에 생성하는 코드를 추가해 주시면 됩니다. SingletonBehaviour.cs에서 Instance 접근 시 제가 주석으로 추가한 부분을 구현해 보시면 됩니다. public static T Instance { get { if (m_Instance == null) { // 프리팹으로 씬에 실제 인스턴스 생성 // 인스턴스에서 T타입 스크립트를 가져와서 m_Instance에 대입 } return m_Instance; } }
- 좋아요수
- 0
- 댓글수
- 1
- 조회수
- 43
질문&답변
BaseUI, UIManager
안녕하세요! BurningCarrot 버닝캐럿입니다. 문의해 주신 내용에 답변 드립니다. BaseUI에서 처리하는 함수 및 기능에 대한 기준이 무엇인가?BaseUI는 각각의 UI팝업 클래스의 최상위 부모 클래스로서 모든 UI팝업에 공통적으로 필요한 기능들을 구현하는 클래스입니다.UIManager에서 처리하는 함수 및 기능에 대한 기준이 무엇인가?UIManager는 여러 UI팝업을 관리하는 클래스로, UI팝업을 열고, 닫고, UI팝업 간의 뎁스(depth)를 관리하고, 한번 생성한 UI팝업 인스턴스를 이후 팝업Pool에서 재활용할 수 있게 합니다.OpenUI를 할때는 SetParent를 BaeUI안의 Init함수에서 하고 CloseUI를 할때는SetParent UIManager에서 하는데 어떤 기준이나 지향점으로 하신건가 궁금합니다. CloseUI에서도 부모의 설정을 매니저에서 해줬으니 OpenUI도 매니저에서 설정해주면 통일성이 있지 않을까? 그런데 강사님은 어떤기준으로 하셨을까 궁금합니다.코드를 확인해 보니 현재 상황에서는 SetParent처리를 OpenUI 함수에서 처리해줘도 무방합니다. 기억을 거슬러 생각해보니 제가 BaseUI에서 SetParent를 처리해준 이유는 게임의 UI시스템이 더 복잡해져 UICanvas를 여러 개로 분리해서 사용하게 될 경우, 즉 특정 UI팝업은 UICanvasA로 특정 UI팝업은 UICanvasB로 위치시켜주는 상황이 발생할 경우를 생각했을때 BaseUI에서 처리해주는 것이 더 유연한 처리가 가능할 것으로 예측했기 때문입니다.마지막으로 코드가 이해가 잘 안되는게BaseUI에서의 CloseUI함수에서는 UIManager.Instance.CloseUI(this);호출하는데 BaseUI에서의 ShowUI는매지저 호출에 처리가 없어서이것도한 2개가 달라 많이 헷갈리네요. ㅠUI팝업을 열 때는 UIManager.OpenUI -> BaseUI.ShowUI 순으로 실행되고 UI팝업을 닫을 때는 BaseUI.CloseUI -> UIManager.CloseUI 순으로 실행됩니다.UI팝업의 닫기 버튼에 연동할 함수가 필요했기에 BaseUI.CloseUI 함수를 작성하여 연동해주었고 여기서 UIManager.CloseUI를 실행해주는 것입니다. 제가 작성한 코드를 있는 그대로 받아들이지 않고 수강생분 스스로 의문을 제기하고 비판적으로 이해하시려는 노력이 돋보이는 질문이었습니다. 게임 프로그래머로서 매우 좋은 습관을 가지신 것 같습니다. 분명 빠르게 발전하시리라 믿습니다.더 궁금한 사항이 있으시면 편하게 질문 부탁 드립니다. 😃
- 좋아요수
- 0
- 댓글수
- 3
- 조회수
- 60
질문&답변
3d프로젝트에 적용해도 무방한가요?ㅁ
안녕하세요! BurningCarrot 버닝캐럿입니다. 문의해 주신 내용에 답변 드립니다.AI 인턴이 이미 답변을 잘 해주었네요. 2D와 3D 프로젝트에 모두 적용 가능하지만 당연히 3D 관련 카메라를 추가하고 3D 모델을 적용하는 부분은 다른 강의나 자료를 통해 별도로 배우셔야 합니다. 3D 게임에서도 UI 시스템은 당연히 2D로 적용하므로 제 강의에서 제공해 드리는 UI 시스템을 그대로 사용하시면 됩니다.감사합니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 76
질문&답변
[인앱결제] 질문
안녕하세요! BurningCarrot 버닝캐럿입니다.네 UnityProjectID 등록 및 라이선스키 등록은 유니티 대시보드에서 제공하는 여러가지 서비스를 이용하기 위해 필요한 것으로 알고 있습니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 81
질문&답변
심화편 수강 등록
안녕하세요! BurningCarrot 버닝캐럿입니다.심화편 무료 등록 대상인 수강생분들에 대해서는 제가 인프런 측에 요청해 놓은 상태입니다.설 연휴가 이제 막 끝났기 때문에 곧 대응해 주시리라 생각됩니다.무료 등록이 끝난 후 전체 공지를 보내드릴테니 조금만 기다려 주시면 감사하겠습니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 62
질문&답변
Firebase iOS 빌드 시 중복심볼
안녕하세요! BurningCarrot 버닝캐럿입니다.주말동안 리서치를 해봤는데 CocoaPods로 설치한 sdk와 SPM(Swift Package Manager)에서 설치한 sdk가 중복되어서 그런 것 같습니다. 결국 라이브러리를 CocoaPods 하나로 관리하든지 SPM 하나로 관리하든지 선택해야 하는데요. 혹시 SPM에서 firebase sdk를 전부 삭제한 후 빌드하면 어떻게 되는지 확인해 주실 수 있나요?감사합니다.
- 좋아요수
- 0
- 댓글수
- 2
- 조회수
- 109




