yuchi's Development Home


개밥먹기

조회 수 4271 추천 수 166 2008.02.28 22:14:50
발렌타인데이 PT를 마치고서 저는 팀원들 모두가 접속하는 테스트를 정기적으로 해야겠다고 생각했습니다.

원래는 3월부터 2주 간격으로 실시할 예정이었습니다만, 하루라도 빨리 시작하는 편이 좋겠다 싶더군요. 2주 간격도 너무 깁니다. 일주일 간격으로 테스트하기로 했습니다.

그리고 오늘이 그 첫 테스트 날이었습니다.

얼마전 PT를 끝내고 코드를 왕창 고쳤습니다. 칼 공격 처리를 하다보니 이전 코드는 좀 문제가 있더군요. 내용상으론 사소한 문제였지만 '제대로'구현하려면 왕창 뜯어고쳐야 했습니다.

클라이언트 코드와 서버 코드 모두 수정하고 테스트해야하므로 그렇게 쉬운 작업은 아니었습니다. 뭐 일단 어제까진 마무리를 지었죠.

오늘의 테스트 첫번째 시도에서 칼 공격 코드는 바로 버그의 원인이 되었습니다.

디버그모드에선 문제가 없었죠(없어보였죠). 릴리즈 모드에서만 티가 났습니다. 팀원들에게는 릴리즈 빌드를 배포했는데 모두 크래쉬했습니다.

릴리즈 모드에서 나오는 디버그 정보란 매우 제한적이고 그나마 신뢰할수도 없어서 무지 애먹었습니다.

패닉 상태에 빠졌지만 하루 종일 눈을 부릅 뜨고 머리를 굴린 덕에 버그를 잡고 5시경부터 다시 테스트를 시작했습니다.

이번에는 UI코드에서 무한루프에 빠졌습니다. 제 코드가 아니었으므로 일단 팀원을 닥달한 뒤 사무실을 서성대며 잠시 시간을 낭비했습니다.

윗층 회의실에 올라가서 새로 들여온 LCD TV에 드림 캐스트를 연결하고 내려오니 버그를 잡아놨더군요.

다시 테스트를 시작했습니다.

이젠 잘 돌아간다~ 라고 한 순간 7명 전원의 클라이언트가 크래쉬했습니다.

아뿔싸..아까 디버깅 한다고 코드에 박아놓은 __debugbreak()에서 소프트 인터럽트가 걸려버렸군요.

해당 코드와 약간 문제가 있던 서버 코드도 수정했습니다.

팀원들과 서로 쏴죽여가며 즐겁게 맵을 한바퀴 돌고 마지막은 화려한 pvp혈전으로 장식. 일제히 로그아웃 했습니다.

이젠 완벽한가 했는데 종료할때보니 게임서버의 스태틱 메모리 풀에서 메모리가 일부 샜더군요. 누수 체크 부분에 디버그 인터럽트를 걸어두길 잘했습니다.

퇴근할때까지 20여분간 메모리 누수 버그도 잡았습니다.

그렇게 오늘 업무를 마무리했지요.


우리가 개발하는 게임을 직접 플레이 해본다는 것은 어찌보면 너무 당연한 것으로서 '개밥먹기'라는 표현은 다소 부적절할지 모르겠습니다.

하지만 개밥(dog food)는 개밥이죠. 현재는 정말 개밥만큼의 맛밖에 되지 않습니다.

여튼 개밥먹기를 빨리 시작해서 다행이라고 생각했습니다.

출시하려면 1년반이나 남았지만, 지금부터 일상처럼 플레이해봐야 1년쯤 뒤에는 비교적 안정적인 시스템이 될 것입니다.

오늘의 수확
1. 단시간에 꽤 많은 버그를 잡았습니다.
2. 생각보다 플레이할만 했습니다. 약간의 자신감을 얻었습니다.
3. 우리들이 만들어가고 있는 것이 무엇인지 팀원들 전원이 그 상을 공유할 수 있었습니다.


조만간 pvp랭킹이라도 개발 페이지에 게시할 수 있도록 손을 좀 볼까 합니다.





