'2008/04': 검색된 포스트 '8'건
- 2008/04/28 스킬을 사용할 수 없습니다 (4)
- 2008/04/27 개인정보 (4)
- 2008/04/24 SKT 3G 불통 (9)
- 2008/04/21 메일 (12)
- 2008/04/15 NV 24HD (4)
'갈아 엎는다'는 표현을 사용합니다. 지금까지 개발한 결과물의 상당 부분을 다시 만드는 과정을 그렇게들 이야기하더군요. 내부적으로는 아주 많은 부분을 바꾸지만, 그 결과는 지금과 크게 다르지 않은 경우가 많아서, 바쁜 개발팀에서 시도하기에 쉽지 않습니다. 웬만하면 갈아엎을 일이 생기지 않는 개발 체계와 과정을 만드는 것이 좋고, 혹시 갈아엎어야만 할 일이 생겼다면 최대한 빨리 갈아 엎어야 합니다. 갈아엎어야만 할 문제를 건드리지 않고 라이브까지 끌고 가면 더 이상 손을 쓸 수 없는 일이 생깁니다. 오늘은, 갈아엎어야 할 일을 가만 놔뒀다가 영원히 손쓸 수 없게 된 이야기를 해 보려고 합니다.
전에 이야기한 적이 있는데, 예전에 만들던 게임에 등장하는 몬스터들은 눈이 안 달려 있어서, 스스로 주변 지형을 보고 길을 찾지 못합니다. 그래서 몬스터들이 주변 지형을 인식할 수 있도록 그래픽 데이터로 만들어진 지형 정보를 기계가 인식할 수 있는 정보로 바꿔 줘야 했습니다. 이 작업을 하는데는 크게 두 가지 방법이 있습니다. 흔히들 '패스 엔진'이라고 부르는, 그래픽 데이터를 정해진 규칙에 따라 이동할 수 있는 지역과 그렇지 않은 지역을 구분하는 방법과, ... 무식하지만 사람이 직접 몬스터가 이동할 수 있는 지역을 정해주는 방법입니다.
사실, 어째서 후자의 방법을 사용하게 되었는지, 그 의사결정 과정에 대해서는 잘 모릅니다. 전자의 방법에는 엔진을 구입하는데 약간의 - 전체 개발비용에 상대적인 비용 - 비용과, 이 비용을 사용하는데 필요한 행정적인 절차가 있었고, 후자의 방법에는 개발팀을 투입해 직접 데이터를 입력하게 해야 했는데, 약간의 비용과 행정적인 절차보다는 개발팀의 인력을 사용하는 편이 더 낫다고 생각한 모양입니다. 그리하여, 개발팀이 노가다로 데이터를 입력하기 시작했습니다.
처음에는 지형 정보를 언리얼 에디터에 띄워놓고, 언리얼 스크립트로 액터를 하나 정의한 다음, 이 액터를 맵 위에 포인트 단위로 찍고, 포인트 사이의 관계를 연산한 결과를 저장한 다음, 몬스터가 이동할 때 이 결과를 참고하게 해놨습니다. 맨 처음에는 한 맵에 찍혀 있는 모든 포인트 사이의 이동 가능한 결과값을 모두 저장해놨는데, 데이터 크기는 엄청났지만 속도는 빨랐습니다. 데이터를 입력하는 사람들 이외의 모든 사람이 만족했지요. 하지만, 점 단위로 지형 정보를 분석하게 만들어놨더니, 절벽이나, 계단 같은 지형에서 자주 문제가 생겼습니다. 개선에 개선을 거듭해서 결국 실린더 모양으로 만들었는데, 이 과정 각각에서 지형 정보의 형식을 바꿀 때마다 모든 지형 정보를 다시 입력해야 했습니다. 기획팀이 주로 이 작업을 담당했는데, 나중에는 견디다 못해 아르바이트 작업자를 고용하기까지 했습니다. 참고로, 이 사람들 일당이 기획팀원들 일당보다 많았다고 합니다. :(
사실, 이 각각의 과정에서 '우리 이제 노가다 그만하고 그냥 엔진 사자'란 이야기가 수십번 나왔습니다. 개발이 진행되면 진행될수록 엔진 사서 붙이고 관계된 부분을 '갈아엎는'데 드는 자원과 리스크가 점점 커졌기 때문에, 시간이 지날수록 이런 푸념이 무의미하다는 것은 말하는 우리들 스스로가 더 잘 알고 있었습니다. 이렇게 진행된 프로젝트는 결국 라이브에서 밀려드는 버그를 감당할 수 없는 지경이 됐는데, 유저들이 가장 많이 경험하는 버그인 '스킬을 사용할 수 없습니다'와, '대상이 보이는 장소로 이동하세요'로 돌아왔습니다. 이 문제는 사람이 찍다 보니 지형을 이루는 실린더가 연결되지 않아 생기는 문제인데, 눈으로 보기에는 뻔히 몬스터가 앞에 있지만 그 몬스터가 서 있는 위치와 내 위치 사이에 연결되는 실린더가 없어, 서로 동떨어져 있는 것으로 착각하고 있는 상황입니다. 이 문제는 그때그때 문제가 일어나는 지점의 스크린샷을 받아 그 부분의 지형 정보를 보강하는 식으로 처리했지만, 실수는 도처에 널려 있었고, 버그가 알려진지 1년이 다 되어 가지만, 이제는 알긴 아는데, '절대로 고칠 수 없는 버그'가 되어 버렸습니다.
듣자 하니, 이제 이 문제를 수정하기 위해 강력한 특단의 조치가 진행되고 있다고 합니다. 올해 말 정도면 그 실체가 드러날 모양인데요, 이 경우로부터 배워야 할 교훈은 게임을 만들다가, '갈아엎어야 한다'는 느낌이 오면 최대한 빨리 갈아엎으라는 것, 그리고 '인력'을 쉽게 생각하지 말아야 한다는 것의 두 가지입니다.
요새 개인정보를 아무데나 굴리는게 대 유행인 모양입니다. 어느 쇼핑몰은 한 천만명어치 개인정보를 한큐에 날리기도 하고, 다른 회사는 애초에 개인정보를 가지고 그리 좋지는 않은 목적에 활용하려고 마음먹었다고도 합니다. 연일 여기 저기서 개인정보 관련 보안 방침을 강화하고, 법률을 정비하겠다는 소식들이 들려옵니다. 골자는 대략 개인정보를 강력하게 보호하는 가이드라인을 만들고, 지키지 않으면 조져버리겠다는 건데요, 예전에 어디선가 읽은 마왕 가이드라인을 보면 강력한 초 수퍼 아티팩트는 일곱마리의 용이 지키는 화산 밑에 감추지 말고, 그냥 내 침대 밑에 놔두라는 말이 나옵니다. 아무리 용이 지키는 화산에 개인정보를 넣어 놔도, 거기에 용 한 마리를 더 늘려도 털릴건 털립니다.
게임회사에서 일하기 전, 전, 전에 쇼핑몰을 만들었습니다. 당시에 잘 나가던 다른 쇼핑몰을 고대로 카피했는데, 그 잘 나가던 다른 쇼핑몰 솔루션에는 다양한 개인정보 수집 기능이 있었습니다. 이 때에도 웬만하면 주민등록번호는 인증한 다음 저장하지 않는 분위기였는데, 카피하던 쇼핑몰 프로그램에는 체크박스 하나를 체크해두면 주민등록번호를 수집할 수 있었습니다. 주민등록번호는 그냥 놔두면 숫자의 나열일 뿐이지만, 실명인증을 통과한 주민등록번호는 상당한 쓸모를 가지고 있었습니다. 이것들을 리스팅하거나, 성별, 나이 별로 조회하도록 되어 있었습니다. 아, 암호화요? 원래는 'md5()' 해서 저장하도록 되어 있지만, 이것 역시 체크박스 하나를 끄면 평문으로 저장됩니다.
그때 쇼핑몰 만들던 기억을 더듬어보면, 개인정보에 대한 보안의식 같은건 없었습니다. 특별히 무시하고 있다기 보다는, 그냥 관심이 없었습니다. 어차피 DB에 뭘 저장하든 DB 털리면 다 함께 털리는 것은 마찬가지였고, 한창 간단히 사용하던 'md5()' 같은 것들도 주민등록번호가 숫자이기 때문에, 암호화 되어 있어도 사전에 준비만 잘 하면 그냥 알아낼 수 있습니다.
그렇게 모은 실명 정보로 뭘 할수 있을지 당시에는 별로 고민하지 않았습니다. 다만, 그 쇼핑몰 솔루션으로 만들어졌을 것으로 추정되는 쇼핑몰에서는 물건을 구입하지 않는 정도로 타협했지요. 뭐, 싼 솔루션을 찾아 헤매는 영세 업체들이 운영하는 쇼핑몰들은 얼마 못 가 대부분 망했기 때문에, 더 이상 주민등록번호를 수집하는 쇼핑몰 같은 것은 기억속에서 지워버렸습니다. 하지만, 그 때 수집 됐을 실명 인증을 통과한 개인정보들은 지금쯤 어느 서버에 어떻게 보관되어 있을지는 가끔 궁금해집니다.
근본적인 문제는 주민등록번호를 통한 실명인증이라는 것은 지나가는 개들도 알고 있고, 이걸 극복하려고 아이핀 같은 또라이짓들도 나오고 있습니다. 주민등록번호를 원천적으로 받지 않는다는 발상은 좋았는데, 개발 부하가 큰 방식을 선택해서 수많은 영세 업체까지 전파되는데는 100년으로도 모자를 겁니다. 간단히 기존 주민등록번호와 호환되는 체계를 사용할 생각을 정말로 한 적이 없을지 의문입니다.
생각해보면, 주민등록번호를 통한 인증이라는게, 꽤 많은 개인이나 기업의 이해관계에 얽혀있습니다. 실명 인증으로 장사하는 회사, 그걸 회사에 위임한 정부, 일단 개인정보를 제시하게 만든 다음, 그 개인정보에 대한 보안을 맡고 있는 회사들 등등, 개인정보를 노출시키지 않거나, 노출 빈도를 최소화해야 천만명어치 개인정보가 한 큐에 털리는 문제가 일어나지 않을 수 있다는 건 모두 알지만, 이해관계가 얽히기 시작하면 아이핀 같은 개 또라이 같은 방법을 들고 나와 그게 전부인 마냥 떠들 수밖에 없습니다. 여기에, 개인정보가 어디에 사용되고 있는지를 확인해 주는 서비스 회사들까지 생각하면 아주 눈물이 앞을 가립니다. 한달에 얼마라고 했죠?
오늘도, 제 실명 인증된 주민등록번호를 각기 제시한 몇 개의 사이트에 로그인해서 글을 읽고, 글을 쓰기를 반복했습니다. 화산에 용을 한 마리 더 추가한다고 해서 개인정보를 털렸을 때 일어날 문제를 줄일 수 없고, 개인정보의 관리는 이미 개개인의 유저가 어떻게 해볼 수 있는 레벨을 넘었습니다.
퇴근시간에 친구와 저녁 먹으려고 선릉역쯤 와서 전화를 꺼냈습니다. 2G 서비스를 사용할 때는 연결이 되지 않아 'Limited Service' 상태가 될 일이 거의 없어서 몰랐는데, 3G 서비스를 사용하기 시작한 다음부터는 화장실에만 가도 연결이 되지 않았기 때문에, 전화가 네트워크에 연결되지 않는 상태가 일어나는 것에 상당한 짜증을 느끼고 있었습니다. 전화를 꺼내 보니 전파가 막힐 일이 없는 대로변에서 'Limited Service'가 떠 있었습니다. '이 빌어먹을 전화가 또 말썽인가' 싶어 껐다가 켰는데 계속해서 네트워크에 접속하지 못하더군요. 일단 전화를 써야겠기에 공중전화를 찾아 선릉역으로 내려갔습니다.
어찌된 일인지 공중전화 앞에 인상을 잔뜩 찌뿌린 사람들이 자기 전화 디스플레이를 쳐다보며 공중전화로 전화를 걸고 있었습니다. 자세히 보니 사람들도 저와 똑같은 상태였고, 조금 더 이야기를 해본 다음에서야 SKT 3G 네트워크가 불통 상태라는 것을 알았습니다. 공중전화가 모두 넉 대가 설치되어 있었는데, 두 대는 카드 전용, 한대는 컬러 디스플레이가 달린 티머니카드와 신용카드, 동전을 사용할 수 있는 모델, 다른 하나는 디스플레이는 흑백이지만, 티머니카드와 신용카드, 그리고 동전을 사용할 수 있는 모델이 있었습니다. 전화카드를 살까 하고 주위를 둘러봤는데, 팔 것처럼 보이는 가게가 없길래, 신용카드로 전화를 걸어보기로 했습니다.
신용카드로 전화를 거는 건 처음 써보는 거라 어리둥절했지만, 카드를 넣고, 빼고, 기다렸다가, 비밀번호를 입력하고, 또 기다리면 됩니다. 그리고 통화는 안되더군요. 저만 그런줄 알았는데, 제 뒤에 신용카드로 통화를 시도하는 사람이 전부 다 그랬습니다. 요즘 개인정보 요출이 대유행인데, 신용카드 번호와 비밀번호를 수집하는 피싱 기계가 아닌가 하는 생각이 들었습니다. 남은 건 동전으로 전화를 거는 방법밖에 없는데, 마침 동전이 없더군요. 지하철 매표소에 가서 동전을 바꿔다가 전화를 걸었습니다. 친구와 강남역에서 만나기로 하고, 평소에는 '가서 연락할께'라고 했지만, 연락이 안될테니 '정확히 어디서 기다려라'라고 이야기해야 했습니다.
강남역에 도착해 약속장소에 갔는데, 엇갈린 모양입니다. 강남역을 빙빙 돌아 공중전화를 찾아냈는데, 이번에도 신용카드로 통화를 시도하려는 사람 두어명이 비밀번호를 입력하고 무한정 기다리다가 욕지거리를 내뱉으며 사람들 사이로 사라졌고, 전화카드 전용 전화에는 국제전화를 거시는 외국인이 장시간 통화중이었습니다. 어차피 아무도 카드 전화에는 관심을 안 가지더군요. 저도 마찬가지였습니다. 또다시 한 통화에 2000원을 지불할 생각은 없었습니다.
3G 서비스를 사용하면서, 2G 네트워크는 사용 가능한 곳에서 사용할 수 없다든지, 음질이 개떡같다든지 한 문제야 그런가보다 하겠지만, 몇 시간씩 사용할 수 없는 문제는 여러 가지를 생각하게 만듭니다. 또, 식별번호 통합으로 상대가 어느 네트워크를 쓰는지 알 수 없게 되어 버렸기 때문에 공중전화로 전화를 거는 상대도 SKT 3G 네트워크를 사용해 서로 고달프게 되는 일도 생기더군요.
거기에 가장 참을 수 없는 건, 역마다 설치된 공중전화 중에, 똑바로 사용할 수 있는 전화가 거의 없었다는 점입니다. 카드 전화는 어디서 카드를 판매하는지 적혀있지도 않고, 신용카드 통화는 먹통이며, 티머니카드는 꺼져있었고 오직 동전으로 통화할 수 있는 공중전화가 공중전화 몇대 중 한대 꼴로 있었습니다. 공중전화가 필요한 상황이 돼도 웬만해서는 사용할 수가 없었습니다.
오늘 뉴스에 보니 보상을 신청한 사람에게 5천원씩 요금을 할인해 준다고 하던데, 뒷맛이 개운하지 않았습니다. 엉망인 3G 네트워크, 상대 네트워크를 식별할 수 없게 된 전화번호, 겉모양만 번지르르한 공중전화 등등 전체적으로 이동전화 의존도가 너무 높으면서도, 그게 먹통이 되면 대체할 수단이 전혀 없다는 것을 깨달은 꽤 걱정스런 경험이었습니다. 전화에 VoIP 클라이언트를 설치해놔야겠습니다. 아, 뉴스에선 18시 40분에 복구했다는데, 22시 30분에도 전화가 먹통 상태이던 저는 뭐가 잘못된 걸까요. :(
사람들이 이제 메신저와 문자메시지에 익숙해져서 더 이상 느려터졌고, 불편한 이메일을 사용하지 않는다는 이야기가 여기 저기서 나오고 있지만, 메일은 아직도 가장 많이 사용하는 커뮤니케이션 방법입니다. 메일은 여러 가지 장점이 있는데, 회신에 회신을 거듭하다 보면 일이 끝날 때까지 어떤 식으로 일이 진행되었는지를 파악하기 쉽고, 이렇게 회신을 거듭한 메일을 다른 사람에게 전달하면 다른 사람도 간단히 업무를 파악할 수도 있습니다. 또, 집단의 특성에 따라 메일 자체를 업무 지시로 처리하기도 합니다.
메일을 주고 받으면서 메일 클라이언트에 전부터 꼭 필요하다고 생각한 기능이 있는데, 바로 메일을 주고 받은 관계를 도식화하는 기능입니다. 메일은 회신이나 전달을 늘상하게 되는데, 한참 회신과 전달을 거듭하다 보면 이 메일의 인과관계를 확인해야 할 때가 있습니다. 특히, 팀 밖에서 날아온 메일을 팀 안에서 주고받은 다음, 다시 팀 밖에 회신을 해야 할 때가 있는데, 팀 안에서 무슨 이야기가 오가더라도 팀 밖으로는 결과만 나가야 합니다. 그러면, 메일을 주고 받는 관계에 가지가 하나 생기는 셈인데, 이게 반복되면 메일 관리가 괘 골치아파집니다. 대략 이런 느낌입니다.
파란색이 팀 바깥에 나가는 메일, 녹색이 팀 안에서 주고 받는 메일입니다. 녹색 메일로 팀 안에서 의견을 주고받은 다음, 이 녹색 메일에 그냥 회신해 팀 밖에 줘버릴 수도 있지만, 보안 문제도 있고, 팀의 업무 체계에도 문제가 생기는 방법입니다. 그래서, 각각을 구분해서 처리하게 되는데, 여기서는 파란색 메일과 녹색 메일 사이에 가지가 하나만 생겼지만, 이 가지가 여러 개가 되면 대체 내가 어느 가지의 메일을 쓰고 있으며, 이 메일을 이 사람에게 바로 회신을 해도 되는지, 이 메일을 이 사람에게 전달해도 되는지 햇갈리게 됩니다. 그래서, 메일을 주고받은 상황을 한번에 도식화해서 내가 어떤 가지를 처리해야 하는지 보여주는 기능이나 프로그램이 있으면 좋겠습니다.
사실은 조금 꼼지락거리면 마인드매니저로 충분히 할 수 있는 일이긴 한데, 분명 자동화할 수 있는 일이지만 이걸 사람이 하려니 거 대충 처리하고 회신은 아예 새 메일을 열어서 하는 편이 편하기도 하고, 나름 더 안전하기도 해서 그렇게 할까도 고민 중입니다. 대신 메일을 받는 사람은 메일에 붙어 있던 히스토리가 날아가버릴 테니 '이거 뭥미?' 하고 디시 회신해 올지도 모르는 일이네요. 예전이나 지금이나 웬만큼 잘 나간다는 메일 클라이언트에서도 메일을 체계적으로 관리할 수 있는 방법을 제시하는 걸 본 적은 없습니다.
장기적으로 메일을 계속해서 사용해야 한다면 이런 방법이나, 이와 비슷한 방법으로 메일을 관리하지 않으면 머리가 터질 상황이 올텐데, 어떻게 하면 좋을지 아직도 고민입니다. 혹시 메일을 관리하는 다른 방법이 없을까요.
전에 쓰던 카메라 자체에 아무런 불만도 없었지만, 어중간한 크기와 구조 덕분에 아무렇게나 들고다니기 애매하다는 점은 불만이었습니다. 35밀리 크기의 DSLR 따위 별로 크지 않다고 생각하시는 분께는 아무 상관 없는 일이지만, 주머니에 잘 안 들어가는 카메라는 가방에 넣어 둘 수밖에 없는데, 그럼 아무때나 확 뽑아서 찍을 수가 없었습니다. 몇 번인가 그런 상황을 겪다가 가방을 여는 액션 자체가 귀찮아져서 카메라를 잘 안 가지고 다니게 됐는데, 그 때부터 스냅 카메라를 하나 사야겠단 생각을 했습니다.
그래서 삼성테크윈의 NV24HD를 골랐는데, 마지막까지 이 모델과 경합을 벌이던 건 웃기게도 제 파워샷 G5의 후속모델인 G9이었습니다. 크기는 별로 줄어들지 않았지만, 카메라 뚜껑이 자동으로 여닫히고, 툭 튀어나온 부분이 없어 조금 무리하면 주머니에 들어갈 것 같았습니다. 게다가 여러 장점이 있었지요. 꽤 마음에 든 부분은 감도 조절을 카메라 윗부분의 왼쪽에 달린 다이얼을 돌려 바로바로 할 수 있는 것이었는데, 상황에 따라 감도 조절을 1초도 안 걸리고 할 수 있는 점이 끌렸습니다. 또, NV24HD와 가격도 대강 비슷했지요. ... 아, 나머지 스냅샷 카메라들은 마음에 드는게 없었습니다. G9은 캐논프라자에 가서 만져봤는데, 뭔가, 조작이 예전같지가 않다는 석연치 않은 이유로 탈락.

G9처럼 NV24HD에도 왼쪽에 모드 다이얼 비슷한게 달려있는데, 이쪽은 이미지 효과 다이얼입니다. 처음엔 아무 쓸모 없을 거라고 생각했습니다. 어차피 찍어서 후보정 하면 되니까요. 헌데, 후보정 안할 생각 하고 가지고 놀다 보니 이미지 효과를 바로바로 조정하는 것도 나름 쓸모 있었습니다. 왼쪽 다이얼 자체를 커스터마이징 할 수 있으면 좋겠단 생각도 했는데, 이정도 스냅 카메라에 비랄 기능은 아닌 것 같네요.
스냅카메라끼리 디테일 같은거 비교해도 별 의미는 없지만, 고화소로 올라가서 그런지 디테일은 그저그렇습니다. 전에 가지고 있던 스냅카메라 G5랑 비교해도 그저그런 수준. 또, 이전 NV 시리즈가 고질적으로 가지고 있던 엉망진창인 화이트밸런스가 좀 개선된 것 같아 보이지만, 여전히 엉망진창입니다. 그나마 커스텀 설정이 제대로 동작하는게 다행입니다. 이전 NV 시리즈에서는 커스텀 화이트밸런스가 아예 없어서 가끔 색깔이 엉망진창인 사진을 찍을 때가 있었거든요.
예상한 단점은 NV시리즈 뒤통수에 달린 단추들인데, 조작을 하나로 통합해 언듯 봐서는 단순하고, 공간도 덜 차지하는 것처럼 보이지만, 같은 동작을 더 많은 단추 조작을 거치도록 되어 있습니다. 예를 들어, 접사 모드로 들어간다면 웬만한 카메라는 그냥 접사 단추를 누르면 됩니다. 다시 누르면 접사 모드가 해제되지요. 웬만큼 다르게 만들어진 카메라도 모드 다이얼을 돌리는 선에서 타협하지만, NV24HD에서는 AF 단추를 누르고, 멀리 떨어진 접사 단추를 다시 눌러야 합니다. 은근히 AF 단추 토글로도 가능하길 바랬는데, 그런 예외를 만들지는 않았더군요. 이런식으로 조작이 직관적이기는 하지만, 십자단추 같은 것에 비해 귀찮습니다.
주머니에 편하게 들어갈 줄 알았는데, 생각보다 조금 커서 주머니에 아슬아슬하게 들어간다는 점이 아쉽지만, 그 외에는 가지고 놀기에 적당한 스냅 카메라입니다. 가격이 좀 더 내릴 때를 기다리는 것도 괜찮겠네요.