2007년 9월 26일 수요일

골프 연습

1. 그립 체크
2. 채의 몸쪽 부분와 몸 사이의 거리 체크
3. 채의 공쪽 부분의 공 사이의 거리 체크
4. 어깨선, 하체 , 무릅 구부림 체크
5. 공 끝까지 보기
-----------------------------
일단 5단계까지 해서 7번으로 100야드는 잘 나가고 있는 듯... 다음 단계는 아직 잘 모르지만,
대략...

6. 허리 돌리기
7. 채가 하프때 타겟방향과 평행으로
8. 왼쪽 팔 펴면서 스윙
9. 코킹 체크
10. 무게 중심 이동
11. 피니싱

정말 체크할 것도 많다.

추석특집 영화 두편

복면달호
괴물

1. 복면달호

주인공 차태현, 락만을 고집하며 밤무대를 전전하다가 임채무를 만나, 트로트의 세계에
입문하게 된다. 같은 여자 동료에 반해 시작을 하게 되었지만, 트로트의 맛을 알게되면서
트로트로 공중파 방송을 타게 된다. 첫방송에 너무 떨리고, 아직도 자신이 트로트를 하고
있는 것이 부끄럽던 차태현은 복면을 쓰고 무대에 스게 되고, 그게 그 시대상에 맞게되어(?)
히트하게 되고, 임채무의 음악 기획사는 돈방석에 앉게 된다.
스타가 되면서 여자 동료와 멀어지고, 자신도 변하게 됨을 깨닫고, 자신을 되찾기로 결심한다.
가요대상 수상식에서 복면을 집어던지고 자신을 밝히게 되고,
이듬해 콘서트에서 락으로 전향한 모습으로 자신을 찾게 된다.
음악은 다 통하고, 대중을 위한 것이라면 장르는 무관하다는 것을 다시금 깨닫는다.
이 모습이 대략, 3D MMORPG만을 만들려고 하는 게임개발자와 무관하지 않은 것 같아
동감이 많이 되었다.
대중에게 사랑받는 엔터테인먼트를 만들기 위해서 컴퓨터 게임으로 보여주는 것을
하는 것이 게임업체다. 2D MOG에 불과한 던파이긴 하지만, 대중에게 많은 사랑을 받고
있고, 나름대로의 훌륭한 기술들을 쓰고 있고, 나름대로의 맛이 존재한다.
개발자들의 꿈을 다 이뤄주긴 어렵지만, 그들이 대중들에게 엔터테인먼트를 주려하는 의도를
공통적으로 갖고 있고, 나 또한 그렇다. 그렇기 때문에 우리는 함께 할 수 있고,
언젠가는 장르와 기술을 초월한 작품을 만들 수 있으리라 생각이 든다.
그 작품은 문화 창달을 위해서 절대적인 진실을 전달 할 수 있다면 좋겠다.

2. 괴물

한국의 부조리를 너무나 잘 보여준다. 외국인에 비치는 한국의 이미지를 잘 모아서
하나의 괴물로 탄생시켰다.
시민의 의견을 무시하는 정부,(무시할 수 밖에 없는 구조를 가진 사회구조)
양궁을 잘 하는 여장부, 애뜻한 한국적 부성애, 사회에 반항을 하던 운동가 출신 별볼일없는
회사원, ...
거대한 서울이라는 도시가 쏟아내는 부조리를 담아내고 있는 한강에
괴물이 하나쯤 살고 있지 않았을까...
우리 마음속에 저마다 서로에게 상처를 주는 괴물을 키우고 있지 않을까...
공포의 탄생이라는게 아주 간단하다.
부정적인 이미지가 뭉쳐 하나의 형상이 되어 나타나면 그게 괴물이다.
faculty라는 영화의 시작에서 '이런 일 한번쯤 해보고 싶었어!'라는 멘트가 떠오른다.
사람마다 두려움과 공포,이기적 자존심을 한번쯤 갖게 되고,
그것을 키우면 '골룸'이나 '프레디'처럼 변하게 되는 것이다.

인간이여, 두려움에 떨지 말고, 믿어라.
세상의 진실과 진리에 대해서 더 탐구하라.
행동에 옮겨라.

2007년 9월 17일 월요일

만들고 싶은 게임 엔진 - Part 1

