questionname@naver.com
1.어떤 발표의 방향성 이야기
2.어떤 프로그래머의 방향성 이야기
3.어떤 스터디의 방향성 이야기
4.어떤 세상의 방향성 이야기
어디로
가야
하나요?
우리는 살면서 수많은 선택의 순간을 맞이하게 됩니다
그리고 어떤 방향성을 가지고 선택을 내립니다
미래, 꿈, 현실 막연하지만 우리를 가로막는 어떤 것들
인생의 목표를 이루기 위해 어떤 방향성이 필요한지 이야기해보겠습니다
거창하게 못 해먹겠다
지금까진 주제가 없어 궁지에 몰린 발표자의 포장
모두 그간 잘 지내셨습니까
그렇습니다
발표일자를 착각해서 급조하고 있습니다
참 발표하기 싫은 날입니다…
역시 발표 준비는 전날 하는거죠
최후의 보루
사실 지난번에 하다만
야자라는 게임의 포스트모템을 마저 해볼까 했는데…
소프트맥스에서 말하기를
“창세기전은 소프트맥스가 망할 때나 내놓겠다”
좋아. 나도 야자 포스트모템은
정말 최후의 보루로 남겨두는거다!
...
넋두리나 좀더…
시간이 참 빠르게도 갑니다
입사했다고 으왕한지 얼마 안 된거 같은데
어느새 4개월이 지났네요
언제 “나 경력자요”라고 말할 수 있으려나 싶기도 하지만…
적당한 짤방도 떠오르지 않으니 죠죠서기나 보자
이런 사람이 발표합니다
처음 입사했을 때는 정수기가 어딨는지 몰라 일주일간 물을 못 마셨는데…
(전무님 방 옆에 있어서 -_-;)
얼마 전엔 전무님이랑 우리나라 교육제도에 대한 이야기도 나눔
누구보다 막강하게 만들어준 ...
벌써 지친다
사실 평소엔 편안히 즐기다 가실 수 있는 발표를 모토로 하고 있습니다만,
오늘은 여러분의 이야기가 더 듣고 싶습니다
왜냐하면 발표 전에 다른 사람에게 간략하게 얘기해줬다 이런 얘기 들었거든요
“망했네. 망했...
굽신굽신
그렇습니다
하루 벌어 하루 먹고 사는 일용직 같은 급조한 발표입니다
기존에는 그래도 했던 일을 발표 했기 때문에
망했다고 비웃고 넘어갈 수나 있었지
이번에는 하고 있는 일에 대한 추상적인 주제…
준비도 만족스럽...
1.어떤 발표의 방향성 이야기
2.어떤 프로그래머의 방향성 이야기
3.어떤 스터디의 방향성 이야기
4.어떤 세상의 방향성 이야기
어디로
가야
하나요?
개인적인 이야기
입사하기 전 가장 많이 들었던 말
“회사가 똑같지 뭐”
무슨 말인지 머리로는 이해하지만,
꼭 그럴 수 밖에 없을까?
라는 의문이 들던 말
물론 조직인만큼 개인을 억누르는 프로세스가 있고,
기업인만큼 일을...
흔한 테크트리
물론 몇 안되지만 제가 본 신입 프로그래머들이 쉽게 타는 테크트리
가서 열심히
해야지!
일을 왜 다
나한테 주지?
나 없음
우리 게임
안 돌아감
출근하기 싫어
돈이 원수
닭집 ㄱㄱ
우리는 노답
해외 짱짱
...
열심히 해야지! 상태
물론 더 훌륭한 다른 테크트리도 있겠지만
평범한 사람들에겐
흔한 테크트리
저렇게 되지 말아야겠다고 생각했습니다
흔한 프로그래머
그렇게 회사에 입사
서비스할 게임을 파악하고
게임의 소스를 파악하고
담당 업무를 부여 받아 서비스를 시작하고
평범한 테크트리
흔한 업무대처
업무라는게 몰려올 때도 있지만,
어쨌든 라이브팀
게다가 해외 서비스 담당
운 좋게도 프로그램팀 분업화도 잘되 있었음
일정도 안전성 위주로 여유롭게 잡는 편
개발 이슈가 크지 않음
문제가 생기면 모두 달려와...
흔한 좌절
지루하다…
서비스한지 벌써 7년이 되가는 오래된 게임
복잡하게 얽힌 코드
서비스하는 만큼 꽤 분량이 있는 코드,
실제 서비스하는 게임인만큼 다 돌아가는 코드
부분부분은 쉽게 분석가능 하지만,
당장 클래스 하나...
흔하기 싫다
물론 일하는데 지장 없을 정도로는 보고 있지만…
그래도 이런 식으론 안되겠다
단순히 일을 위해 소스분석…
이 아니라
목표가 있어야겠다
목표 설정
1. 목표는 당연히 내가 일하는 게임을 위한 것이어야 한다
회사에서 딴짓하면 노노요
2. R&D 소속인만큼 우리 게임을 개선시키고 싶다
유저들의 불만을 알아보자
3. 소스가 좀 불합리하다 해서 맘대로 하는건 ...
일단 리서치
우리는 오래된 게임인만큼
어느 정도 유저 커뮤니티가 존재
오랜 기간 플레이하며 느끼는 불만들을 토로
나도 모르는 유익한 정보들이 많더라
때로는 버그도 우리보다 빨리 찾음
어그로도 시전해줌
나다 이자식아
오래...
비교
모델링도 잘 맞고, 예쁘다면 예쁜데…
원화랑 뭔가 다르다
비교2
충실하게 재현 잘 되있는데
왜 인게임 느낌이 다를까
비교3
원화와 게임 그래픽의 음영 차이가 아닐까?
그래픽 효과
컨닝
일단 원화와 같이 복잡한 음영을 넣어주려면 어떻게 해야 할까
음영 처리방식을 좀더 정교하게
최신 게임들처럼 하면 되지 않을까?
뭘 고민하나
잘난 친구들은 뭐하나 보자
BRDF
기존의 PHONG/BLINN 방식에서는 물체마다 반사율이 일정하다고 가정
BRDF란 물체마다 다른 반사율을 다르게 적용
하여간 표면에서 빛이 반사되는 방식을 말하는 것이다
차세대 방식이라는 의견이 많다
<SIG...
물리 기반이란 말이 중요
BRDF는 빛이 어떻게 반사되는지 적용된 공식
수많은 방식이 있다
정해진 정답이 있는게 아니라
각자 더 나은거 아닌가 하는 경험적인 결과물
<NDC 2013> 김동석, “UDK로 물리 기반 셰이...
그럼 뭘 하지?
자료를 찾아보니 실제 구현해 본 사람들이 Micro-facet 방식을 추천
비교적 빠르다고 한다
콜오브듀티도 이것 쓰더라
<NDC 2013> 고경석, “구세대 엔진 신데렐라 만들기”
당연히 어렵다
어차피 무슨 말인지 모르겠는건 마찬가지
BRDF EXPLORER
세상엔 좋은 도구가 많다 쓰자
예제로 볼 수도 있고, 실제 소스도 볼 수 있다
http://www.disneyanimation.com/technology/brdf.html
BLINNPHONG O...
UNITY
The Chase를 보면 모바일에서도 쓸 정도로 대중화된 기술
시도해봤다
소스에 적용시키려고 만지작 거리고 있으니
고쳐야 할게 한두가지가 아니다
공식적인 업무도 아니긴 하지만
업무시간내에 안되서 남아서 해봤는데
너무 큰 이슈였다
파이프라인을 바꿔야 겠는데?
시련
패턴을 활용한 리팩토링이란 책을 보면,
리팩토링시 주의해야할 것들에 대한 짤막한 요약이 나온다
중복된 소스
코드 단순화
코드 의도 명료화
저자가 보면 아주 좋아하겠다고 생각했다
고쳐야 할 곳이 많았다!
그런데 고치...
이게 대외비인가?
슈퍼 클래스들이 많다
얼핏 보면 역할별 분할이 된 듯 싶지만…
뭔 클래스인가 하고 보다 보면 수십개의 기능 보유
함정 코드들이 많다
로딩하고 업데이트 코드에까지 포함되있길래
내용 분석해 수정해 봤더니…...
이게 아닌가벼…
R&D인만큼 엔진 개선을 해보고 싶긴 하지만
처음부터 이렇게 큰 일을 하려던건 아니었다
게다가 앞서 얘기 안했지만 유닛에 광택제를 바르면 좀 빛나긴 한다
유료 아이템이긴 하지만….
단순히 약간 효과를 주...
다시 보자
잘 보니까 하얀 연기 같은 노이즈가 폼나는 원인인 것 같다
찾자
어떤 기술을 사용해야 할지 딱히 떠오르지 않았다
BLUE-NOISE 란 것을 찾았는데
구글신조차 제대로 못 찾아주고…
슬슬 이거 하나 못 하는 자신에게 짜증
에라 모르겠다
노이즈하면 펄린노이즈
아는게 그거밖에 없다
분포된 노이즈의
값 사이를 보간하여 부드럽게
로딩 때 펄린노이즈로 텍스처를 생성하고
텍스처를 기반으로 색을 흩어버리면
얼추...
타임오버
저희 게임 최고 미소녀로 보여드리려 했는데 실패
쉐이더를 만들었는데 잘못 만들어져서 시꺼멓게 된다 ㅜ.ㅜ
세라복 입은 미소녀로 보여드리려 했는데…
실패는 다반사
뭐 그럴수도 있죠!
…
죄송합니다…
사례2
PerfHUD 를 사용해보기 위해 준비
그래픽 파이프라인 수정을 위한 NVIDA산 비주얼 디버깅 및 프로파일링툴
게임 랜더링 과정을 좀 자세히 보고 싶어 시도
디바이스가 생성되기 전에 PerfHUD 입력 코드를 ...
차차 나아지겠지
하던 것도 완성시키면…
자체적으로 여러가지 난이도에 도전해 볼 생각
노말맵 생성기
디퍼드 랜더링
API 형식의 엔진이니 좀 비주얼하게도 고쳐보고 싶다
서버에 찰싹 달라붙어 있어서 아주 귀염둥이인데 좀 때...
쓸데 없는 일만 한다?
당연히 저런걸 하기 앞서 주어진 일은 다 하고 있음…
얼마 전에 한가하다니까 아는 프로그래머가 “불쌍하다”라고 하길래…
신입에게 과중한 업무가 집중된게 더 이상하다고 보는데…
회사 일이 한가해도 ...
열심히 삽질중
저런 발표도 해보고…
팀에 도움이 되는 팀원이 무엇인지 고민중
급한 결론
잘 하고 있는지는 모르겠지만
실수도 있고, 실패도 있겠지만
어떤 목표를 설정하느냐가 중요한 것 같습니다
좋은 프로그래머란 뭘까요?
그리고 좋은 팀원이란?
저는 이 사람이랑 같이하면
뭔가 믿을 수 있다는
인상을...
1.어떤 발표의 방향성 이야기
2.어떤 프로그래머의 방향성 이야기
3.어떤 스터디의 방향성 이야기
4.어떤 세상의 방향성 이야기
어디로
가야
하나요?
스터디?
원래는 앞에서 결론을 내리는게 아니라
이대로 주욱 제 얘기하면서
기술적인 얘기나 좀 하다가
끝내려 했는데
최근에 스터디 진행에 대한 이야기들이 종종 나오고
저도 어느새 스터디를 다닌지 1년이 되가기도 해서
한번...
스터디 하지 말란 이야기를 들음
포프TV에 얼마전에 “스터디 절대로 하지 마라”
라는 제목으로 영상이 나왔습니다
도발적인 제목에 비해 순한 내용…
스터디보다는 실제 프로젝트로 몸에 익히라는 얘기
맞는 말이라고 생각은 하...
언제나 제 주변은 타겟 미안
주변에 아는 사람들에게 스터디 하자고 얘기하면
그런거 안 해도 회사일 잘함
써먹지도 못할 그런 것들을 공부한다고 도움이 되나?
힘들어서 못함
등등
대부분 부정적
한번만 와봐
라고 말할때마다 ...
국내 스터디
국내에 있는 개발자 스터디
KASA
SHADER STUDY
아꿈사
게임코디 스터디
데브루키
크게 다섯가지 스터디가 있다
그 외 스터디는 제가 몰라서 안 쳐줌
오래된 스터디도 있고
각자 분야가 다르기도 하지만...
데브루키 스터디
최근에 연휴도 많고 하다 보니 참석률이 좀 저조
새로운 사람들이 많이 오는 시즌도 아니고
스터디가 좀 루즈하게 흘러간다는 의견도 있었다
누굴 탓할건 아니고 헤매고 있는 참석자들 잘못이긴 한데…
인원이 적...
왜 안오는지 궁금했다
1년간 누가 나갔나 떠올려보니…
1. 아티스트
-대부분 프로그래머라 프로그램 얘기만 하니 나간 듯 하다
2. 학생들
-방학 끝나니 가더라 -_-;
3. 구직자
- 직장 구했나 보더라 -_-;
4. ...
시대적인 이유도 있는 것 같다
최근 NDC2013, KGC2013을 보니
수많은 갈팡질팡이 느껴짐
온라인 개발자는 어쩌나요 모바일 개발자는 어떻게 먹고 사나요
시장 꽉 차는데 어따 파나요
같은 발표들이 많더라
예전에 다...
들어보니 경력 생기면 나간다고도 한다
“너를 저편으로 건네주는 건 내 몫이니라.”
혜능이 대답했다.
“온갖 미망 속에 있는 제자를 다른 기슭으로 건네주는 건 스승의 몫이옵니다. 하
지만 깨친 자는 스스로 다른 기슭으로 ...
어떻게 하면 좋을까
기본적으로 우린 오픈 세미나, 자유 주제, 자유 발표
스터디 아이덴티티에 맞는 옳은 방법이라 생각하지만
개개인에게 크게 의존한 시스템
안 해본 사람들은 발표에 부담도 많이 느낌
주도적으로 서로서로 이...
방향성
앞서 말한 모든 이유를 한마디로 표현하자면
“방향성의 차이”
각자 스터디에서 얻고자 하는 것은 다르다
해야 할 일도
개발자로서 나아가고자 하는 방향도 다르다
그렇다면 스터디는 그저 중간다리나 하는 그런 존재인가?...
스터디
사실 이곳에 모인 우리의 목표는 하나다
더 좋은 게임을 만들고 싶다
그것을 위한 방향성을 제공하는게 스터디가 아닐까
개인적으로 스터디를 하며 많은 도움을 받았기 때문에
스터디를 왜 하냐는 질문에 잘 답해보고 싶었...
이런 방법론들이 있었다
그동안 토론되었다가 폐기된 스터디 방법들
1. 특정 주제를 가지고 진행한다(그래픽스, 알고리즘, 책떼기등)
타 스터디의 진행 방법들
오픈 스터디인 우리와 맞지 않는다
스터디 중간에 참여하는 사람은...
다시 처음으로
실제로 일이 바쁠 수 있다
다들 사회인 아닌가
주말출근은 답이 없더라
결론적으로 이번엔 바빴어도
다음에는 꼭 시간 내고 싶어지는
인원이 적어도 재밌고 유익하게 할 수 있고
프로그래머가 아니더라도 대화할 수...
특별한 아이디어는 없음
예전에 소설 스터디를 할 때가 있었는데
발표 준비를 하는 발제시간과
자신이 소설을 써온 것을 비평하는 합평시간
두개가 나눠져 있었음
우리가 그렇게 하기엔 강제성도 없어 무리가 있고
허접한 게임은 ...
지극히 일부 사례입니다
프로그래머에게 “만들고 싶은 게임이 뭔데?”라고 물으면
보통 장르를 말한다
MMORPG? 좋다. 무슨 MMO인데?
당황한다
기획자에게 “만들고 싶은 게임이 뭔데?”라고 물으면
보통 신선하면서도 모...
표현하는 능력의 차이
질문에 대답을 제대로 못 하는 이유는
이야기 하는 훈련이 되지 않았기 때문
혹은 혼자서는 할 수 없다는 생각에
상상력을 제한해 왔기 때문이다
만들고 싶은 게임을 만들고 싶다고 말하면서
왠지 이 이야...
토론같이 망하기 쉬운 것도 없다
물론 토론이란건 정말…
의미없어지기 딱 좋은 행위
멀뚱멀뚱하다 끝날 수도 있다
차라리 웹진 게임 리뷰가 나을 수도 있고…
길고긴 회의에 괴로워하는 개발자들의 이야기도 많다
이건 참석자들이...
사실 잘 모르겠다
이것만 계속 하자는 이야기는 아님
가끔씩 디저트로 하는 페차쿠차처럼
현재 스터디 상황에 맞추어 진행하면 되지 않을까
우리는 재밌게 스터디 하는게 목표
인턴과정처럼 뭔가 훈련하는 과정이 있다면
좀 더 양...
권위를 빌려와 보충설명
인벤에 기고된 CEDEC 2013 참석 후기를 보니
일본인들은 자신들이 서양보다 잘 할수 있는 스타일에 집중
일본문화의 혜택을 받으며 자란 우리도 비슷한 정서
그렇지만 좀더 차별화할 수 있는 무엇...
원래는 여기서 토론…
그치만 잠깐 진행 좀 할게요
저도 압니다 흐름상 슬슬 조용히 할 때지만…
나중에 흐름 끊기고 마무리 하려면 뻘쭘하니까…
1.어떤 발표의 방향성 이야기
2.어떤 프로그래머의 방향성 이야기
3.어떤 스터디의 방향성 이야기
4.어떤 세상의 방향성 이야기
어디로
가야
하나요?
수고하셨습니다
앞서 이야기 한 것처럼
우리가 토요일에 이곳에 모이는 목표는
술 마시고 싶어서
좋은 게임을 만들기 위한 연구
꿈같은거 얘기하는건 부끄럽다
어떤 개발자가 되고
어떤 게임을 만들어야 할지
경력이 쌓일수록 말하기 뻘쭘해지는 부분이 있습니다
해외 어쩌구 하면서 불평만 하기도 싫고
그렇지만 GTA5 같은 것도 나오는데
국내 시장은 위축...
위기는 기회라는 말도 있음
우리에게 주어진 일이 작다고 불평하거나
환경을 탓하는게 아니라
스스로를 더 나은 방향으로 나아가게 할 수 있는
여러가지 방법들을 생각해보면 좋겠습니다
정답은 있음
사실 이것저것 잔기술 필요없이
열심히 공부해야 한다라는 말이 맞는 말
그러나 사실 막연한 말
좀더 효율적인 방법들을 생각하자
결론
그리고 환경 이전에 개개인이 좀더 노력해봅시다
끝입니다
모두 훌륭한 개발자가 되서 성공해봅시다
REFERENCE
BRDF
<SIGGRAPH 2013> Naty Hoffman, “Background : Physics and Math of Shading”
http://blog.selfshadow.com/publica...
REFERENCE
BRDF
<SIGGRAPH 2013> 유니티, “TheChase”
http://www.realtimerendering.com/downloads/SIGGRAPH_TheChase.pdf
Real Shadi...
Q&A
신난다!
Upcoming SlideShare
Loading in …5
×

