/////////////////////////////////
/////// 목차
/////////////////////////////////
* Scorpions 소개
* 3D Demo 감상 <- 요기까지 읽고 컴퓨터 사양과 비교하여 다운 받을지 결정하세요.
* Zip내용
* 3D Engine Spec
* 3D Model Retouch Editor
* Todo
* NewBlood
* 문제 해결책
* License
* 앞으로의 계획 등등

/////////////////////////////////
/////// Scorpions 소개
/////////////////////////////////
안녕하십니까? 저희는 가칭 Scorpions라는 게임 개발팀입니다. 이제 막 1차 3D엔진이 완료되어 데모를 올리게 되었습니다. 비록 몇 달을 투자하여 만들긴 했지만 만들고 나니 별로 한 것이 없는 것처럼 느껴집니다. 솔직히 그래픽이나 Sound/Music 등을 중점적으로 보시려고 하시는 분이 있다면 권해드리고 싶지 않습니다. 물론 런닝 타임이 VOODOO II(640*480*16bit) 기준으로 약 5분 쯤 되니까 PC Demo로 보시기에는 그럭저럭 괜찮을 겁니다만 직접 3D게임이나 VR프로그램을 만드시고자 하시는 분(개발자나 그에 준하는 사람)들을 위한 데모라는 사실을 염두에 두시기 바랍니다. 자세한 내용은 아래의 글을 참조해 주십시오.

/////////////////////////////////
/////// 3D Demo 감상
/////////////////////////////////
[필요 사양]
* Windows 9X, Direct Draw 6.X, Direct 3D 6.X, Direct Sound 6.X
* Windows NT는 아직 지원 하지 않습니다.
* 3D Card(필수!)
* Coprocessor 필수!
* 하드디스크: 압축 해제 후 필요용량 10MB
* 메모리: 모든 데이터를 처음에 다 로드하는 관계로 역시 10MB 정도의 여유 메모리가 필요(메모리가 적으면 속도가 무지 느릴 수 있습니다. - 죄송^^).
* 현재 RIVA TNT II나 VOODOO II급 카드가 아닌 경우 속도가 약간 느릴 수 있습니다

[키 정의]
* Escape/Alt-F4 - 프로그램 Exit
* Enter - Next Demo Stage(잘 반응하지 않는 경우는 잠깐 누르고 있다 떼어야 할 겁니다.)
* Alt Enter - Toggle Full Screen
* F1 - Key Help
* F2 - Device & Mode Change
* F3 - 사용자가 직접 Navigation할 수 있도록 합니다.
* 아래의 키는 F3을 눌러 사용자 Navigation 선택했을 때만 가능한 키입니다.
  (약간 이상하긴 하지만 그냥 참고 봐주세요^^)
* A/Z - 앞/뒤로 이동
* left/right - 좌/우 회전
* up/down - 위/아래 보기
* Numpad(home/pageup) - 회전(rolling)
* Numpad(end/pagedn) - 좌/우 이동(Strafe)
* Numpad(- / + )     - 상,하
* 사용자 직접 Navigation시 충돌 체크는 하지 않았습니다.

[데모1-Logo]
* 3D Studio에서 작업한 Scene에서, 지정된 카메라 Path를 따라 가면서 Logo를 보여줍니다.

[데모2-Shorty]
* 몇 가지 Flare나 Terazo를 이용한 데모입니다.
* 3DMAX, CharacterStudio 등을 이용한 Animation예입니다.
* 춤추는 소녀가 있는데 반나절 만에 만든 것이라 보기에 좀 안쓰럽습니다.
* Character Studio 2.0 사용 예제 정도로 생각하면 됩니다.

[데모3-Robots]
* 간단한 Robot들이 등장합니다. 원래는 이 로봇들이 총도 쏘고 미사일도 쏘면서 신나게 싸워야 하는데 시간이 없어서... 너그럽게 보아주십시오^^;
* 3DMAX, CharacterStudio 등을 이용한 Animation예입니다.

[데모4-Stone]
* Environ Mapping, Fake Phong Shading, TwoPass texture mapping을 보여줍니다.