총론부터 이야기 해보자.
게임엔진은 게임을 잘 만들 수 있도록 해주는 기술 기반이다.
게임엔진이 개발 프로세스를 제한할 수는 있으나, 발목을 잡아서는 안된다.
그 제한의 테두리안에서 무한한 자유를 부여할 수 있어야 한다.
그 테두리를 만드는 것은 많은 경험축적과 통찰력에 의해서만 만들어진다.
경험축적은 누구나 할 수 있다.
하지만, 통찰력을 얻는 것은 쉬운일이 아니다.
통찰력을 얻으려면 많이 생각하고 많이 실험하고 그러한 반복을 여러번 해야 한다.
실험하기 어렵다면 시뮬레이션할 수 있는 능력이 되어야 한다.
수 많은 변수들이 머리속에서 한꺼번에 돌릴 수 있는 능력이 되어야 한다.
엔진이란게 힘든 이유는, 공통 분모를 찾아야 한다는 것이다.
Commonality!
궁극적인 Commonality는 Zero이다!
하지만, 어떤 Concept가 정해지면, Zero에서 One으로 Two로 하나하나 뭉쳐서
Commonality를 지원하는 구성체로 만들 수 있게 된다.
그리고 공통분모 위에 게임을 개발 할 수 있어야 하는 것이다.

엔진의 조건들을 살펴보자.
일단, 플랫폼 파트와 로직 파트가 있을 것이다.
플랫폼 파트는 시스템 아키텍쳐를 숙지하고, 그것을 최대한 활용하면서
적은 리소스(CPU,메모리)를 쓸 수 있도록 디자인 되고,(즉, 최적화가 되어야 한다.)
확장성과 생산성을 고루 갖춰야 한다.
안정성은 말할 것없이 중요한 요소이다.

서버엔진과 클라이언트엔진의 중요한 차이점은
플랫폼의 차이에서 기인한다.
서버는 서비스 머쉰의 아키텍쳐를 최대한 활용하면 된다.
클라이언트는 유저들의 다양한 머쉰의 아키텍쳐를 모두 지원하면서,
안정성,최적화성이 유지되어야 한다.
서버는 대부분 하나의 머쉰에 타겟에 맞춰서만 최적화되면 되지만,
클라이언트는 여러대의 머쉰에서 잘 돌도록 최적화 되어야 한다.
서버는 그래픽이 없지만, 클라이언트는 그래픽이 있다는 점이 가장 큰 차이점중에 하나이다.
그러나, 나중에 한 20년후? 그때에는 서버에서 렌더링하는 시대가 올수도 있다.
예를 들면, 아주 멋진 그림을 서버 머신에서 렌더링하고, 그 그림을 스트리밍해서
클라이언트들이 다운로드 받는다면, Thin Client를 구현할 수 있게 된다.

서버와 클라이언트를 연결하는 네트워킹.
클라이언트와 클라이언트를 연결하는 P2P네트워킹.
네트워킹 또한 중요한 요소이다.
프로세스간 통신,머신간 통신으로 이해하면 쉽다.
그 통신 방식이 하나로 통일되고 일반화된다면,
생산성이 향상될 것이다.
안정성과 확장성 또한 향상된다.

모든 기술 요소를 이와 같이
생산성,안정성,확장성,최적화성 입장으로 등급을 매겨서 평가할 수 있다.
그리고, 기능성의 dependency graph를 그리고,
commonality의 root부터 구현한다면,
대략 순서와 일정을 만들 수 있을 것이다.

2007년 9월 6일 목요일

의견의 존중과 무시

좋은 의견이 없을때 멤버를 탓하지 말고
좋은 의견을 돌출한 여건이 조성되지 않음을 탓하면 무시 않아도 된다.

좋은 의견이 있을때
멤버의 능력으로 좋은 의견을 내게 되었다고 생각하면 존중하게 된다.

가치관의 차이나 일시적인 감상적인 허영으로 생기는 의견차이가 생길때 당황스럽게 마련이다.
그러나 항상 긍정 포지션으로 뭔가를 해야 한다.
왜 그런지 따져 볼 것이 아니라, 내가 왜 그렇게 생각하는지를 먼저 말하는 것이 좋은 방법이다.
하지만 갑작스러우면 내 생각조차 생각 안날때가 있는데,
이럴땐 유보 포지션으로 유지하는 편이 낫다.
내 의견을 이야기 할때도 강하게 이야기 하기 보다, 조목조목 조근조근 이야기하는 포지션을 취하자.
반대 의견이면 상대방이 다치지 않도록 따뜻하게 배려하도록 하자.