List of Articles
번호 제목 글쓴이 날짜 조회 수sort
81 라이트맵 블러링 file 여치 2011-12-08 3639
80 dx11 첫 걸음 file 여치 2011-01-19 3630
79 최근 엔진 스샷 file [3] 여치 2008-01-25 3628
78 설 연휴기간 동안 작업내용 여치 2008-02-08 3624
77 프로그래밍의 도를 향해#3 여치 2002-04-22 3606
76 아이폰 프로그래밍 첫 연습작 file [2] 여치 2011-04-01 3604
75 64비트 어셈에서 스택 사용시 주의사항 여치 2007-08-23 3596
74 라이트맵 계산시에 Ambient Occlusion적용하기 file 여치 2011-08-27 3581
73 Project ε(프로젝트 엡실론) 2차 알파 후기 file [2] 여치 2010-06-03 3580
72 CUDA충돌처리 현재까지의 결과 CPU vs GPU file [4] 여치 2012-02-22 3569
71 DB에 세이브 기능 구현 여치 2008-02-02 3564
70 라이트맵 드로잉 기능이라면... file [1] 여치 2008-01-25 3555
69 CUDA 로컬 디버깅 설정 file 여치 2011-11-30 3551
68 레이어 기능을 추가한 하이트 필드 file [4] 여치 2005-07-01 3550
67 라이트맵 계산시에 Ambient Occlusion적용하기 #3 file [2] 여치 2011-08-31 3537
66 다이나믹 라이트 file 여치 2009-06-13 3524
65 엔진 64비트 포팅 프로젝트 진척상황 여치 2007-05-01 3517
64 Create .lib file from .dll file 여치 2013-02-02 3517
63 cuda로 필터 만들기 첫번째 B/W필터 file 여치 2010-04-15 3514
62 설 연휴 작업 내용 file 여치 2009-01-28 3502
天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 The Tiananmen Square protests of 1989 天安門大屠殺 The Tiananmen Square Massacre 反右派鬥爭 The Anti-Rightist Struggle 大躍進政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system 民主 言論 思想 反共 反革命 抗議 運動 騷亂 暴亂 騷擾 擾亂 抗暴 平反 維權 示威游行 法輪功 Falun Dafa 李洪志 法輪大法 大法弟子 強制斷種 強制堕胎 民族淨化 人體實驗 胡耀邦 趙紫陽 魏京生 王丹 還政於民 和平演變 激流中國 北京之春 大紀元時報 九評論共産黨 獨裁 專制 壓制 統一 監視 鎮壓 迫害 侵略 掠奪 破壞 拷問 屠殺 肅清 活摘器官 障テ社會 誘拐 買賣人口 遊進 走私 毒品 賣淫 春畫 賭博 六合彩 台灣 臺灣 Taiwan Formosa 中華民國 Republic of China 西藏 土伯特 唐古特 Tibet 達償ワ喇嘛 Dalai Lama 新疆維吾爾自治區 The Xinjiang Uyghur Autonomous Region free tibet



XE Login

天安門大屠殺 六四天安門事件 反右派鬥爭 大躍進政策 文化大革命 六四天安門事件 The Tiananmen Square protests of 1989 天安門大屠殺 The Tiananmen Square Massacre 反右派鬥爭 The Anti-Rightist Struggle 大躍進政策 The Great Leap Forward 文化大革命 The Great Proletarian Cultural Revolution 人權 Human Rights 民運 Democratization 自由 Freedom 獨立 Independence 多黨制 Multi-party system 民主 言論 思想 反共 反革命 抗議 運動 騷亂 暴亂 騷擾 擾亂 抗暴 平反 維權 示威游行 法輪功 Falun Dafa 李洪志 法輪大法 大法弟子 強制斷種 強制堕胎 民族淨化 人體實驗 胡耀邦 趙紫陽 魏京生 王丹 還政於民 和平演變 激流中國 北京之春 大紀元時報 九評論共産黨 獨裁 專制 壓制 統一 監視 鎮壓 迫害 侵略 掠奪 破壞 拷問 屠殺 肅清 活摘器官 障テ社會 誘拐 買賣人口 遊進 走私 毒品 賣淫 春畫 賭博 六合彩 台灣 臺灣 Taiwan Formosa 中華民國 Republic of China 西藏 土伯特 唐古特 Tibet 達償ワ喇嘛 Dalai Lama 新疆維吾爾自治區 The Xinjiang Uyghur Autonomous Region free tibet