[데모5-city on the sea]
* 데모 logo와 비슷한 내용입니다.
* 다만 물에 건물이 비치는 효과(Water reflection)와 물이 흐르는 효과 및
안개(fog) 효과를 보여줍니다.
* 현재 반사 효과는 미진한 부분이 있습니다. 물속에 들어갔을 때는 반사가 되지 않아야 되는데 지금은 반사(복사?^^)가 되고 있으니까요.
* 다만 항공모함은 반사를 시키지 않고 있습니다,

[데모6-church]
* 데모 logo와 비슷한 내용입니다.
* 역시 대리석 바닥에 물체들이 반사되는 효과가 볼만합니다.
* 분수를 구현했는데 시간이 없어 볼만하지는 않군요.

[음악]
저희가 음악하는 사람이 없어서 KORG용 샘플을 하나 구해서 그냥 Play하고 있습니다. 앞으로도 Sound/Music쪽은 외주만을 생각하고 있는데 저희 데모에서 사용할 수 있는 자작하신 음악(Sampling or MIDI)을 가지고 계신 분이 있으면 부탁 드립니다.

/////////////////////////////////
/////// Zip내용
/////////////////////////////////
* WinZIP을 이용하여 아무 곳에나 파일을 풀면 scordemo라는 디렉토리와 timetodie라는 디렉토리가 생깁니다. 이중 scordemo에 데모 프로그램이 있고, timetodie에 저희가 사용하고 있는 게임 툴이 들어있습니다.

* 압축을 푼 상황에서 각각의 실행프로그램을 실행하면 되고 부가적인 설치절차는 없습니다.

/////////////////////////////////
/////// 3D Engine Spec
/////////////////////////////////
[하드웨어 필요 사양]
* CPU: Pentium 2xx이상 - 현재 특별한 제한은 없지만 그냥 허전해서 씁니다. 현재 Demo에서는 아직 CPU에 부담이 거의 없기 때문에 특별한 제한이 없습니다. 다만 조만간에 몇몇 루틴들을 Hand Optimizing할 예정인데 그때는 대부분 Pentium Code를 사용할 예정이기 때문에 최소 사양은 Pentium이 되겠죠.

* Coprocessor: 필수

* 3D Card: 필수! - Direct 3D가 설치된 경우에 Software적으로 실행이 되긴 합니다만 전혀 고려하지 않았습니다. Software 3D Engine은 속도 문제상 앞으로도 고려하지 않을 생각입니다. 물론 뒤에 소개된 DOS용 NEWBLOOD를 보시면 아시겠지만
Software도 그리 속도가 떨어지지는 않습니다. 하지만 Alpha Blending, Filtering, Multi Pass Texturing 등 High Level 기능을 사용하는 경우에 속도 문제상 아무래도 소프트웨어적인 구현은 많은 문제점을 안고 있기 때문에 차라리 그 시간에 Hardware를 좀더 잘 지원하는 것이 낫다는 생각이 듭니다. 또한 요즘 3D카드의 가격이 날로 떨어지고 있는 추세를 본다면 적어도 내년에 일반에게 판매되는 PC에서 3D카드가 빠진 PC사양은 생각하기 힘들다고 생각됩니다. 또한 Software 3D Engine은 Hardware에비하여 많은 장점(가변 Texture Size, 손쉬운 Frame Buffer Access 등)이 있긴 하지만Hardware를 동시에 지원하는 엔진인 경우에는 Hardware의 제약사항에 맞추어
Software엔진을 제작해야 하기에 Software만의 장점을 살리는 엔진은 크게 의미가 없다고 생각되기에 앞으로도 지원가능성이 없습니다.

