Live팀?
이번 학기 마케팅 수업을 듣는데, "시장 점유율과 시장 성장률"에 대한 BCG 매트릭스로 시장분류와 전략을 만들어 낼 수 있다고 배우는데... 거기에는 CashCow라는 것이 나온다.


게임 회사에서 특히 프로그래머로 국한해서 이야기를 하자면, Live팀에서 근무하는 것을 별로 선호하지 않거나, 회사 내부에서도 신규 프로젝트팀에 비해 라이브팀을 은근히 낮게(?) 보는 경향이 있다.

(여담이지만, 왜 신규 프로젝트라고 라이브는 일반적으로 프로젝트라고 하지 않을까요?! 궁금하지 않으신가요?! ^^)

하지만, 라이브팀은 수익을 창출하는 회사의 젖줄이고, 그들은 벌어들이는 돈으로 결국 신규프로젝트도 돌아가고 있는 것이다.
결국 신규프로젝트팀은 라이브팀에게 고마워해야 하지 않나?

위의 마케팅 이론으로 보자면, 문제아 혹은 별인 신규프로젝트가 성공하기 위해서는 결국 캐쉬 카우인 라이브가 계속 잘 되면서 돈을 벌어서 지원해주어야 하는 것이다.

그런 의미로

라이브 팀에서 근무하고 계신 분들은 좀 더 당당해지셨으면 좋겠네요... 여러분이 정말 대단하신 겁니다. ^^
신규 프로젝트팀은 라이브 팀 한테 고마운 마음으로 열심히 일하셔야 겠지요?! ^^

하지만 풀어야 할 숙제는 라이브를 오래하다보면, 일상적인 업무에 자기계발에 소홀해 질 수가 있다. 개인적인 생각은 이 문제는 회사 차원에서 교육에 조금 더 힘을 써주어야 한다는 것이다.
돈을 벌어다 주는 사람들에게 당연히 약간의 신경을 써주어서, 그들이 뒤쳐지지 않도록 해줬으면 좋겠다.

이런 라이브팀의 중요함을 더 부각되었으면, 좋겠다.
by cagetu | 2009/11/07 01:42 | 개발 노트 | 트랙백 | 덧글(0)
어느 팀장이야기...

어느 날 눈을 갑자기 "너는 이제 팀장이 할 때가 된 것 같은데?" 라는 둥 "자리가 사람을 만든다"는 이야기를 하면서, 팀장이 되어 버렸다. "나는 무엇을 해야 하나?"

문득, 그는 집에 오다가 생각을 한다.
"아!! 내가 손에 쥐고 있는 것은 이런 초보 팀장과 함께 해주는 사람들의 시간(청춘)이구나!!!"

나는 무엇을 해야 하나?
정치? 돈을 많이 줘?

그가 해줄 수 있는 것은 결국 그들의 더 나은 미래를 위해, 경력에 도움이 될 수 있도록 일을 열심히 하게 해주는 것 뿐!!!
그들의 시간을 보상해주기 위해서, 회사에 있는 동안 치열하게 일을 하게 해주고, 교육을 시켜주고, 일하는 방법을 알려준다.

이것 말고는 그들에게 해줄 수 있는 것이 아무것도 없다.

이러다 보니 그 팀장은 그들의 일정을 체크하고, 교육자료를 만들어주고, 회의를 참관하느라 자신의 업무를 하는 시간이 줄어들게되었다고 한다. 결국은?! 집에서 보충을 한다.

부디 일이 많다고?! 혹은 어느 팀장에게 구박 받았다고 잔소리를 좀 듣는다고 해서, 스트레스 받지 마세요!!
아직 워밍업도 안 끝났자나요?!

이게 제가 열심히 해야 하는 이유입니다. 부족하지만, 같이 한번 잘해보자구요!!!

어느 팀장이~

by cagetu | 2009/11/07 01:12 | 개발 노트 | 트랙백 | 덧글(0)
Shader와 C++에서 RenderState를 혼용할 때 주의사항
Shader의 Pass 안에 설정해 놓은 RenderState는 Effect의 Pass에 의해 적용된다.
C++에서도 RenderState를 설정할 수 있으므로, 두 곳에서 RenderState를 작성할 때에는 주의해야 할 것이 있을 수 있다.

그런데, 주의 할 것은 셰이더 이펙트를 사용한다고 선언할 때, Flag를 주는데,
    Effect->Begin( &m_nNumPass, flags );
    /// 패스 그리기
    Effect->End();
일반적으로는 Begin()하기 전에 랜더스테이트를 기억해 두었다가, End()가 호출되면 랜더스테이트를 복구한다.
(Flag 설정에 따라 다르지만...)

예를 들어,

    | SolidEntities
    {
        ///C++에서는 랜더스테이트를 설정 하지 않음
        effect->Begin();      // 셰이더 안에서 AlphaTestEnable = true;
        /// 삼각형 그리기!!!
        effect->End();
    }
    | TransparentEntities

    {
        SetRenderState( ALHPABLENDENABLE, TRUE );
        effect->Begin();      // 셰이더 안에는 AlphaBlendEnable = false;로 설정
        /// 사각형 그리기!!!
        effect->End();
    }
이렇게 되면, 결과는 어떻게 될까?
1번째 프렘임의 마지막 랜더링 할 때, effect->End()가 호출된 후에, AlphaBlendEnable = true 로 복구가 되면서, 2번째 프레임의 SolidEntity들을 그릴 때에도 AlphaBlendEnable = true가 계속 적용되어서, 결국 원하지 않게, 전체 화면에 AlphaBlend가 적용된다.

결론으로는, 왠만하면, 섞어서 쓰지 말고, 한 쪽을 선택해서 사용하시라!!!

당연한 이야기이지만, 가끔은 이런 사소한 것 때문에 고생한다.. ㅎㅎ

by cagetu | 2009/11/05 22:38 | 개발 노트 | 트랙백 | 덧글(2)
Early Z
KASA에서도 같이 본 문서인데, 밑에는 제가 한번 적용 본 사례입니다.

프레임이 올라가는지는 아직 셰이더가 복잡하지 않아서, 잘 모르겠고, 나중에 비교해보도록 하지요!!
이것을 시작으로 PostProcessing 전반과 Deferred Shading 까지 다시 한번 완벽히 학습하고, 적용해봐야 겠습니다.


[주의 사항]
by cagetu | 2009/11/03 19:29 | 개발 노트 | 트랙백 | 덧글(0)
음냥..
긍정적이고 열정적인 사람은 주변 사람들에게 열정적이고 하고자 마음을 전파하고, 부정적이고, 열정이 없는 사람은 부정적인 기운을 전파하는 것 같습니다.

제발 부탁인데, 하기 싫으면 남들에게 피해주지 말고, 남들을 위해서 연기라도 해주세요.
by cagetu | 2009/11/02 13:18 | 하루 하루 | 트랙백 | 덧글(0)
< 이전페이지 다음페이지 >