개발 노트 envious 2017/05/25 06:09 by cagetu

NDC 발표자료들을 보고 나면 참 부럽다는 생각이 많이 든다. 특히 데브캣 출신들의 발표자료를 보면서 "와~" 라는 생각을 먼저 하게 된다.

그래픽 프로그래밍을 공부하고 있지만, 전형규님의 발표자료를 보면서 항상 놀라곤 하는데, 이번에 "프로젝트 DH의 절차적 애니메이션 시스템"의 자료를 보고 놀라워 했다. 그 밖에 다른 분들 자료를 보면서도 "어떻게 저렇게 까지 할 수 있을까?" 라는 생각을 하게 된다. 이전 데브캣의 발표자료들 처럼 엔진 내에 생각이 국한되어 있지 않고 좋은 결과를 만들기 위해서 새로운 방식으로 접근하고 도전한다. 영웅전에서 BSP로 파츠의 부분을 잘라버린다거나, 마비노기2에서 지글 버텍스 등의 개념이라던지... 이런 모습들이 굉장히 신선하고 (개인적으로는) 충격적이기도 하다. 이 기반에는 항상 새로 나오는 게임에 대한 관심과 그 게임들에 대한 새로운 기반 기술에 대한 관심이 동반되어 있기 때문이지 않을까? 라는 생각을 해본다. 

보급형 프로그래머인 나로서는 이런 창의적인 생각들을 하는 분들이 너무나 부럽게만 느껴진다. 내가 가지지 못한 부분들이 참 많다. 아마도 기초가 부족해서 새로운 생각들을 잘 못하는 것이 아닌가 생각이 들기도 하고, 결과에 대한 목표치가 굉장히 높다라는 생각이 든다. 우리 팀에도 항상 더 좋은 결과를 만들어내기 위해서 생각하고 도전하는 분들이 있고, 그들을 보면서도 이전에 내 모습들을 전잖히 반성해보게 되었다. 내가 이렇게 치열하게 퀄리티를 놓고 고민해본 적이 언제였더라??? 

나이가 어느 덧 40이 가까워 온다. 예전에는 이 나이까지 프로그래머로 살 수 있을까? 라는 생각도 했고, 지금도 일 할 수 있는 시간이 얼마나 남았을까? 라는 생각이 자주 든다. 아마 더 그래서 더 부럽기도 하고, 내가 저렇게 할 수 있을까? 라는 두러움도 생기는 것 같다. 이런 창의적인 발상이나 수준 높은 도전에 대한 부러움을 품고, 나도 저 수준까지는 못 되더라도 꾸준히 노력은 해봐야 하지 라는 생각이 다시 들었다! GDC나 시그래프 발표자료들을 지속적으로 찾아보고 꾸준히 리뷰해보고, 집에서 조금씩 만들어 보기도 하고!! 언리얼이나 유니티를 보면서 많이 배워야 겠다. 지금 회사 프로젝트에서 열심히 개발하면서 많이 보고 느끼고(이게 1순위!), 집에서도 틈틈히 개발도 해보면서 이런 저런 게임들도 많이 즐겨보고 리뷰해보자!!!

그래... 그냥 즐기자!!! 내가 능력자가 안되면 어떠니? 그냥 즐기자!!! 




(그래! PS4 Pro를 사는거야!!!! 호라이즌 제로 던이 필요해!!! 후훗... 자연스러워졌어!!)

하루 하루 1년이 지났다. 2017/05/23 23:20 by cagetu

2016년 5월 23일 첫 출근했습니다. 딱 1년이 지났다. 다른 회사에서는 1년이 정말 빠르게 지나갔었는데, 이번 회사에서는 1년이 정말 오랜 시간을 보낸 것 같은 느낌이 들고 오래 다닌 느낌이 든다.

작년에 이 맘 때에 이사해야 하고, 아버지는 아프고, 회사는 옮겨야 하고, 아이들을 진학하고, 너무나 많은 환경의 변화가 있었기 때문에 너무나 정신적으로 많이 힘들어 있는 상태였고, 개발자로의 자신감도 거의 땅에 굴러다니고 있었기 때문에 정말 절박했다. 과연 내가 잘 해낼 수 있을까? 여기서 인정 받을 수 있을까? 적응할 수 있을까?

1년이 지난 지금 내 생활은 조금 안정화 되었고, 회사에도 조금씩은 적응해 나가고 있다. 운이 좋게도 이직 후 회사에 좋은 분위기가 많아서 더불어 많이 혜택을 받기도 하였다. 많이 배우는 부분도 있고, 많이 고민하는 부분도 많이 있다. 그래도 대규모 프로젝트를 진행하는 모습을 보면서 그래도 어느 정도 나도 성숙되는 부분도 있다. 그리고 언리얼 소스 코드를 보면서 배우고 생각하게 되는 부분도 정말 많다.