* Test된 3D 카드
* Voodoo I & II, Riva TNT II, Intel I740, Fire GL 1000, S3 Trio3D
* 혹시 문제가 되는 카드가 있으면 연락 주십시오^^;
* Voodoo I - 대체로 잘 동작합니다. 다만 속도나 화면 출력 quality가 문제가 있어보입니다.
* Voodoo I - 잘 동작합니다 - 하지만 프로그램을 작성하다 보니까 명성에 비해 기능이 떨어지는군요(물론 driver문제일 가능성도 있습니다^^...).
* RIVA TNT II - 아주 잘 동작합니다 - 현재 나와있는 카드들 중에서는 가장 성능이 우수해 보이더군요(다만 아직 드라이버에 약간의 문제가...).
* Intel I740 - 대부분 동작하는 것으로 보입니다만 Full Screen/Windowed Mode 전환에 문제가 발생하는 듯(저희가 구비하고 있지 못해 테스트가 부족합니다.)
* Fire GL 1000 - Alpha transparent sprite가 제대로 지원되지 않습니다. DirectX 예제도 돌지 않기 때문에 아마도 driver의 문제인 듯.
* S3 trio 3D - 그럭저럭 동작합니다. 하지만 간혹 Polygon Face가 깨지는 문제가 있는데 유일하게 이 카드만 나타나는 문제로 Driver문제라고 생각하고 있습니다.
* 기타 카드들 - 제대로 테스트 하지 못했습니다. 혹시 다른 종류의 카드를 가지고 계신 분은 테스트 결과를 알려주시면 감사하겠습니다.

* Alpha Blending
저희 데모프로그램에서는 많은 수의 Alpha Blended Object 들을 씁니다. 그런데
Alpha Blending에는 source(13가지) * destination(13가지)의 연산 모드가 여러 가지가 있습니다. 문제는 많은 카드들이 모든 연산 모드를 지원하지는 않는다는 것입니다(원래 하드웨어는 지원하는데 Direct3D 드라이버가 지원하지 않는 경우도...). 따라서 저희 프로그램이 사용하고 있는 연산 모드를 카드가 지원하지 않는 경우 경우에 투명처리가 제대로 되지 않을 수 있습니다. 이 내용은 저희가 아직 여러 카드에 대하여 전부 테스트할 수가 없었기에 미흡할 수 있습니다. 특히 데모5 - 바다도시의 경우 Fog가 있고 반투명한 수면이 있기 때문에 여기에서는 많은 카드들이 제대로 된 출력을 하지 못합니다(눈에는 별로 띄지 않습니다. 다만 전문가들은 자세히 보시면 알 수 있을 겁니다).

[소프트웨어 필요 사양]
* DirecX: 6.x 이상 - 현재는 Direct Draw, Direct 3D(Immediate Mode), Direct
Sound만 사용합니다. 하지만 Direct Draw와 Direct 3D를 제외한 나머지는 Engine
레벨에서는 사용하고 있지 않습니다.

* DirectX를 사용하기 때문에 당연히 Windows 95나 Windows 98이 필수입니다. 다만 Glide나 OpenGL에 대한 지원이 곧 필요할 것으로 보입니다.
(for Non Windows Environment)

[일반적인 특징]
* full(100%) C++ Coding...(Visual C++ 6.x for .LIB, any C++ compiler for .DLL)

* 화면 모드(해상도 & Color Depth): Direct Draw가 지원하고 2 Page분의 그래픽 메모리가 지원되는 상황이면 어떤 해상도라도 지원합니다.

* 6DOF: 6 degrees of freedom

* Dynamic Device & Mode Change: 실시간으로 Windowed모드와 Full Screen모드를 전환할 수 있으며 2개 이상의 3D카드가 존재할 경우에 사용할 3D 카드를 선택할 수 있습니다. - Direct 3D 예제를 보신 분은 알 수 있겠죠...

* Model & Model Instance: 하나의 3D 모델을 여러 개의 Object가 공유하여 사용하기때문에 메모리를 절약할 수 있는 구조입니다. 즉 같은 모양의 Robot이 많이 등장할 경우에 각각의 개체에 필수적인 데이터를 제외한 나머지는 공유하여 사용합니다.  하지만 이러한 경우에도 각각의 개체에 서로 다른 Material(Color, Shading)이나
Texture를 사용할 수 있도록 되어있습니다.

* Data 중복 방지: 위의 Model & Model Instance와 비슷한 내용입니다. 즉 중복되는 데이터를 최대한 줄인다는 이야기입니다. 중복된 Material, Texture Map, Vertex 및Vertex Normal을 최적화합니다.

* Shading: 각각의 Object혹은 Polygon Face별로 Flat, Gouraud, Phong Shading를 개별적으로 지정하여 사용할 수 있습니다. Fake Phong Shading은 Direct 3D 6.x에서 지원하는 Multi Pass Texture기능을 이용하고 있습니다. 물론 실제로는 지원하지 않는 카드도 문제없이 동작하고 있습니다.