[Dev rookie] 어디로 가야 하나요(13.10.05)

5,532 views

Published on

데브루키 발표자료

2 Comments
15 Likes
Statistics
Notes
  • @Peter Kwon 부족한 내용임에도 불구하고 재밌게 봐주셨다니 감사합니다.
    NDC는 매년 좋은 내용들 덕분에 많은 도움을 받고 있습니다.
    특히 올해 전용 페이지도 인상깊었고, 매년 발전하고 노력하시는 모습 또한 감명깊게 보고 있습니다.
    앞으로도 좋은 세션들을 감히 부탁드립니다 ^^

    발표 신청은 좀 더 넓게 공유할만한 좋은 이야기가 생기면 그때 한번 도전을...
    검토도 확실하게 통과할 수 있도록요! ^^;
    그럼 오늘도 좋은 하루 되시길 바랍니다.
    감사합니다!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • 재밌는 발표자료 잘 봤습니다. 개발자 경력개발, 그리고 스터디 운영 면에서 도움을 얻었네요. 앞으로 더욱 발전하시길 기원드립니다.
    그리고, 저는 NDC 사무국장인데요. 앞으로도 저희 행사가 도움될만한 세션들로 구성되도록 노력하겠으니, 많은 관심 부탁드릴게요~ (발표신청도 환영입니다. 물론 수락여부 검토는 하고요 ㅋ)
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
5,532
On SlideShare
0
From Embeds
0
Number of Embeds
1,105
Actions
Shares
0
Downloads
22
Comments
2
Likes
15
Embeds 0
No embeds