좋은 회사에서 좋은 개발팀과 좋은 프로젝트를 만났다. 하지만 내가 잘하고 있는 것인지 잘 모르겠다. 아직 내 실력에 대해 확신이 없다. 아니 어쩌면 내가 어느 정도의 프로그래머인지를 정확히 알아가고 있는지도 모르겠다. 

앞으로 얼마나 더 여기에 있을지는 나도 잘 모르겠지만, 그 동안 적어도 맡겨진 일만이라도 잘 만들어낼 수 있기를 바랄 뿐이다. 그리고 내가 도움이 되어서 좋은 게임으로 많은 사람들이 즐길 수 있는 게임을 만들 수 있기를 진심으로 희망한다. 

그래도 1년 동안 나름 수고했다고 스스로에게 작은 칭찬해주고 싶다. (선물도 하고 싶은데.. ㅎㅎㅎ)

개발 노트 [Vulkan 일지] Shader 정리 2017/05/21 18:19 by cagetu

기본적은 SPIR-V에 대해서는 검색이나 책을 보시면 더 많은 내용을 찾아보실 수 있을 것입니다.

이 내용은 SPIRV-를 가지고 게임엔진에서 셰이더를 처리해야 하는데, 아니 Ubser Shader 형태로 셰이더를 구성해보려고 했을 때 생겼던 문제점과 그 문제를 어떻게 해결했는지를 정리한 것입니다. 엔진이나 프로그램에서 셰이더를 이렇게 사용하는 것이 좋겠다! 라는 개인적인 관점이니 참고만 하시면 될 듯 합니다.


파일 파싱이나 컴파일러를 만드는 것이 자신 있으신 분은 언리얼이나 유니티 처럼 멀티플랫폼 셰이더 컴파일러를 만들어 보시는 것도 좋은 방법이 될 것 같습니다. (그냥 언리얼이나 유니티를 쓰는게 빠르겠네요. ;;;)

혹시 질문해주시면 공부해서 알려드릴게요!!!

개발 노트 게임 개발에서의 STL 2017/05/16 00:59 by cagetu

마법없는 코딩, STL, 언리얼 엔진 등


STL에 대한 논의는 생각해보면, 2000년도 초반에 GPGStudy에서도 엄청나게 많이 토론이 되었던 내용이었다. 위의 이런 주제들이 시간이 되게 오래되었지만, 참 반갑다.

개인적으로는 stl을 참 많이 사용했다. 자체 엔진도 stl 기반으로 만들어서 많이 사용하기도 했다. (물론, 서버는 하지 않아서 잘 모른다)
지금도 개인적으로 집에서 하는 프로젝트도 stl을 그대로 사용해서 개발해보고 있다. 아직까지는 그렇게 엄청난 규모의 게임이 아니어서 그런지 모르겠는데, 특별히 사용해서 느려졌는지는 잘 모르겠다. 말 그래도 그냥 쓴 것일 뿐이다.

하지만, 언젠가 컨테이너를 만들어서 사용해야지!! 라는 생각을 계속 가지고 있었는데 당연한 이야기이지만 메모리 때문이기도 하고, 그냥 알고리즘 공부도 할 겸 같이 만들어보고 싶었기 때문이다. 지금 Vulkan을 공부하고 있는 프로젝트도 api에 대한 공부가 끝나면 본격적으로 엔진을 구현하려고 생각 중인데, 그 때에는 Container 클래스에 대해서 공부 겸 간단한 형태로 만들어 볼 생각이다. (솔직히 EASTL을 쓰는 것이 좋지 않을까? 라는 생각도 있다.)

과연 내가 발전된 stl 처럼 복잡한 내용을 구현할 수 있을까? 라는 생각이 들기도 하기도 해서 stl을 계속 사용하게 된다면, 위의 두 분의 영상에서 들을 수 있는 것 처럼 EASTL이나 allocator를 재정의해서 사용한다거나 등등의 방법을 계속 고민해야 할 듯 하다. 편하다고 그냥 아무 생각 없이 쓰면 안된다.  페이스북에 대해서도 string이 너무 느려서 FBString을 구현해서 최적화를 했다는 기사를 본 적이 있다.

지금까지 stl을 의심없이 그냥 사용했던 점에 대해서 반성하는 시간이었다...


하루 하루 2017년 5월 10일 2017/05/14 17:18 by cagetu


대통령이 바뀌었다. 사람 한 명이 바뀌었다고 나라가 바뀔지는 모르겠지만, 부디 좋은 결과로 이어져서 우리 아이들에게 자랑스러운 나라를 만드는데 최선을 다해주면 좋겠다. 아울러, 이제 우리가 정치에 더 많은 관심을 가지고 매의 눈으로 지켜봐야 한다!!! 화이팅입니다!!! 



1 2 3 4 5 6 7 8 9 10 다음



메모장

내가 먼 훗날에 이 글들을 보았을 때, 좋은 추억이 될 수 있기를...

나를 위해... 나에게 쓰는...

msn: cagetu@hotmail.com
mail: cagetu79@gmail.com
twitter: twitter.com/cagetu
facebook: facebook.com/cagetu