* Environ Mapping: 현재 지원하고 있습니다.

* Collision Detection: 충돌처리는 기본적으로 프로그램마다 서로 다른 루틴을 사용해야 할 필요가 있기 때문에 기본적인 함수만 제공하고 나머지는 예제로 제공할 예정입니다. 현재는 Bounding Box(Shere?)를 이용한 충돌과 Sliding이 지원되고 있습니다. ex) Point, Line, Face, Object, using Sphere, Bounding Box, Face 등등

* Rendering Pipe Line: 사용자가 Polygon 처리 과정을 독자적으로 처리할 수 있는 구조입니다. 다만 현재 BSP나 Portal은 지원하고 있지 않습니다. 물론 사용자가 해당 루틴을 만들 수 있지만 현재로서 그러한 부분들은 Software Engine인 경우에 필요한 것처럼 보입니다. 어차피 초당 30 Frame이 넘는 경우에는 사람이 눈으로 구분할 수 없기 때문에 특별한 장점이 없어 보입니다. 오히려 BSP나 Portal을 사용하는 경우 엔진의 자유도를 현저히 떨어뜨릴 소지가 큽니다. 물론 Frame Rate가 높다는 것은, 같은 Frame Rate를 원할 경우에 CPU의 점유율을 떨어뜨려 프로그램의 AI처리 등에 좀더 많은 시간을 할애할 수 있을 것으로 보이지만 Pentium급 PC에서는 그것마저도 별 필요 없을 것으로 보이는군요.
 
* Z-Buffer 사용: 하드웨어 전용이기 때문에 특별히 Overdraw를 줄이기 위한 노력이 필요하지 않습니다. 물론 Overdraw를 줄이면 좋겠지만 그런다고 전체적인 프로그램 실행속도에 크게 영향을 준다고 생각하지 않습니다. 따라서 최소한의 Overdraw만을 방지하기 위한 Volume Clipping(현재는 Direct 3D의 기능을 쓰고 있으며 문제가 되면 독자 Routine를 짤 예정입니다. 하지만 앞으로 나올 3D Now(K6 CPU)나 현재도 구현되어 있는 MMX기능 등을 이용하여 최적화된 Direct 3D의 루틴보다 잘 짜기는 힘들 것으로 보입니다. 물론 버그도 생각해야만 하고요.)과 Section Clipping만을 지원합니다. todo의 W-buffer참조.

* 3DMAX Animation 지원: VUE파일을 이용한 Animation을 지원합니다. 보간법을 사용하여 원하는 프레임 수를 맞추어 Animation할 수 있으며 Slow  Motion을 지원합니다.
(Quaternion Real-time Interpolation)

* Character Studio 2.0 데이터 지원: 위의 내용과 비슷합니다.
Character Studio 2.0을 사용하려 하신 분들은 내용을 아시겠죠.

* 3D Studio 파일 Import: 현재는 .3ds 파일을 직접 읽지 않고 내부 변환 툴을 이용하여 1차 변환을 한 다음 읽어 들이도록 되어 있습니다. 어차피 .3ds 파일의 모든 내용이 필요한 것이 아니고 또한 적절한 retouch과정이 필요하므로 게임에서 직접 사용하기 힘들다고 생각되므로 현재로서는 만족할 만 하다고 생각됩니다. 다만 개발 과정에서 변환을 자주 거쳐야 한다면 개발 시간에 영향을 주기 때문에 적절한 수준의 Import루틴이 필요하다고 생각됩니다. todo의 Filter참조

* Texture Cache: 현재 Texture Cache루틴은 독자 루틴을 쓰지 않고 Direct 3D 6.x에 새로 추가된 Texture Cache루틴을 사용합니다. 이 때문에 실제 Direct 3D 6.0이 필요하다고 보아도 됩니다. 현재 독자적인 Cache루틴이 필요하지 않다고 생각될 정도로 잘 동작하고 있습니다.

* MIPMAPPING: 역시 Direct 3D를 사용합니다. 물론 독자적으로 MIPMAPPING을 지원하면 좋겠지만 쓸데 없는 노력이라는 생각이 듭니다. 정 필요하면 직접 짜도 되겠지만 기본적인 3D 카드들이 잘 지원하고 있으므로 특별히 현재로서는 필요성을 느끼지 못하고 있습니다.