No notes for slide

[Dev rookie] 어디로 가야 하나요(13.10.05)

  1. 1. questionname@naver.com
  2. 2. 1.어떤 발표의 방향성 이야기 2.어떤 프로그래머의 방향성 이야기 3.어떤 스터디의 방향성 이야기 4.어떤 세상의 방향성 이야기 어디로 가야 하나요?
  3. 3. 우리는 살면서 수많은 선택의 순간을 맞이하게 됩니다 그리고 어떤 방향성을 가지고 선택을 내립니다
  4. 4. 미래, 꿈, 현실 막연하지만 우리를 가로막는 어떤 것들 인생의 목표를 이루기 위해 어떤 방향성이 필요한지 이야기해보겠습니다
  5. 5. 거창하게 못 해먹겠다 지금까진 주제가 없어 궁지에 몰린 발표자의 포장 모두 그간 잘 지내셨습니까 그렇습니다 발표일자를 착각해서 급조하고 있습니다 참 발표하기 싫은 날입니다… 역시 발표 준비는 전날 하는거죠
  6. 6. 최후의 보루 사실 지난번에 하다만 야자라는 게임의 포스트모템을 마저 해볼까 했는데… 소프트맥스에서 말하기를 “창세기전은 소프트맥스가 망할 때나 내놓겠다” 좋아. 나도 야자 포스트모템은 정말 최후의 보루로 남겨두는거다! 라는 생각을 했습니다 창세기전4 만들고 있지만…
  7. 7. 넋두리나 좀더… 시간이 참 빠르게도 갑니다 입사했다고 으왕한지 얼마 안 된거 같은데 어느새 4개월이 지났네요 언제 “나 경력자요”라고 말할 수 있으려나 싶기도 하지만… 적당한 짤방도 떠오르지 않으니 죠죠서기나 보자
  8. 8. 이런 사람이 발표합니다 처음 입사했을 때는 정수기가 어딨는지 몰라 일주일간 물을 못 마셨는데… (전무님 방 옆에 있어서 -_-;) 얼마 전엔 전무님이랑 우리나라 교육제도에 대한 이야기도 나눔 누구보다 막강하게 만들어준 신입 버프도 사라짐 회사 일도 익숙해져 어떤 프로세스로 움직여야 할지 알게 되고, 팀원들과 농담을 하거나 이런저런 이야기를 할 정도로 친해짐 세금에 대해 좀 알게 되었음? 어쨌든 그럭저럭 살고 있습니다 아마도…
  9. 9. 벌써 지친다 사실 평소엔 편안히 즐기다 가실 수 있는 발표를 모토로 하고 있습니다만, 오늘은 여러분의 이야기가 더 듣고 싶습니다 왜냐하면 발표 전에 다른 사람에게 간략하게 얘기해줬다 이런 얘기 들었거든요 “망했네. 망했어.” “도망갈래?” 그리고 해결책 없이 이 자리에 있습니다
  10. 10. 굽신굽신 그렇습니다 하루 벌어 하루 먹고 사는 일용직 같은 급조한 발표입니다 기존에는 그래도 했던 일을 발표 했기 때문에 망했다고 비웃고 넘어갈 수나 있었지 이번에는 하고 있는 일에 대한 추상적인 주제… 준비도 만족스럽지 않고… 발표하러 나온게 아니라 까이러 나온 기분 신입이라면 같이 헤매고 있는 기분을 경력자라면 먼 기억을 떠올리며 조언을 장전 어쨌든 오늘은 개인적인 생각들을 이야기합니다 편안하게 즐겨주세요
  11. 11. 1.어떤 발표의 방향성 이야기 2.어떤 프로그래머의 방향성 이야기 3.어떤 스터디의 방향성 이야기 4.어떤 세상의 방향성 이야기 어디로 가야 하나요?
  12. 12. 개인적인 이야기 입사하기 전 가장 많이 들었던 말 “회사가 똑같지 뭐” 무슨 말인지 머리로는 이해하지만, 꼭 그럴 수 밖에 없을까? 라는 의문이 들던 말 물론 조직인만큼 개인을 억누르는 프로세스가 있고, 기업인만큼 일을 하는거지만… 왜 불평을 가질 수 밖에 없는 것 일까? 회사, 개인 딱 맞을 수는 없나?
  13. 13. 흔한 테크트리 물론 몇 안되지만 제가 본 신입 프로그래머들이 쉽게 타는 테크트리 가서 열심히 해야지! 일을 왜 다 나한테 주지? 나 없음 우리 게임 안 돌아감 출근하기 싫어 돈이 원수 닭집 ㄱㄱ 우리는 노답 해외 짱짱 기획자 어휴 만들고 싶은 게임은 언제? 내 실력은?
  14. 14. 열심히 해야지! 상태 물론 더 훌륭한 다른 테크트리도 있겠지만 평범한 사람들에겐 흔한 테크트리 저렇게 되지 말아야겠다고 생각했습니다
  15. 15. 흔한 프로그래머 그렇게 회사에 입사 서비스할 게임을 파악하고 게임의 소스를 파악하고 담당 업무를 부여 받아 서비스를 시작하고 평범한 테크트리
  16. 16. 흔한 업무대처 업무라는게 몰려올 때도 있지만, 어쨌든 라이브팀 게다가 해외 서비스 담당 운 좋게도 프로그램팀 분업화도 잘되 있었음 일정도 안전성 위주로 여유롭게 잡는 편 개발 이슈가 크지 않음 문제가 생기면 모두 달려와 고민 공유 만족스러움 그런데… 종종 한가할 때가 생긴다 그래서 비는 시간엔 게임소스를 집중적으로 분석 시작
  17. 17. 흔한 좌절 지루하다… 서비스한지 벌써 7년이 되가는 오래된 게임 복잡하게 얽힌 코드 서비스하는 만큼 꽤 분량이 있는 코드, 실제 서비스하는 게임인만큼 다 돌아가는 코드 부분부분은 쉽게 분석가능 하지만, 당장 클래스 하나를 전체적으로 분석하려면 연결된 클래스가 수십개 관계가 있는 클래스만 따라다녀도 혼돈의 도가니 점점 멍해진다
  18. 18. 흔하기 싫다 물론 일하는데 지장 없을 정도로는 보고 있지만… 그래도 이런 식으론 안되겠다 단순히 일을 위해 소스분석… 이 아니라 목표가 있어야겠다
  19. 19. 목표 설정 1. 목표는 당연히 내가 일하는 게임을 위한 것이어야 한다 회사에서 딴짓하면 노노요 2. R&D 소속인만큼 우리 게임을 개선시키고 싶다 유저들의 불만을 알아보자 3. 소스가 좀 불합리하다 해서 맘대로 하는건 안됨 남들이 바보도 아니고, 소스의 히스토리가 있는 법이다 불합리해 보이는 것에도 어떤 이유가 있을 수 있다 팀원들에게 도움을 받아 정보를 얻자 4. 공식적인 이슈도 아닌데 개선한다고 타인의 일거리를 늘려선 안 된다 확실히 완료가 됐다면 그때나 생각해보자 5. 신규개발을 하고 싶다 이런게 아니라 업무를 잘하고 싶은 것이다 무리해서 일을 크게 벌리지 말자
  20. 20. 일단 리서치 우리는 오래된 게임인만큼 어느 정도 유저 커뮤니티가 존재 오랜 기간 플레이하며 느끼는 불만들을 토로 나도 모르는 유익한 정보들이 많더라 때로는 버그도 우리보다 빨리 찾음 어그로도 시전해줌 나다 이자식아 오래된 게임인만큼 대부분 그래픽적인 이슈 마침 신규 유닛이 나왔다!
  21. 21. 비교 모델링도 잘 맞고, 예쁘다면 예쁜데… 원화랑 뭔가 다르다
  22. 22. 비교2 충실하게 재현 잘 되있는데 왜 인게임 느낌이 다를까
  23. 23. 비교3 원화와 게임 그래픽의 음영 차이가 아닐까? 그래픽 효과
  24. 24. 컨닝 일단 원화와 같이 복잡한 음영을 넣어주려면 어떻게 해야 할까 음영 처리방식을 좀더 정교하게 최신 게임들처럼 하면 되지 않을까? 뭘 고민하나 잘난 친구들은 뭐하나 보자
  25. 25. BRDF 기존의 PHONG/BLINN 방식에서는 물체마다 반사율이 일정하다고 가정 BRDF란 물체마다 다른 반사율을 다르게 적용 하여간 표면에서 빛이 반사되는 방식을 말하는 것이다 차세대 방식이라는 의견이 많다 <SIGGRAPH 2013> Naty Hoffman, “Background : Physics and Math of Shading”
  26. 26. 물리 기반이란 말이 중요 BRDF는 빛이 어떻게 반사되는지 적용된 공식 수많은 방식이 있다 정해진 정답이 있는게 아니라 각자 더 나은거 아닌가 하는 경험적인 결과물 <NDC 2013> 김동석, “UDK로 물리 기반 셰이더 만들기”
  27. 27. 그럼 뭘 하지? 자료를 찾아보니 실제 구현해 본 사람들이 Micro-facet 방식을 추천 비교적 빠르다고 한다 콜오브듀티도 이것 쓰더라 <NDC 2013> 고경석, “구세대 엔진 신데렐라 만들기”
  28. 28. 당연히 어렵다 어차피 무슨 말인지 모르겠는건 마찬가지
  29. 29. BRDF EXPLORER 세상엔 좋은 도구가 많다 쓰자 예제로 볼 수도 있고, 실제 소스도 볼 수 있다 http://www.disneyanimation.com/technology/brdf.html BLINNPHONG ORENNAYAR
  30. 30. UNITY The Chase를 보면 모바일에서도 쓸 정도로 대중화된 기술
  31. 31. 시도해봤다 소스에 적용시키려고 만지작 거리고 있으니 고쳐야 할게 한두가지가 아니다 공식적인 업무도 아니긴 하지만 업무시간내에 안되서 남아서 해봤는데 너무 큰 이슈였다 파이프라인을 바꿔야 겠는데?
  32. 32. 시련 패턴을 활용한 리팩토링이란 책을 보면, 리팩토링시 주의해야할 것들에 대한 짤막한 요약이 나온다 중복된 소스 코드 단순화 코드 의도 명료화 저자가 보면 아주 좋아하겠다고 생각했다 고쳐야 할 곳이 많았다! 그런데 고치려니까 -_-;
  33. 33. 이게 대외비인가? 슈퍼 클래스들이 많다 얼핏 보면 역할별 분할이 된 듯 싶지만… 뭔 클래스인가 하고 보다 보면 수십개의 기능 보유 함정 코드들이 많다 로딩하고 업데이트 코드에까지 포함되있길래 내용 분석해 수정해 봤더니… 아무 일도 일어나지 않았다! (실제론 사용 안 되는 코드였음) 리팩토링 하다만 곳도 있었다 똑같은 행동을 하는데 서로 다른 코드로 작동하는 부분도 있었다 동일한 내용을 복붙한 코드 공식적으로 얘기를 해봤더니 안정성을 이유로 일단 보류
  34. 34. 이게 아닌가벼… R&D인만큼 엔진 개선을 해보고 싶긴 하지만 처음부터 이렇게 큰 일을 하려던건 아니었다 게다가 앞서 얘기 안했지만 유닛에 광택제를 바르면 좀 빛나긴 한다 유료 아이템이긴 하지만…. 단순히 약간 효과를 주고 싶었던건데… 다시 생각해보기로 했다
  35. 35. 다시 보자 잘 보니까 하얀 연기 같은 노이즈가 폼나는 원인인 것 같다
  36. 36. 찾자 어떤 기술을 사용해야 할지 딱히 떠오르지 않았다 BLUE-NOISE 란 것을 찾았는데 구글신조차 제대로 못 찾아주고…
  37. 37. 슬슬 이거 하나 못 하는 자신에게 짜증 에라 모르겠다 노이즈하면 펄린노이즈 아는게 그거밖에 없다 분포된 노이즈의 값 사이를 보간하여 부드럽게 로딩 때 펄린노이즈로 텍스처를 생성하고 텍스처를 기반으로 색을 흩어버리면 얼추 유사하게 나오지 않을까?
  38. 38. 타임오버 저희 게임 최고 미소녀로 보여드리려 했는데 실패 쉐이더를 만들었는데 잘못 만들어져서 시꺼멓게 된다 ㅜ.ㅜ 세라복 입은 미소녀로 보여드리려 했는데…
  39. 39. 실패는 다반사 뭐 그럴수도 있죠! … 죄송합니다…
  40. 40. 사례2 PerfHUD 를 사용해보기 위해 준비 그래픽 파이프라인 수정을 위한 NVIDA산 비주얼 디버깅 및 프로파일링툴 게임 랜더링 과정을 좀 자세히 보고 싶어 시도 디바이스가 생성되기 전에 PerfHUD 입력 코드를 넣어주면 된다 디바이스 생성되는 쪽을 찾아가보니 이미 있다? 다른 팀원들에게 물어보니 그게 뭔지 모른다?!? 누군지 몰라도 혼자 해보다 집어쳤구나 ㅜ.ㅜ
  41. 41. 차차 나아지겠지 하던 것도 완성시키면… 자체적으로 여러가지 난이도에 도전해 볼 생각 노말맵 생성기 디퍼드 랜더링 API 형식의 엔진이니 좀 비주얼하게도 고쳐보고 싶다 서버에 찰싹 달라붙어 있어서 아주 귀염둥이인데 좀 때려주고 싶다 그렇게 지금의 아수라 엔진을 진아수라 엔진으로 업그레이드! 하여간 프로젝트 하나 더 복사해서 개선 시도중
  42. 42. 쓸데 없는 일만 한다? 당연히 저런걸 하기 앞서 주어진 일은 다 하고 있음… 얼마 전에 한가하다니까 아는 프로그래머가 “불쌍하다”라고 하길래… 신입에게 과중한 업무가 집중된게 더 이상하다고 보는데… 회사 일이 한가해도 개인이 바쁘면 상관없다는게 제 생각 회사가 떠먹여주길 기다릴 것도 아니고 일이 쉬우면 어렵게 일이 어려우면 쉽게 방법을 고민하라는 얘기를 예전에 어디서 봤습니다 -_-; 어떤 이슈가 생겨도 대응할 수 있도록 이것저것 경험을 쌓자 는 방향성을 가지고 살려고 합니다 뭔가 허무할 때 읽어보기 좋다 이정도 경력자도 이런저런 고민
  43. 43. 열심히 삽질중 저런 발표도 해보고… 팀에 도움이 되는 팀원이 무엇인지 고민중
  44. 44. 급한 결론 잘 하고 있는지는 모르겠지만 실수도 있고, 실패도 있겠지만 어떤 목표를 설정하느냐가 중요한 것 같습니다 좋은 프로그래머란 뭘까요? 그리고 좋은 팀원이란? 저는 이 사람이랑 같이하면 뭔가 믿을 수 있다는 인상을 전해주고 싶습니다 각자 가진 방향에 대해서 이야기 해봅시다 왜냐하면 우린 10분 쉴꺼니까요
  45. 45. 1.어떤 발표의 방향성 이야기 2.어떤 프로그래머의 방향성 이야기 3.어떤 스터디의 방향성 이야기 4.어떤 세상의 방향성 이야기 어디로 가야 하나요?
  46. 46. 스터디? 원래는 앞에서 결론을 내리는게 아니라 이대로 주욱 제 얘기하면서 기술적인 얘기나 좀 하다가 끝내려 했는데 최근에 스터디 진행에 대한 이야기들이 종종 나오고 저도 어느새 스터디를 다닌지 1년이 되가기도 해서 한번 이야기해볼까 합니다 그런 표정으로 보지마세요…
  47. 47. 스터디 하지 말란 이야기를 들음 포프TV에 얼마전에 “스터디 절대로 하지 마라” 라는 제목으로 영상이 나왔습니다 도발적인 제목에 비해 순한 내용… 스터디보다는 실제 프로젝트로 몸에 익히라는 얘기 맞는 말이라고 생각은 하지만… 그럼 스터디 하고 있는 우린 뭔가? 스터디는 그렇게 쓸모 없는 것인가?
  48. 48. 언제나 제 주변은 타겟 미안 주변에 아는 사람들에게 스터디 하자고 얘기하면 그런거 안 해도 회사일 잘함 써먹지도 못할 그런 것들을 공부한다고 도움이 되나? 힘들어서 못함 등등 대부분 부정적 한번만 와봐 라고 말할때마다 급지침
  49. 49. 국내 스터디 국내에 있는 개발자 스터디 KASA SHADER STUDY 아꿈사 게임코디 스터디 데브루키 크게 다섯가지 스터디가 있다 그 외 스터디는 제가 몰라서 안 쳐줌 오래된 스터디도 있고 각자 분야가 다르기도 하지만… 타 스터디와 차별화되는 데브루키의 아이덴티티 “초중급 개발자를 위한”
  50. 50. 데브루키 스터디 최근에 연휴도 많고 하다 보니 참석률이 좀 저조 새로운 사람들이 많이 오는 시즌도 아니고 스터디가 좀 루즈하게 흘러간다는 의견도 있었다 누굴 탓할건 아니고 헤매고 있는 참석자들 잘못이긴 한데… 인원이 적어 발표주기도 짧아지니 밑천이 바닥나는 듯 하다 내공부족 악순환 스터디 하면서 여러가지 이야기도 오가고 해야 하는데 근래에 그게 좀 부족했던 것 같다 발표 때 여러가지 질문도 하고 토론도 했어야 하는데… 죄송합니다… 제가 제일 조용했어요…
  51. 51. 왜 안오는지 궁금했다 1년간 누가 나갔나 떠올려보니… 1. 아티스트 -대부분 프로그래머라 프로그램 얘기만 하니 나간 듯 하다 2. 학생들 -방학 끝나니 가더라 -_-; 3. 구직자 - 직장 구했나 보더라 -_-; 4. 경력자 - 회사 일 바쁜가 보더라 -_-; 5. 발표자 -발표 차례 되니 잠적하더라 -_-; 결론적으로 다들 바빠서, 쉽게 말해 귀찮아서, 정 못 붙여서 인것 같다
  52. 52. 시대적인 이유도 있는 것 같다 최근 NDC2013, KGC2013을 보니 수많은 갈팡질팡이 느껴짐 온라인 개발자는 어쩌나요 모바일 개발자는 어떻게 먹고 사나요 시장 꽉 차는데 어따 파나요 같은 발표들이 많더라 예전에 다녔던 아카데미 소식을 들으니 시대에 발맞춰 유니티를 집중적으로 해서 포트폴리오 제작 타 카페에 질문들 올라오는걸 보니 온통 모바일 질문 유니티가 해주는건데 그런게 필요한가? 그냥 유니티를 공부하자는 의견이 많다 C++, DX는 마치 뒷방 늙은이 같은 느낌 온라인 개발자는 모바일로 건너야 하나 하는 불안감 모바일 개발자는 빨리 성공해야 한다는 불안감
  53. 53. 들어보니 경력 생기면 나간다고도 한다 “너를 저편으로 건네주는 건 내 몫이니라.” 혜능이 대답했다. “온갖 미망 속에 있는 제자를 다른 기슭으로 건네주는 건 스승의 몫이옵니다. 하 지만 깨친 자는 스스로 다른 기슭으로 건너가는 것이 옳습니다.” ” 존C.H.우, 김연수 역,『선의 황금시대』(한문화 : 2006) 62p 혼자 할 수 있으니 타인을 위해 시간 내기 싫을 수도 있을 것 같긴 한데…
  54. 54. 어떻게 하면 좋을까 기본적으로 우린 오픈 세미나, 자유 주제, 자유 발표 스터디 아이덴티티에 맞는 옳은 방법이라 생각하지만 개개인에게 크게 의존한 시스템 안 해본 사람들은 발표에 부담도 많이 느낌 주도적으로 서로서로 이끌지 않으면 루즈해짐 서로의 주제에 대해서 공감을 못 느끼면 허탕이라 생각하는 경향 개인이 열심히 안 하는데 그런 애들까지 왜 다 끌어줘야 하나? 그건 아니지만 좀더 재밌게 할 방법이 있다면 이탈률이 줄지 않을까
  55. 55. 방향성 앞서 말한 모든 이유를 한마디로 표현하자면 “방향성의 차이” 각자 스터디에서 얻고자 하는 것은 다르다 해야 할 일도 개발자로서 나아가고자 하는 방향도 다르다 그렇다면 스터디는 그저 중간다리나 하는 그런 존재인가? 개인 개인 개인 개인
  56. 56. 스터디 사실 이곳에 모인 우리의 목표는 하나다 더 좋은 게임을 만들고 싶다 그것을 위한 방향성을 제공하는게 스터디가 아닐까 개인적으로 스터디를 하며 많은 도움을 받았기 때문에 스터디를 왜 하냐는 질문에 잘 답해보고 싶었다 개인 개인 개인 개인 스터디
  57. 57. 이런 방법론들이 있었다 그동안 토론되었다가 폐기된 스터디 방법들 1. 특정 주제를 가지고 진행한다(그래픽스, 알고리즘, 책떼기등) 타 스터디의 진행 방법들 오픈 스터디인 우리와 맞지 않는다 스터디 중간에 참여하는 사람은 거의 없다 몇 번 빠지면 하기 싫어진다 게다가 하고 싶은 주제를 얘기해보니 다 다르다 ㅋㅋ 2. 게임잼 스터디 시간중에 하기엔 좀 무리다 과제처럼 이어서 하기란 무리다 3. 오픈소스 … 용기내어 코드를 오픈할 이는 누구인가!
  58. 58. 다시 처음으로 실제로 일이 바쁠 수 있다 다들 사회인 아닌가 주말출근은 답이 없더라 결론적으로 이번엔 바빴어도 다음에는 꼭 시간 내고 싶어지는 인원이 적어도 재밌고 유익하게 할 수 있고 프로그래머가 아니더라도 대화할 수 있으며 언제와도 좋고 빠지면 손해 보는 느낌이 날만한 그러면서도 부담감을 좀 적게 느낄만한 것
  59. 59. 특별한 아이디어는 없음 예전에 소설 스터디를 할 때가 있었는데 발표 준비를 하는 발제시간과 자신이 소설을 써온 것을 비평하는 합평시간 두개가 나눠져 있었음 우리가 그렇게 하기엔 강제성도 없어 무리가 있고 허접한 게임은 소설보다 더 평가해줄게 없기도 하지만… 만들고 싶은 게임에 대해서 말해보면 어떨까?
  60. 60. 지극히 일부 사례입니다 프로그래머에게 “만들고 싶은 게임이 뭔데?”라고 물으면 보통 장르를 말한다 MMORPG? 좋다. 무슨 MMO인데? 당황한다 기획자에게 “만들고 싶은 게임이 뭔데?”라고 물으면 보통 신선하면서도 모두가 즐길 수 있는 게임을 만들고 싶다고 한다 좋다. 그럼 그게 뭔데? 당황한다 그래픽에게 “만들고 싶은 게임이 뭔데?”라고 물으면 … 예쁜 그림을 그리고 싶어하는 것 같다 당황했다
  61. 61. 표현하는 능력의 차이 질문에 대답을 제대로 못 하는 이유는 이야기 하는 훈련이 되지 않았기 때문 혹은 혼자서는 할 수 없다는 생각에 상상력을 제한해 왔기 때문이다 만들고 싶은 게임을 만들고 싶다고 말하면서 왠지 이 이야기를 하는 것이 터부시되거나 몽상을 이야기하는 것 같이 느껴질 때가 있다 게임 개발은 커뮤니케이션에서 시작인데… 발표자의 아이디어를 참석자들이 평가해보고 필요한 컨셉이나 프로그램 기술들 실제 제안서를 준비하듯 토론해보면 어떨까
  62. 62. 토론같이 망하기 쉬운 것도 없다 물론 토론이란건 정말… 의미없어지기 딱 좋은 행위 멀뚱멀뚱하다 끝날 수도 있다 차라리 웹진 게임 리뷰가 나을 수도 있고… 길고긴 회의에 괴로워하는 개발자들의 이야기도 많다 이건 참석자들이 분발 열심히 말하겠습니다… 개발자에게 게임을 많이 하라는 이야기는 다양한 장르, 다양한 게임 속에서 학습하라는 이야기 기획자가 아니라도 대화훈련은 필요 만들고 싶은 게임에 대해 이야기가 어렵다면 장르별로 돌아가며 구상해봐도 좋을 듯 하다 모바일이 붐을 탄 덕에 한창 여러가지 장르에 대해 다시 생각
  63. 63. 사실 잘 모르겠다 이것만 계속 하자는 이야기는 아님 가끔씩 디저트로 하는 페차쿠차처럼 현재 스터디 상황에 맞추어 진행하면 되지 않을까 우리는 재밌게 스터디 하는게 목표 인턴과정처럼 뭔가 훈련하는 과정이 있다면 좀 더 양질의 이야기를 나누는 기술을 익히고, 좀 더 스터디에 빠르게 적응할 수 있지 않을까 싶어서 실제로 발표 안 한사람들은 어떤 사람인지 인상이 흐릿한데 이렇게 하면 발표 문턱도 낮아지지 않을까
  64. 64. 권위를 빌려와 보충설명 인벤에 기고된 CEDEC 2013 참석 후기를 보니 일본인들은 자신들이 서양보다 잘 할수 있는 스타일에 집중 일본문화의 혜택을 받으며 자란 우리도 비슷한 정서 그렇지만 좀더 차별화할 수 있는 무엇을 찾아가는 과정도 재밌을듯 좀더 서로간에 많은 이야기를 나눌 수 있지 않을까 싶다
  65. 65. 원래는 여기서 토론… 그치만 잠깐 진행 좀 할게요 저도 압니다 흐름상 슬슬 조용히 할 때지만… 나중에 흐름 끊기고 마무리 하려면 뻘쭘하니까…
  66. 66. 1.어떤 발표의 방향성 이야기 2.어떤 프로그래머의 방향성 이야기 3.어떤 스터디의 방향성 이야기 4.어떤 세상의 방향성 이야기 어디로 가야 하나요?
  67. 67. 수고하셨습니다 앞서 이야기 한 것처럼 우리가 토요일에 이곳에 모이는 목표는 술 마시고 싶어서 좋은 게임을 만들기 위한 연구
  68. 68. 꿈같은거 얘기하는건 부끄럽다 어떤 개발자가 되고 어떤 게임을 만들어야 할지 경력이 쌓일수록 말하기 뻘쭘해지는 부분이 있습니다 해외 어쩌구 하면서 불평만 하기도 싫고 그렇지만 GTA5 같은 것도 나오는데 국내 시장은 위축되고 있고 개발자들 사이에서도 혼란이 있는듯
  69. 69. 위기는 기회라는 말도 있음 우리에게 주어진 일이 작다고 불평하거나 환경을 탓하는게 아니라 스스로를 더 나은 방향으로 나아가게 할 수 있는 여러가지 방법들을 생각해보면 좋겠습니다
  70. 70. 정답은 있음 사실 이것저것 잔기술 필요없이 열심히 공부해야 한다라는 말이 맞는 말 그러나 사실 막연한 말 좀더 효율적인 방법들을 생각하자
  71. 71. 결론 그리고 환경 이전에 개개인이 좀더 노력해봅시다
  72. 72. 끝입니다 모두 훌륭한 개발자가 되서 성공해봅시다
  73. 73. REFERENCE BRDF <SIGGRAPH 2013> Naty Hoffman, “Background : Physics and Math of Shading” http://blog.selfshadow.com/publications/s2013-shading- course/hoffman/s2013_pbs_physics_math_slides.pdf Getting More Physical in Call of Duty: Black Ops II http://blog.selfshadow.com/publications/s2013-shading- course/lazarov/s2013_pbs_black_ops_2_slides_v2.pptx <NDC 2013> 김동석, “UDK로 물리 기반 셰이더 만들기” http://www.slideshare.net/jalnaga/ndc13ndc-2013-udk-19999169 <NDC 2013> 고경석, “구세대 엔진 신데렐라 만들기” http://www.slideshare.net/kokyoungseok/2-20009459
  74. 74. REFERENCE BRDF <SIGGRAPH 2013> 유니티, “TheChase” http://www.realtimerendering.com/downloads/SIGGRAPH_TheChase.pdf Real Shading in Unreal Engine 4 (Brian Karis) http://blog.selfshadow.com/publications/s2013-shading- course/karis/s2013_pbs_epic_slides.pptx CRYTECK http://www.crytek.com/download/AdvRTRend_crytek.ppt UNREAL http://www.unrealengine.com/files/misc/The_Technology_Behind_the_Elemen tal_Demo_16x9_(2).pdf
  75. 75. Q&A 신난다!

×