목록개발자 팁 (63)
kyuseo의 게임 프로그래밍

개요.. C++ 게임 개발자 입장에서 본 Visual Studio 2005, 2008 Standard(스텐다드,Std) 와 Professional(프로,Pro), 팀에디션(Team)의 성능차이는 무엇일까요? 저희 회사에서는 Visual Studio 2005 Standard 버전의 정품을 구매하여 게임 개발을 하는데 전혀 문제가 없습니다. 가격도 Pro 에 비하여 매우 저렴하고 C++ 프로그래머 입장에서는 어떠한 차이점도 발견하기가 어렵네요. 게임, 소프트웨어 개발자 분들은 특별한 이유가 없으시다면 가격이 높은 Pro, Team 버전보다는 저렴한 Std 버전을 구매하시기를 권합니다.

개요.. MSSQL 에서 개발한 데이터베이스 테이블(Table)이 MySQL 에서 작동이 되도록 변환하면서 터득한 차이점 및 방법을 공개합니다. MSSQL 과 MySQL 테이블의 모습 차이점 MySQL MSSQLdbo삭제O[]삭제OKorean_Wansung CI_AS삭제OCOLLATE삭제OGO';' 으로 변경 OON [PRIMARY]삭제Osmalldatetimedatetime 으로 변경O 변경 예.. MSSQL 의 원본 테이블 CREATE TABLE [dbo].[minigame_top10_new] ( [userid] [binary] (12) NOT NULL , [nickname] [varchar] (12) COLLATE Korean_Wansung_CI_AS NOT NULL , [grade] [tinyin..

개요.. MSSQL 에서 개발한 스토어드 프로시저(Stored PROCEDURE)를 MySQL 에서 작동이 되도록 변환하면서 터득한 차이점 및 방법을 공개합니다. MySQL 스토어드 프로시저의 모습 차이점 MSSQL MySQL변수 명'@' 사용 @bid'$'사용 $bid실행 방법exec SPDeleteItem call test1( 'param', 1 )변수 선언declare @bid binary(12)declare $bid varchar(12);함수 인자create proc SPCheckBadUser @userid varchar(12)CREATE DEFINER=`root`@`%` PROCEDURE `test1`( $bid varchar(12) )기본 사용 예create proc SPAddBadReport..

개요.. MS 사에서 무료로 공개한 Visual Studio C++, 2005/2008 Express Editions 버전에서 MFC 를 사용하는 방법에 대하여 설명을 드립니다. 참고로 이 방법은 Visual Studio Standard 버전 이상이 설치가 되어있지 않다면 불법적인 방법이므로 학교나, 회사에서 는 법에 저촉되기 때문에 절대로 사용하시면 안됩니다. 따라서 정식 Visual Studio 2005, 2008 Standard, Pro 를 보유하신 사용자만 사용하셔야 합니다. (참고로 필자(Kyuseo)는 Visual Studio 2005 Standard 를 보유하고 있습니다. ) 방법 - 도구 -> 옵션 -> 프로젝트 -> 디렉토리 에서 MFC 의 경로를 추가합니다. 예) C:\Program F..

개요.. MS 사에서 Visual Studio C++, C#, Basic 2005/2008 Express 버전을 무료로 공개하였습니다. 희소식은 개인뿐만 아니라 기업, 학교에서도 완전 무료라는 것입니다. 따라서 Visual Studio C++, C#, Basic 2005/2008 Express 을 활용하여 상용프로그램을 개발하여 판매를 하여도 아무런 문제가 없기 때문에 특히 게임과 같이 MFC 를 사용하지 않는 목적의 회사라면 강력히 추천합니다. 단점 - MFC 를 사용할 수 없습니다. - Visual Assist 와 같은 플러그인 및 확장기능을 사용할 수 없습니다. - 리소스 에디터를 제공하지 않습니다. - 2005버전은 한글이 제공되나 2008 버전은 한글판이 없습니다. 장점 - 완전 무료 (개인, ..

개요.. MS 사에서 Visual Studio C++, C#, Basic 2005/2008 Express 버전을 무료로 공개하였습니다. 희소식은 개인뿐만 아니라 기업, 학교에서도 완전 무료라는 것입니다. 따라서 Visual Studio C++, C#, Basic 2005/2008 Express 을 활용하여 상용프로그램을 개발하여 판매를 하여도 아무런 문제가 없기 때문에 특히 게임과 같이 MFC 를 사용하지 않는 목적의 회사라면 강력히 추천합니다. 단점 - MFC 를 사용할 수 없습니다. - Visual Assist 와 같은 플러그인 및 확장기능을 사용할 수 없습니다. - 리소스 에디터를 제공하지 않습니다. - 2005버전은 한글이 제공되나 2008 버전은 한글판이 없습니다. 장점 - 완전 무료 (개인, ..

개요.. 여러 개의 유사한 프로젝트를 Visual Stduio 로 개발을 하면 다수의 Visual Stduio 를 실행하게 되어서 관리하기가 불편합니다. 이를 편리하게 관리하기 위하여 솔루션(*.sln 파일)을 생성하고 프로젝트(*.vsproj)파일을 등록하는 방법을 알려드립니다. 여러 개의 프로젝트가 떠있는 모습 : 여러 개의 프로젝트가 하나의 솔루션으로 정리된 모습: 핵심내용 유사한 다수의 프로젝트를 하나의 솔루션으로 묶는 것이 핵심입니다. Kyuseo는 서버 프로젝트를 하나의 솔루션으로, 클라이언트 프로젝트를 하나의 솔루션으로 묶어서 사용합니다. 방법 1. '새 프로젝트'에서 빈 솔루션을 생성합니다. 2. '솔루션 -> 추가 -> 기존 프로젝트' 로 기존 프로젝트를 추가합니다.
개요.. 한때 국내에서 바다이야기와 함께 사행성 게임으로 떠들했던 로얄 그랜드프릭스 레이싱(ROYAL GRANDPRIX RACING) 온라인 경마 게임을 다국어(중국어) 버전으로 로컬라이징(한글화, 중국어화, 영문화, 다국어화) 변환하는 것을 연구 해보았습니다. 무엇보다도 성인 오락실에 있던 경마게임이 온라인 버전으로 서비스하고 있는 것에 크게 놀랐습니다. 게임을 분석해보니 게임자체의 품질이나 게임성은 매우 높았습니다. 무엇보다도 경마 해설자의 목소리 녹음과 조합이 훌륭해서 정말 재미있고 박진감이 넘치더군요. 프로그램의 다국어 버전(로컬라이징, 한글화, 중국어화, 다국어화) 방법 프로그램을 다국어 버전으로 만들기 위해서는 다음과 같은 방법을 취하면 됩니다. 분석 1. 프로그램을 분석하여 이미지, 사운드,..
개요.. 온라인 게임의 개발기간 및 인력, 비용 추정입니다. 개발기간은 오픈 베타까지 기간을 추정하였습니다. 개인적으로 판단을 하였기 때문에 정보가 거의 맞지 않습니다. 온라인 게임의 개발 기간 및 인력, 비용 추정 보드 게임류 : 4명 (2:1:1) (프로그래머:그래픽:기획) 2~4월 예) 포커, 원카드...., 가로세로, 타자, .... 치코치코 (특이한 인터페이스 없음) 2D 캐주얼 게임 : 5명 (2:2:1) (프로그래머:그래픽:기획) 6~12월 예) 통스통스, 서치아이2, 배드볼2, (특이한 인터페이스 및 캐릭터) 3D 캐주얼 게임 : 10명이상 (4:4:2) (프로그래머:그래픽:기획) 1년이상 예) 당골왕, 팡야, 카트라이더 포커, 사천성, 상하이, 원카드 와 같은 보드게임 (별다른 기능이 없..

개요.. 네트워크의 안정성이 최우선인 윈도우 2003 서버 컴퓨터에서 별다른 이유 없이 네트워크 링크가 분리되거나 끊어져 있을 경우 해결책을 알려드립니다. 오류발생 서버 사양 네트워크 어댑터: Intel(R) PRO/1000 EB Network Connection with I/O Acceleration 서버 컴퓨터 : SmartServer ZSS-132Q 73GB SAS(1.86GHz) Processor Intel Quad Core Xeon Clovertown 1.86GHz / 8MB (FSB 1066MHz) RAM 1 GB ECC Registered DDR2 533 FBDIMM Memory HDD 73GB 15000rpm SAS HDD Disk 운영체계는 다음과 같습니다. Windows Server 2..
개요.. 종종 학생들의 숙제로 직업에 관한 질문-답변을 종종 받곤 했습니다. 매년 정기적으로 방학이 되면 숙제로 질문이 오는 것에 매번 답변해주기 귀찮아서 보관해두고 답변해주던 기억이 있네요. 여기저기 프로그래머들에게 성의 없이 마구잡이로 질문을 뿌리거나 성의껏 답변을 해줘도 답장도 안 보내는 학생들도 많고, 반면에 반색을 하면서 고맙다고 밥까지 사주겠다는 착한 학생도 있어서 기분이 좋을 때도 있습니다. 최근에는 공개 게임 활동도 안하고 요즘은 인기가 없어져서 ^^ 질문도 없네요. 프로그래머(Programmer) 설문 조사, 질문-답변 숙제 2005년 보다 전에 작성한 프로그래머 설문 조사, 질문-답변 숙제 입니다. (개인적인 소견이라 몇몇 정보는 그리 신빙성은 없습니다.) 1. 프로그래머란 직업에 좋은..
프로그래밍? 프로그래머? .. 2004년4월 작성한 글을 2008 년 1월에 추가, 수정 작성하였습니다. 처음 입문할 당시에는 대단한 포부와 열정을 가지고 학원을 다니거나 독학으로 프로그래머로써의 삶을 시작합니다. (Kyuseo는 독학으로 시작을 하였습니다.) 그러나 처음의 의도와 달리 어느 정도 지나다 보면 개발의 어려움에 봉착되어 슬럼프에 빠지게 되고, 과연 내가 프로그래밍에 적성이 맞는가에 대해서 고민을 하게 됩니다. (여기서 많은 사람이 탈락을 하게 됩니다.) 이후 프로그래머로 취직을 하고 개발자로써 회사생활을 겪으면서 '아! 프로그래머는 영화처럼 멋있는 직업이 아니고 돈벌이도 안되는구나!' 라고 생각을 하면서 또 많은 사람들이 탈락을 하게 되지요. 프로그래밍에 정답은 없다고 생각합니다. 끝없는 ..

개요.. Visual C++ 6.0 에서 프로젝트의 폴더, 디렉토리를 탐색하는 아주 유용한 유틸리티 프로젝트 익스플로러 (Project Explorer)를 소개합니다. 다운로드 파일 출처 : http://www.wickman.net/shareware/AddIns.htm 실행하면 아래와 같은 탐색기가 프로젝트 위치에서 실행됩니다. 설명서 설명 출처 : http://www.wickman.net/shareware/AddIns.htm ======================================================================= Project Explorer 1.0.0.1 Copyright (c) 2000 Mark Wickman. All rights reserved 27th Ma..

개요.. 제가 초보 시절에는 프로그램 개발(프로그래밍)을 무작정 빨리 속도를 최우선으로 작업을 했습니다. 틀린 그림 찾기 서치아이(Searcy eYe) 온라인 게임도, 벽돌 깨기 게임 배드볼(Bad Ball)도 3개월에 개발을 하고(네트워크 프로그래밍을 배우면서), 공개 게임은 1 ~ 2개월에 개발을 완료하였습니다. 빨라서 좋기는 하였지만 그로 인한 개발 후유증이 많았습니다. 개발 완료 이후 나타나는 각종 종합 버그 선물 세트로 서버가 꺼져서 새벽에 회사에 출근하는 경우가 다반사였고 ^^; 오래된 게임들은 머나먼 은하계 넘어 X파일에나 나올법한 외계 코드로 전혀 소스를 분석할 수 없는 경우가 대다수가 되었습니다. 무엇보다 개발자로써 다른 사람에게 보여줄 수 없는 창피한 코드가 부끄러웠습니다. 서치아이 온..
개요.. 버전(Version)에 따른 게임 업데이트(Update), 패치(Patch)의 중요성에 대하여 설명해드립니다. 게임 및 프로그램을 업데이트할 경우 작은 단위 요소에 의하여 경우가 많습니다. 하지만 그 방식은 점진적으로 게임이 변화하기 때문에 수개월이 지나도 큰 변화를 느낄 수 없고 유저의 반응도 점진적으로 나타나고 회사는 언제 어떠한 사업, 마케팅을 할지 잘 알 수 없습니다. 그것에 대응하기 위해서 고안된 방법론이 "버전 별 업데이트"라는 방법입니다. 버전 별 업데이트는 청사진(트리구조)을 작성하여 특정 부분별로 묶음을 만들어 업데이트하는 방식입니다. 리니지2(크로니컬 업데이트)나 RF온라인(기가 업데이트)의 경우 '버전 업데이트'를 성공적으로 함으로써 사업, 마케팅이 용이하고 기획의 단계가 더..

개요.. 게임에서는 방 만들기 창, 개인 정보 창, 유저 정보 창, 오류 창 등 수많은 UI 및 창들이 존재합니다. 그러나 그 수많은 윈도우들을 프로그래머들이 직접 프로그래밍하여 만드는 것은 비효율적인 일 입니다. VC 에서는 리소스 에디터로 작업을 분할하기 쉽긴 하지만 게임의 UI 는 VC 의 UI 을 이용하지 않기 때문에 그것을 이용할 수 없습니다. 그래서 많은 게임들은 UI 를 스크립트를 이용한 작성을 하는데 별도의 스크립트 언어도 개발해야 하고 확장성에도 문제가 많아서 기능 추가도 쉬운 일이 아닙니다. 그것에 대한 좋은 해결책을 에버퀘스트(Everquest) 게임에서 제시하는데 XML 을 이용하여 UI 를 자동화하는 것입니다. 에버퀘스트에서는 각종 콘트롤의 배치, 속성, 윈도우의 크기 등 많은 정..
개요.. XML에서 한글을 사용한다면 인코딩(encoding)을 아래와 같이 "EUC-KR" 을 사용해야 프로그램에서 스트링을 읽을 때 편리합니다. UTF-8 과 같은 인코딩(encoding)을 사용한다면 해당 문자열을 Ansi 또는 Unicode로 분석하는 하는 코드를 추가로 작성해야합니다. 인코딩(encoding)에 따른 파일로드시 읽혀지는 스트링의 예 읽는 소스코드 : CFile File; .... File.Read( szXML, nSize ); .... EUC-KR 의 경우 올바르게 한글이 읽어집니다:

개요.. 기획팀, 프로그래밍 개발팀, 팀장, 팀원과의 연관성과 작업방법을 정리한 팀 프로젝트 진행방법에 대한 UML 액티비티 차트(Activity Chart) 입니다. UML 다이어그램
개요.. 프로그래밍에서 버그(Bug), 오류는 피할 수 없는 위험 요소입니다. 그것을 잘 관리할 수 있는지 여부에 따라서 프로그램의 안정도와 성능이 좌우되지요. 그 버그를 찾는 시점에 대하여 개인적인 의견을 작성해 보았습니다. 버그를 찾는 좋은 시점 순위방법찾는 속도 / 해결 속도1순위프로그래밍 코딩 하는 도중에 눈으로, 머리로 찾는다.가장 빠름 / 쉬움2 순위컴파일, 빌드 직전에 찾는다. 빠름 / 쉬움3 순위컴파일, 빌드하여 나타난 문법 오류 메시지로 찾는다. (Warning, Error ) 느림 / 보통4 순위프로그램 실행도중에 찾는다. (ASSERT을 이용하여 찾는다면 행복하다.)매우 느림 / 찾고 해결하기 어려움5 순위다른 회사 직원이나 가까운 사용자가 찾는다.매우 느림 / 매우 어려움 (구두로 ..

개요.. 닥터왓슨 (Dr. Watson, Drwtsn32.exe) 은 디버그(Debug)와 릴리즈(Release)버전에서 프로그램 오류발생 할 경우 오류 내용을 해독할 수 있는 정보를 제공해주는 특히 서버프로그램에서 아주 유용하게 사용됩니다. "drwtsn32.exe" 실행하여 도움말을 클릭하면 자세한 한글 설명서를 볼 수 있습니다. 오류가 발생하는 테스트 프로그램 다운로드 윈도우 디버그 심볼(Debug Symbol) 다운로드 받는 방법 따라해보기 내가 만든 프로그램의 심볼을 닥터왓슨(Dr. Watson)에 등록시켜보기 1. 내 컴퓨터 등록정보->고급->환경변수 에 _NT_SYMBOL_PATH 등록합니다. 2. 변수값에 %systemroot%\Symbol;D:\Symbol; 추가합니다. 3. 닥터왓슨을 ..

개요.. 탐색기에서 마우스 오른쪽을 이용하여 obj 및 pdb 등 Visual Studio 컴파일 임시 파일(찌꺼기) 삭제, 지우는 레지스트리 입니다. 프로젝트를 백업 받거나 복사하기 전에 사용하면 편리하게 사용할 수 있습니다. 다운로드 레지스트리 파일 정보 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Folder\shell\_Delete Temp VC++ files\command] @="cmd.exe /c del /s *.obj,*.res;*.pch;*.pdb;*.tlb;*.idb;*.ilk;*ncb;*.sbr;*.sup;*.bsc" 참고 : 데브피아

개요.. Visual Studio 2005 제품군 개요를 잘 살펴서 필요한 Visual Studio 의 버전을 확인하시기를 바랍니다. 대부분의 개발은 Professional Edition 급이면 될듯합니다만 저렴하게는 Standard Edition만으로도 충분하리라 생각됩니다. 정확한 것은 아래 구문을 보고 확인하시기를 바랍니다. 하지만 저 역시 아래 표만으로는 무슨 소린 인지 잘 모르겠고, 특히 Pro 와 Std 의 차이점과 제가 필요한 버전이 무엇인지 잘 몰라서 여러 판매처에 문의를 해보았으나 정확하게 대답해주는 업체는 한곳도 없더군요. ㅡㅜ Visual Studio 2005 제품군 개요 .. 출처 : http://www.microsoft.com/korea/msdn/vstudio/products/co..

개요.. C++ 프로그래머용 개발 툴인 한글 MS Visual Studio 2005 가격입니다. 가끔 옥션 또는 다나와에서 중고로 판매하는 제품도 있습니다만 중고 구매는 라이선스 문제를 고려하여 구매하시기 바랍니다. 가격이 워낙 비싼 만큼 실제 구매하실 경우에는 여러 사이트에 견적을 넣어서 구매하시기를 권장합니다. 소프트게이트http://www.softgate.co.kr.. 제품명판매가격 한글 MS Visual Studio .NET Enterprise Architect 2003 업그레이드용 패키지 2,560,000원 한글 MS Visual Studio .NET Enterprise Architect 2003 처음사용자용 패키지 3,559,000원 한글 MS Visual Studio .NET Enterpri..

개요. 윈도우 서버 (Windows server 2000, 2003)를 운영하다 보면 가끔 리부팅(재부팅)되는 현상이 발생되고는 합니다. 리부팅은 웹 서버보다 게임 서버에게 더욱 치명적인 사건입니다. 게임 서버(일명: 데몬, Demon) 프로그램 자체가 버그가 있어서 윈도우를 망가뜨리는 경우도 있지만, 의외로 "자동 업데이트 설정"을 자동으로 하여 발생되는 경우도 많더군요. Kyuseo 역시 그것을 몰라서 새벽 3시에 몇 번이나 일어나서 해결하느라 진땀을 뺐었습니다. 개인적으로 사용하는 컴퓨터도 아래와 같이 설정을 바꾸면 새벽에 영화를 보다가 난데없이 컴퓨터가 리부팅 되는 현상을 막을 수 있습니다. 서버 운영자, 서버 관리자, 서버 개발자 분들은 반드시 자동업데이트 설정을 변경하시기 바랍니다. 방법 자동..

개요.. 개발팀 작업 시 업무 진행방법에 관하여 오래 전에 작성한 UML엑티비티 다이어그램(Activity Diagram)입니다. 작업을 구분, 정리하고, 개발 팀장과 팀원들 (프로그래머 기획자)와 연동되어 개발을 진행하는 방법을 프로그래머 입장에서 표현하였습니다. 다이어그램..

개요.. 웹 보드형태의 간단한 게임들 (퀴즈, 맞고, 포커, 장기, 사천성)의 UML 구성도(설계도) 입니다. 지인의 의뢰를 받아 최대한 간단한 구조로 설계를 하였습니다. 일반적으로 웹 보드 게임서버는 DB서버, 웹 서버, 게임서 버, 패치(업데이트) 서버로 구성되고 게임 서버의 추가는 병렬로 이루어집니다. UML 구성도..
개요.. MSDN Library(2007년 6월 버전) - Visual® Studio 2005 서비스팩 1(SP1)이 배포되었습니다. 참고로 다운로드 받은 파일은 MSDVKORDVDX1370481.img 와 같은 img 파일인데 img 파일은 데몬(Demon), 알콜(Alchol 120%), CD스페이스 등에서 강제 (*.*)로 불러오면 됩니다. 다운로드 MS 발표내용 .. 간략한 세부 사항 파일 이름:MSDVKORDVDX1370481.img버전:MSDN_SP1_0607게시 날짜:2007-06-15언어:한국어다운로드 크기:2250.2 MB 개요 MSDN Library를 사용하면 웹 서비스와 응용 프로그램 개발에 필요한 기술 참조 설명서, 백서, 소프트웨어 개발 키트, 코드 샘플 등 필수 프로그래밍 정보에..
개요.. 세이클럽 & 피망은 대중적인 게임 포털 서비스입니다. 특이한 사항은 웹 기반 서비스임에도 불구하고 쪽지, 중복접속 관리, 게임 실행, 1:1대화 등 다양한 기능들을 구사한다는 점입니다. 개발자 분들이라면 이 방법이 단순히 웹 서비스로써는 쉽지 않은 서비스임을 아실 것입니다. 이 사이트를 분석하여 게임 포탈을 준비하는 분들께 정보를 드리고자 합니다. 세이클럽 & 피망의 특이사항.. - 접속된 모든 사용자들에게 실시간으로 메시지 기능(1:1대화, 쪽지), 메일을 보낼 수 있다. - 다른 PC에서 접속한 중복 접속에 대하여 관리가 가능하다. - 사이트를 벗어났을 경우 접속을 종료하는 등 접속 유지에 대하여 관리가 가능하다. - 캐릭터 정보 표시등이 통일성 있다. 예상 프로그램 구성도.. - 클라이언트..

개요.. Visual Studio 2005 에서는 Visual Studio 6.0에서 처럼 프로젝트 빌드(Build) 완료 시 성공, 실패 사운드(Sound)가 출력되지 않아서 빌드가 되는 동안 출력 창을 계속 지켜봐야 하는 불편한 점이 많습니다. MS사의 솔루션은 직접 Addin 을 만들어 사용을 해야 한다더군요. Addin을 직접 만들기는 힘들고, 결국 해외 사이트에서 하나의 파일을 찾게 되었습니다. 아래 파일을 Addin 하여 사용하시면 조금은 위안(?)이 될 것입니다. 다운로드 파일 출처 : http://www.forum.moteurprog.com/langages-generaux/forum-msg-30144-1.htm 사용방법 .. 1. 다운로드 받은 파일을 아래 위치에 복사한다. C:\Docum..

개요.. 회사에서 버그 트레킹 시스템인 멘티스( Mantis )을 처음 도입하고 운영을 해 보았는데 잘 운영되지 않았습니다. 무엇보다 사람들이 사용하기 귀찮아 하고 왜 해야하는지 불만을 많이 가집니다. 그러한 생각을 고치기 위해서는 많은 시간과 노력이 필요하더군요. 오류 및 버그 제어등과 같은 코딩이 아닌 방법론적인 시스템은 툴도 중요하지만 버그 관리에 대한 필요성의 및 참여 의식을 키우는 것이 더욱 중요하다고 생각이 됩니다. 멘티스 버그 관리 시스템 UML.. 일반적인 버그 수정 과정 : 버그 검출 -> 버그 보고 -> 버그 수정 ->버그 검출확인 참고 사이트.. 멘티스 홈페이지 : http://www.mantisbt.org/ 멘티스 다운로드 : http://www.mantisbt.org/downloa..