* Texture Compression: 역시 Direct 3D를 사용합니다. 6.x버전에 새로이 추가된 기능이므로 반드시 6.x가 필요한 이유중의 하나가 되겠지요. 어쨌거나 AGP가 일반화되고 있는 현재 추세를 본다면 기를 쓰고 버그를 양산할 필요는 없겠지요.

* Statistical Information: Frame Rate, Polygon Face Count, Material Count,
Texture Count 등에 관한 여러 정보를 알 수 있는 함수를 제공합니다.

* Lens Flare: 말 그대로입니다.

* 3D Sprite: 주로 Particle System에 사용하거나 나무, 가로등 등에 사용할 수 있도록 만들었습니다.

* Animated Texture: 데모에 보시면 알겠지만 현재도 가능한 정도입니다. 물론 수십 수백개의 Animated Texture를 사용한다면 별도의 코딩이 필요하겠지요. 하지만 몇 줄 정도의 코딩으로 해결될 것으로 보입니다.

* Pixel, Line, Polygon(any number of vertices - generally triangle) 지원: 당연한 내용이지요? 또한 기본적으로 3DMax 등을 이용하여 편집할 경우 오목(Concave) 다각형도 3각형으로 조각내서 저장하므로 당연히 쓸 수 있읍니다.

* Wire Frame Rendering

* Real time Object/Mesh Construction: 말 그대로 프로그램 중간중간에
Object나 Mesh를 생성할 수 있는 기능입니다. 실제 게임에서 활용될 가능성보다는
Demo 등에 쓰일 가능성이 높은 기능이겠죠.

* 다양한 좌표 변환 함수: World <-> Camera <-> Screen - 역시 당연한 내용입니다.

* 임의 개수의 카메라 및 Colored/Intensity Directional/Point Light

* REZ파일: 수십 개에 이르는 파일을 압축하거나 혹은 압축하지 않은 상태로 하나로 묶을 수 있는 .REZ파일을 지원합니다. 디스크 상의 파일이나 .REZ로 묶인 파일을 동시에 지원합니다. 물론 여러 개의 .REZ파일도 동시에 지원합니다.

* Texture UV Animation: 물결/구름 표시 등에서 사용할 수 있도록 되어 있습니다.

* Invisible Pixel, Line, Polygon Face지원: 3DMax에서 작업 후 Retouch 혹은 특수 ID할당.

* 기타 3D Engine의 여러 가지 기능들은 카드가 지원하는 정도에 따라 결과가 다를 수 있습니다.
ex) Perspective Corrected Texture Mapping, Fog, bilinear filtering

* 3D 하드웨어 전용이기 때문에 문제가 되지 않는 내용들: Sub-pixel and Sub-Texel Accuracy, Linear/Perspective Texture Mapping, Span Buffering, Alpha Blending, Fog, Mip Mapping, Bi/Tri-linear filtering - 이러한 내용들은 특별히 Software 3D엔진에서만 구현 여부가 중요할 뿐이지 3D카드 기능을 이용한 엔진들에 있어서는 하드웨어에서 기본적으로 제공하기 때문에 단지 속성 조절을 위한 몇몇 루틴의 사용법만 알면 이용 가능한 사항들입니다. 따라서 특별히 된다 안된다를 따질만한 내용들이 아닙니다. 실제 Software 3D Engine개발에서는 Hardware만을 지원하는 경우에 비하여 최하 2-3배 정도 쓸데없는 코딩이 필요합니다. 저희가 Software 3D Engine을 포기한 이유이기도 합니다.

/////////////////////////////////
3D Model Retouch Editor
/////////////////////////////////
* .3DS파일을 읽어 들여서 편집한 다음 3D엔진에서 사용할 수 있는 형태로 저장하는 기능과 이렇게 해서 만들어진 Model파일들을 하나로 묶어 맵을 생성하는데 쓰이는 툴입니다.

