Angler Blog
-
StdAfx (미리컴파일된 헤더) 수동 생성!랭귀지/API 2010. 7. 16. 11:17
Dark GDK에서 제공하는 Application Wizard를 사용하여 프로젝트를 만들게 되면, 일단 뚝딱 기본 틀이 만들어지니 편하긴 한데, 뭔가 이상하고, 빠진게 많습니다. 프레임웍 제작과 관련한 강좌에 들어가기전에, 미리 컴파일된 헤더는 우리에게 꼭 필요한 존재인데, App. Wizard에서 자동 생성을 안해주는군요. 미리 컴파일된 헤더라는게 무엇인지 모르시는 분이 계실까 노파심에 간단히 설명드리지면, 우리가 흔히 Win32 어플리케이션을 App. Wizard를 통하여 생성하게 되면 stdafx.h/cpp 이라는 파일이 프로젝트에 기본으로 딸려오는 것을 볼 수 있죠. 미리 컴파일된 헤더 기능(PreCompiled Header:PCH)은 자주 변경되지 않는 긴 소스 파일을 미리 컴파일하여 해당 컴파..
-
VMR9 다이렉트 쇼.GamePrograming/Direct3D 2010. 7. 15. 10:22
VMR9을 이용한 동영상 재생 클래스 DirectX9 VMR9(Video Mixing Renderer)을 사용한 동영상 재생 및 믹싱 클래스 Introduction 비디오 파일을 재생하기 위해 DirectShow Video Mixing Renderer9을 사용한 간단한 래퍼 클래스. DirectX9 에서는 멀티미디어 응용프로그램에서 새로운 비디오 렌더러를 사용할 수 있다. 하지만, 이 렌더러(VMR9)는 호환성 문제 때문에 기본 렌더러로 사용되지 않는다. Windows XP에서 기본 렌더러는 VMR7 이다. 이 렌더러는 하위버전 윈도우에 있던 것이다. 가장 큰 차이점은 성능과 오버레이 믹싱 능력: VMR7은 DirectDraw를 사용하고, VMR9은 그래픽카드의 3D가속 기능을 지원하는 Direct3D를..
-
픽킹(picking) - 1GamePrograming/Direct3D 2010. 7. 13. 11:40
이번 과제에서 화면상의 좌표를 변경하는데 있어 2D 평면이 주를 이루기 때문에 마우스 좌표를 광선으로 변경하는 것보다 오브젝트의 좌표를 화면상의 좌표로 변경시키는 함수를 제작했다. //----------------------------------------------------------------------------- // Name: D3DUtil_VecToScreen() // Desc: 벡터를 스크린 좌표로 변환한다 //----------------------------------------------------------------------------- D3DXVECTOR3 D3DUtil_VecToScreen( D3DXMATRIXA16& WVP, int width, int height, D3DX..
-
MFC Direct X 연동GamePrograming/Direct3D 2010. 7. 8. 17:28
* 현재 만들고 있는 간단한 시뮬레이션 툴 * * .NET 기준으로 설명.. * 기본적인 MFC 사용방법은 안다고 생각하며, 적습니다. * MFC 응용프로그램 프로젝트 생성 프로젝트의 옵션은 단일문서형식으로 만들면 되며, 기타 다른 옵션들은 사용자의 취양에 따라 선택 / 해제하면 됩니다. * MFC 응용프로그램으로 생성해본 윈도우 * * MFC에서 DirectX 초기화하기 뷰 클래스에서 속성 -> 재정의 -> OnInitialUpdate() 함수를 추가합니다. 이 함수에서 DirectX의 초기화를 하게 됩니다. * 뷰 클래스의 맴버변수 정의 * bool 형 m_bReady가 빠졌으므로, 추가해 주세요.. * OnInitialUpdate() 내부함수 구현... * 여기도 소스가 짤렸습니다.. m_bRead..
-
Symphony of Heores 포스트 모르템 - 5부GamePrograming/Create Game 2010. 4. 7. 23:49
11. 다가오는 마감 일 3차 프레젠테이션이 끝나고서는 개발할 수 있는 기간이 넉넉하지 못했다. 원래 목표대로라면 게임을 거진 완성하고 버그테스트를 하고 있어야 할 시기였다. 하지만 그 시기에 게임을 제대로 완성한 팀은 한 팀 밖에 없었다. 시간만 모자른게 아니었다. 슬슬 졸업준비를 해야될 시기였다. 이력서, 자기소개서등 제출해야할 문서들이 많았다. 한 업체에서 우리가 만들고 있는 게임이나 툴을 보기위해서 오기도 하였다. 좋은 사람이 있으면 신입으로 뽑아가겠다는 것이었다. 여러모로 어수선한 분위기였다. 이 시기가 되면, 으례 만사가 지치고 힘들어지고 짜증나기 쉽상이다. 나도 하는 일도 별로 없으면서 스트레스가 상당했다. 게임은 생각처럼 안 나오고, 나 혼자서 학원은 나오는 데(조교의 업무인 학원 지키는 ..
-
Symphony of Heroes 포스트 모르템 - 4부GamePrograming/Create Game 2010. 4. 7. 23:45
8. 기획을 다시 갈아엎다. 3차 프레젠테이션이 끝나고 지휘시스템을 구현하기 앞서, 프로그래밍 파트장 형이 지휘시스템 기획에 이견을 달았다. 당시 지휘시스템은 화면에 각 파라메터를 나타내는 막대기를 음악에 맞춰서 치면 되는 것이었다. 형이 문제를 제기한 부분은 그 파라메터였다. 공격력, 방어력, 이동력, 명중률 이렇게 네가지의 파라메터가 있었다. 그런데 이 파라메터들이 동급의 개념이 아니라는 것이었다. 사실 이 정도의 태클은 팀장으로써 그냥 넘어가자고 할 수도 있는 문제였다. 하지만 내심 게임 시스템이 썩 만족스럽지 못한 터였다. 그래서 납득할만한 시스템이 생각날 때까지 고려해보자며, 거의 일주일 넘게 문제를 질질 끌었다. 물론 나를 제외한 2명의 기획자는 이렇게 기획을 바꾸는 게 못 마땅해 했다. 물론..
-
Symphony of Heroes 포스트 모르템 - 3부GamePrograming/Create Game 2010. 4. 7. 23:37
5. 컨텐츠 작업 시작, 현실의 벽을 깨닫는 순간. 1차 프레젠테이션(5월 7일)이후, 게임 컨텐츠에 대한 작업이 본격적으로 시작되었다. 툴도 제 기능을 하나 둘씩 하기 시작했고, 각 툴을 통합하여 엔진에 붙이는 일도 큰 무리없이 진행되는 듯이 보였다. 그러나 설마설마 했던 곳에서 문제가 생기기 시작했다. 전쟁 게임의 특성상 많은 수의 병사 캐릭터들을 띄워야 하는데, 너무 많은 캐릭터들을 띄우게 되면 FPS(초당 프레임 수)가 현저하게 떨어지는 것이었다. 원래 기획은 6~7개의 부대를 지휘하는 것이었다. 하나의 부대당 25명의 병사를 생각했으니 자신의 진영만 최대 150~175명, 상대 진영 병사까지 합쳐서 총 300명이 넘는 캐릭터가 한 화면에 나올 수 도 있는 상황이었다. 그러나 100명병사를 화면에..