* Face 편집의 기능은 전혀 없습니다. 하지만 Alpha Blending속성이나 Ambient,
Diffuse, Specular 등의 여러 가지 속성을 편집할 수 있는 기능이 있습니다. 나름대로 꽤 필요하다고 생각되는 프로그램이지만 미처 이 프로그램에 대한 사용법은 문서로 만들지 못했습니다. 나중에 다시 사용법을 올리도록 하죠.
/////////////////////////////////
/////// Todo
/////////////////////////////////
* Static Shadow & Lightmap: 조만간에 완료될 예정입니다. Multi Pass Texturing을 사용하여 구현될 것이며 아마도 Radiosity기능을 이용한 Lightmapping이 될 것으로 생각됩니다.

* Real-time(=Dynamic) Shadow & Lightmap: 조만간에 완료될 예정입니다. 물론 속도는 약간 저하되겠지만 현재 상황을 보면 희망적으로 보입니다.
Multi Pass Texturing사용

* Mirror: 이 경우 역시 조만간 해결될 예정입니다.

* Filter: 현재 .3DS, .X 및 .RWX 필터만을 지원하고 있습니다만 앞으로 좀 더 다양한 필터를 제공할 예정입니다. 하지만 현재로서는 거의 Batch작업이므로 특별히 필요하지는 않을 것처럼 보이는군요.

* 3DMax Export Plugin: 중간과정에 많은 필터를 거치지 않고 바로 3DMax파일로부터 최종 파일을 얻기 위한 Filter작업을 할 예정입니다.

* Collision Detection: 아직 이 부분이 좀더 보완되어야 할 것처럼 보입니다.

* AI: 3D Path Finding이나 Visibility Test 등이 필요할 것으로 보입니다. 물론 프로그램마다 약간씩 차이가 있으므로 기본적인 것은 엔진에 넣고 나머지는 예제로 떼워야 하겠지요.

* Physics: 역시 위의 Collision Detection이나 AI처럼 모든 경우를 만족하기 힘들다고 판단되므로 기본 루틴은 엔진에 넣고 나머지는 예제로 대체할 생각입니다.

* Network 지원: 역시 아직 지원되고 있지 않기 때문에 무어라 말하기 힘든 부분이지만 그냥 Direct Play를 사용하는 것도 한 방법이라 생각이 듭니다. 물론 저희가
Direct 3D를 쓰면서 수없이 많은 실행착오를 거쳤다는 점을 생각한다면 그 위에
Wrapping Class를 두는 것 정도는 최소한으로 해야 할 것처럼 보이는군요.

* GUI: 기본적으로 Hardware를 이용하는 경우에 Page Flipping을 이용하기 때문에 기존의 GDI 루틴들을 이용하기는 힘이 든다고 보입니다. 따라서 간단하지만 GUI가 필요할 것으로 보입니다.

* Effects: Under Water, Water Surface Reflection, 이동하는 물체의 잔상(Motion Blur like), Smoke/Particle(현재도 3D Sprite를 이용하면 충분히 가능) 등의 자잘한 Effect들이 필요할 것처럼 보입니다. 하지만 큰 내용은 아니므로 그때 그때 필요한 것을 추가하면 될 듯 싶네요.

* Glide, OpenGL지원: DOS환경을 지원할 경우(업소용 3D엔진)를 대비하여 Glide나
OpenGL을 지원할 예정입니다. 현재 구조상  특별한 문제는 없어 보이지만 사정이 여의치 않으면 2-3달 정도 뒤로 미루어질 가능성이 있습니다.

* Mesh Morphing: 현재는 급하지 않은 내용이라 언제 가능할지 장담하기 어렵군요. 어차피 게임에서 쓸 일은 많지 않을 테고 현재로서도 가능한 방법들이 있으니까요.

* Skinning: 현재로서는 약간 뒤로 미루어질 예정입니다. 일반 게임에서는 그렇게 꼭 필요한 기능이라고 보기엔 힘들기 때문입니다. 하지만 그렇게 어려운 내용은 아니므로 필요하면 언젠가 지원될 수도 있을 것으로 보입니다^^.

* JPEG Texture: 큰 내용은 아니지만 꼭 필요할 것으로 보이는군요. 하지만 뭐 그냥 JPEGroup에서 나온 라이브러리를 쓰면 해결되겠죠^^;

* Hierarchical Object: 상용 엔진들을 살펴본 결과 꼭 넣어야 한다는 결론입니다. 조만간 가능할 것으로 보입니다.

* Retouch Map Editor: Map Editor도 만들지 않을 가능성이 큽니다. 실제 현재 단계에서는 Map Editor가 특별히 필요하지 않더군요. 단지 약간의 Retouch만으로
Door/Lever/Region 등을 추가할 수 있으므로 가능하면 Map Editor에 작업 시간을 할당하지않을 생각입니다. 따라서 Map Editor보다는 간단한 Script를 이용한 Retouch가 필요할 것처럼 보입니다. 대부분의 경우 이러한 접근이 필요하다고 봅니다. 실제 Unreal의 경우에 Map Editor를 만드는데 무수한 시간과 노력이 들어갔지만 대부분의 사용자가 불편하다고 느껴서 맵은 각자 손에 익숙한 3DMAX 등을 이용하여 만들고 Door/Lever/Region 등의 처리만 Map Editor에서 처리하길 바라는 것을 보면 알 수 있을 겁니다. 아무래도 전문적인 Modeling툴에 비하면 기능이 한참 떨어지기 때문에 차라리 그러한 툴을 제대로 지원하는 것이 바람직한 것처럼 보입니다. 하여간
Map Editor는 저희가 작업하는 와중에 필요하다고 느끼면 그때 시작할 예정입니다.

* Camera Walking: 현재 가장 골치를 썪히고 있는 부분입니다. 간단한 것은 되는데 나머지는 애매하더군요. Tomb Raider III 등을 보면 역시 잘 했다는 느낌이 옵니다.아마도 꽤 노력을 들여야 할 부분처럼 보입니다.

* W-Buffer: 현재 Z-Buffer는 필수적으로 Polygon Face들이 만나는 곳에서 톱니모양이 나올 수 밖에 없습니다. 이를 해결하기 위하여 W-Buffer를 지원하는 카드인 경우에 지원하도록 할 예정입니다(이 기능도 실제로는 Direct 3D를 거의 그대로 호출만 하면 되므로 실제로는 할 일이 없다고 봐야겠죠). 대부분의 Direct 3D의 Attribute Setting 루틴들은 호출만 하면 되므로 단지 몇 개의 Wrapping Class를 지원하는 정도로 끝날 것으로 보입니다.

* HMD 및 HMD Head Tracker: VFX1이나 곧 나올 VFX3D 같은 Head Set
(or PC VR devices)들을 지원할 예정입니다. 실제로 이 내용은 엔진에 포함될 정도의 내용은 아닌 것 같고 그다지 난이도가 있지 않기 때문에 역시 꼭 필요할 때 들어갈 예정입니다. 이러한 경우에 가산 3D-MAX같은 류의 PC-VR카드를 위한
Stereoscopic Rendering도생각할 필요가 있지만 아직은 단지 예정일 뿐입니다.

* Frame Syncing: 실제 게임에는 모든 Event나 Character들의 AI에 기준이 되는
Timer가 있는데 시스템의 속도나 3D카드의 속도와는 무관해야 한다. 따라서 필요한 경우 Frame Skipping 등이 일어나야 하는데 이를 위한 적절한 대비가 필요할 것으로 보입니다. (= Fixed Frame Rate) 물론 이 부분 역시 Rendering Pipe Line을 담당하는 모듈이 처리할 파트이지 실제 엔진의 일부라고 보기에는 어려운 부분입니다.
다만 예제정도로 만족해야 될지도 모릅니다.

* Procedural textures & Bump Mapping: 지원 예정입니다.

* Landscape rendering: 지원 예정입니다.

* 3D sound support

* SDK Reference 매뉴얼: 반드시 필요하겠죠?

/////////////////////////////////
/////// NewBlood
/////////////////////////////////
* 저희 팀의 3D엔진을 담당하고 있는 박정구씨가 몇 년 전전에 도스에서 만든 게임 데모입니다. 비록 도스 버전이라 실행하는데 부팅시에 F8을 눌러 도스에서 실행해야 할 경우가 태반이지만 그래도 볼 만한 가치가 있다고 생각됩니다. Source가 공개되어 있으므로 부담없이 사용하시기 바랍니다. 하이텔 go demos하셔서 li SevenKey하시거나lt newblood를 찾아보시기 바랍니다. 특이하게 모든 폭발 장면이 polygon처리가 되어있습니다.

/////////////////////////////////
/////// 문제 해결책
/////////////////////////////////
* 혹시 3dfx칩을 사용한 3d card의 경우에 F2를 눌러 장치 설정에서 Voodoo를 찾을 수 없어 Hardware가속이 잘 되지 않을 때에는 www.3dfx.com에서 자료를 다운 받아 설치하세요. 물론 card를 살 때 따라온 DISK가 있으면 그것을 사용해도 되고
windows98의 경우에는 제어판-시스템-장치관리자에서 3dfx카드를 지우고 재부팅하면 윈도우즈가 다시 장치를 감지하여 설치를 하게 됩니다.

* 혹시 문제가 발생하는 경우에는 Card, OS, DirectX 등에 관한 내용을 아래의
eMail주소로 알려주시면 고맙겠습니다.

* Full Screen/Windowed Mode전환 후 화면 깨짐 - 혹시 이러한 경우가 있을 수 있습니다. 가능하면 시작할 때 원하는 모드를 설정하고 중간에 자주 바꾸지 마세요.^^

/////////////////////////////////
/////// License
/////////////////////////////////
* Source License - 아직 Source License를 할 정도로 엔진이 완료되지 않았기 때문에 무어라 말씀 드리기는 어렵지만 아마도 조만간에 충분히 가능하리라 봅니다.

* 선 License 후 결제 - 이 경우에는 Source License를 제외한 경우입니다. 하지만 저희가 가능한 기술지원을 최대로 해드릴 용의가 있으므로 꼭 Source License가 필요하다고 보기는 힘들겠죠. 다만 Source License를 하신 경우에는 그만큼의
Customizing이 보장된다고 보시면 되겠습니다.^^

* 비영리 목적을 위한 무료 License - 비상용 목적인 경우에는 얼마든지 엔진을 무료로 제공해드릴 수 있을 것으로 보입니다. 현재는 SDK가 완성되지 않았지만 조만간(3월 말?) 제공될 수 있을 것입니다.

/////////////////////////////////
/////// 앞으로의 계획 등등
/////////////////////////////////
* 3D Shooting게임 - 이 데모가 나가고 1-2주일 이내로 기획을 해서 작업에 들어갈 예정(!)입니다. 관심 있으신 업체 관계자 여러분들의 성원 부탁 드립니다.^^

* VR 프로그램 - 내용이 확정되지 않았지만 가능성이 있습니다.

* 위의 내용을 읽으시면 아시겠지만 저희가 목표로 하는 시스템은 그야말로 게임 제작을 위한 시스템입니다. 따라서 쓰잘데(?) 없이 Mesh Editor 같은데 시간을 투자할
생각이 전혀 없습니다. 물론 VR을 위한 부분 등이 계속 추가 되겠지만 현재로서
Mesh Editor 등은 3DMax같은 범용 프로그램 최대한으로 활용하는 쪽으로 Focus가 맞추어져 있습니다.

* 저희 인원이 현재 한정된 관계로(프로그래머 3, 디자이너 1, 조만간 디자이너 1명 충원 예정?) 많은 일은 할 수 없습니다. 그래서 아마 2개 정도 프로젝트를 진행할 수 있을 것으로 보입니다. 현재는 자금을 지원하시는 분이 있어서 그럭저럭 월급을 받고 잘 지내고 있지만 아쉽게도 당분간은 더 이상의 정식 팀원을 받아들이기에는 무리가 있어 보입니다. 하지만 위에 언급한 내용처럼 저희 엔진을 이용(좀더 직설적으로 표현하면 Test, 죄송^^;)하실 아마추어 팀이나 개인이 계시다면 언제든지 환영합니다.

* 혹시(?) 반응이 좋으면 mailling list나 아님 web상에 게시판을 만들 수도 있습니다.^^

* 프로그램 upload 장소 - 외국에서 접근 가능한 internet FTP/WEB site 제외한 아무 곳(필요한 시점에 저희가 3DEL 등에 올리도록 하죠)에나 내용을 복사하셔도 됩니다.

hitel> go gma, chollian> go gamf, nownuri> go ngmf

* eMail
SevenKey@hitel.net, Ray0000@chollian.net

* phone(오전 10:00이후 식사시간 제외 아무 때나, 가능하면 eMail을 이용해주세요)
02-632-3683

그럼 이만...
