사실 원래는 적당한 크기로 잡혀져서 조절할 일이 별로 없었는데.
멀 삽질했는지 한줄씩 밖에 안나와서 상당히 난감한 상황이었다-_-;
잡설은 집어치우고..

콤보박스를 선택하면 상하크기조절은 Disable된 상태인데..
콤보박스의 화살표(얘를 머라그러나-_-) 부분을 눌러주면
드롭박스 부분의 크기를 설정할 수 있다.

허접함을 뛰어넘어 검색도 한번 안해본 이 게으른 담당 프로그래머 때문에 몇주간 툴을 불편하게 사용하신 그래픽팀 일동에게 심심한 사죄의 말씀을-_-;

'게임개발 > ' 카테고리의 다른 글

D3DXLoadSurfaceFromSurface  (0) 2005.12.27
mutable  (0) 2005.11.22
vs 2005의 for each  (0) 2005.11.07
VS에서 lua의 syntax coloring을 해보쟈  (0) 2005.10.14
파일포맷 png  (0) 2005.09.07

막연히 나는 컨텐츠나 툴이나 이런 leaf쪽의 작업들을 좋아한다...라고 생각하고 있었는데...

레이옷 님의 "자네도 누구처럼 평생 툴만 만들고 살고 싶은걸지도... -_-"라는 댓글을 보고나니...

흐음...이건 아닌데-_-a 라는 생각이 든다.

그럼 뭘까...라고 곰곰히 생각해보니...

내가 만든 시스템을 컨텐츠를 통해서 보여주고 싶고, 내가 만든 엔진을 툴을 통해서 보여주고 싶다...인것 같다.

엔진을 가장 잘 보여주는것은 게임 클라이언트가 아니라 툴이다.

아무리 시스템을 잘 만들어놔도 시스템을 100%활용하는 컨텐츠가 없다면 일부밖에 보여줄 수 없다.

내가 만든 Core를 End-User에게 가장 잘 보여주는 방법은 End-User가 보는 부분을 내가 직접 만드는 방법밖에 없다... 가 여태까지 가져왔던 툴이나 컨텐츠에 집착하는 이유인것 같다.

3D엔진에 관한 얘기를 할 때 엔진에 대한 평가는 그 엔진으로 만든 게임에 달려 있다...라는 얘기와 비슷한 얘기이려나....

'게임개발 > 생각' 카테고리의 다른 글

나쁜 아이디어를 위한 좋은 방법  (0) 2005.12.08
툴과 매뉴얼  (0) 2005.11.22
카툰렌더링을 하다보니...  (0) 2005.11.14
performer  (0) 2005.06.22
기술과 컨텐츠  (0) 2005.04.07

현재 만드는 게임이 카툰 렌더링을 사용한다.
먼가 이상한 용어를 사용하면서 카툰 렌더링보다 진보되었다...라는 이상한 기사들을 내보내지만...
다른 카툰렌더링 기술적으로는 똑같다.. ( 유아틱한 분위기를 탈피하려고 색감 조정한거 말고는-_- )
좀 달라보이는건 디자이너가 달라보이게 그려서이다-_-;

머 어찌됐건...
사실 처음 시작할때는 사양 문제도 좀 들하고 여러모로 편한구석이 있을거라고 생각했지만...
천만의 말씀 만만의 콩떡이었다-_-;

보통 카툰렌더링 게임이 사양이 낮은 이유는 기술자체가 가벼운게 아니라 저연령층 대상으로 만들기 때문에 일부러 사양을 낮춘거였다-_-;

실제로는 외각선의 출력을 위해서 오브젝트들을 두번씩 찍어줘야 해서 일단 두배 깔고 간다-_-;
지금 만드는 게임이 폴리건이나 텍스쳐퀄리티가 타 게임과 비슷한 형편이어서 일단 부하 먹고 들어가신다-_-;

게다가 만드는것도 졸 귀찮다-_-;
일단 라이팅을 강제로 죽이는게 셀쉐이딩이다 보니..
음영을 살릴 수 없다는거는 입체감이 죽어버린다는 얘기가 되버린다-_-;
노멀맵 넣어봤다가 티도 한개도 안나버려서 대략 실패-_-
스페큘러 넣어봤다가 대략 분위기 엉망-_-;

이렇게 입체감이 안살다 보니 타게임과 비슷한 오브젝트양으로는 분위기 휑, 모델 퀄리티 엉망-_-;
결국 오브젝트양 증가 모델 폴리건수 증가-_-
대략 부하 잔뜩-_-;

현재 주로 많이 쓰이는 기술들이 리얼쪽 기술들이다보니 넣어봤쟈 대략 낭패들이다-_-;
그래서 분위기 맞게 넣을려고 하다보니 시간은 잔뜩 잡아먹는다-_-;

한마디로...
카툰렌더링이 싫어효 ~( ㅡ_ㅡ )~

'게임개발 > 생각' 카테고리의 다른 글

나쁜 아이디어를 위한 좋은 방법  (0) 2005.12.08
툴과 매뉴얼  (0) 2005.11.22
내가 컨텐츠를 만들기를 좋아하는 이유...  (0) 2005.11.22
performer  (0) 2005.06.22
기술과 컨텐츠  (0) 2005.04.07

vector<int> values;
for each( const int value in values )
{
cout << value;
}

같은 코드가 가능해졌다
감동-.ㅜ

표준이 아니라고 하면 할말은 없으삼-.-

'게임개발 > ' 카테고리의 다른 글

mutable  (0) 2005.11.22
콤보박스 드롭박스 부분 크기 조절하기  (0) 2005.11.22
VS에서 lua의 syntax coloring을 해보쟈  (0) 2005.10.14
파일포맷 png  (0) 2005.09.07
Cubemap을 이용한 SkyBox  (4) 2005.07.11

원래는 이따위로 성의 없이 나온다

Tools->Options->Text Editor->File Extension에가서 lua확장자를 Script Editor로 선택해서 Add해준다.
그리고, 다시 lua파일을 열어준다.

제대로 나오는건지는 모르겠지만 어쨋건 훨 낫다


'게임개발 > ' 카테고리의 다른 글

콤보박스 드롭박스 부분 크기 조절하기  (0) 2005.11.22
vs 2005의 for each  (0) 2005.11.07
파일포맷 png  (0) 2005.09.07
Cubemap을 이용한 SkyBox  (4) 2005.07.11
Increase, Decrease Macro  (0) 2005.07.08

사실 여태까지 png를 어따가 쓰는건지 몰랐다-_-;
그냥 파일포맷중 하나이겠거니... 했었는데..
알고보니 무손실압축에 알파채널을 지원하는 포맷이었다.

여태까지는 dxt포맷은 손실압축이라 퀄리티 저하가 되서 UI에 사용하지 못하고 tga파일을 사용하고 있었는데
tga의 경우는 이미지 자체의 투명도(transperent background - 투명 배경, 일명 격자 배경-_-)을 사용하는게 아니라 alpha채널을 뽑아내는 방식이라
디자이너가 마스크를 씌워서 투명도를 구워?내서 알파채널에 넣고 tga를 뽑는 번거로운 방식을 사용해야 했었는데
png는 투명도를 그대로 뽑아낼 수 있어서 디자이너의 편의성이 상당히 올라간다.

게다가, 512*512이미지가 tga는 1,025KB였는데 동일한 png이미지는(물론 tga의 알파채널을 다시 투명도로 바꾸는 법을 몰라서 대충-_- 투명도를 칠하고 테스트 했다.) 38KB밖에 안한다.
오오오! 무려 1/27의 사이즈!!!
투명도를 제대로 사용한다고 해도 1/10은 건질 수 있다는 얘기다 오호호
물론 UI가 심플한 디자인이라 압축률이 높은 거 같기는 하지만.

정확한 파일포맷스펙을 보지 않아서 어떨지는 모르겠는데
로딩할때 압축푸느라 시간이 꽤 걸린다는 풍문-_-이 있다.
복잡한 1024*1024짜리 이미지-_-a로 체감테스트-_-를 해봤는데 실제로 꽤 걸리는거 같다.
현재의 심플한 디자인의 이미지로 테스트 해보니 별 차이가 느껴지지 않았다~ 잇힝~
UI디자인은 보통 심플한 형태고, 실제 UI창이 뜨거나 할 때 좀 느리게 떠도 큰 상관없으므로
png로 가는게 좋을 것 같다.

속도상의 손해보다는 용량의 이득이 너무 크다-.ㅜ
용량이 줄면 풀버전의 용량도 적어지고 패치파일의 용량도 적어지고 설치시간과 패치시간도 적어진다.
풀버전과 패치파일의 용량이 적어지면 유저가 다운로드 받는 양이 적어진다는거고 CDN의 트래픽이 줄어들어 결국은 돈을 번다는 얘기다-_-;

물론 dxt를 쓸 수 있는곳은 dxt를 써야 겠지만 dds를 사용하지 못하고 이미지가 복잡하지 않은 UI의 경우는 딱 제격이다.

일찍 알았으면 좋았을걸 이라는 생각도 들지만 이제라도 알아서 다행이다. 아직 배포는 안됐으니까-_-;

낼 디자이너분한테 얘기해서 이번버전부턴 png로 가야겠다~ 잇힝~

PS1. 역시 클라이언트 프로그래머는 잡다한걸 많이 배워둬야 한다.
PS2. 클라이언트 프로그래머는 디자이너와 친해두는게 좋다.

'게임개발 > ' 카테고리의 다른 글

vs 2005의 for each  (0) 2005.11.07
VS에서 lua의 syntax coloring을 해보쟈  (0) 2005.10.14
Cubemap을 이용한 SkyBox  (4) 2005.07.11
Increase, Decrease Macro  (0) 2005.07.08
Two-Sided Polygons  (0) 2005.05.20

나중에나중에나~중에 하려고 했던 SkyBox를 어쩌다가 하게되서
Cubemap을 이용해서 찍어보게 되었는데
일단 SetTexture한방에 렌더링 한방.. 이라는 매력적인 내용외에도 또 다른 숨겨진 내용이 있는걸 알게 되었다.

굳이 6면을 월드시점으로 구성해서 그릴 필요가 없다..라는 것인데.
스카이박스는 어차피 화면에 보이는 부분만이 전부이고 6면이라지만 어차피 텍스쳐는 한장인 관계로 화면 좌표를 가지고 슥슥슥 해서 3D텍스쳐 좌표를 구해버리면 화면을 가득 채우는 플랜 한장으로 렌더링이 가능하다! 라는 내용이다.

오호..이런게 가능할줄은..
dx예제의 스카이박스들이 다 이렇게 그리고 있었는데 왜 모르고 있었을까나.. ( 스카이박스를 고민해 본 적이 없었으니 모르지-_-; )
어쨋건 스카이박스가 속도를 많이 잡아먹는 부분은 아니었지만
그래도 퍼포먼스 향상이 기대됨. 잇힝-

'게임개발 > ' 카테고리의 다른 글

VS에서 lua의 syntax coloring을 해보쟈  (0) 2005.10.14
파일포맷 png  (0) 2005.09.07
Increase, Decrease Macro  (0) 2005.07.08
Two-Sided Polygons  (0) 2005.05.20
nVidia 2005년 4월 뉴스레터 팁  (0) 2005.05.19

   Sub IncreaseNumber()
       Dim objTextSelection As TextSelection
       objTextSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection)
       objTextSelection.Text = objTextSelection.Text + 1
   End Sub

   Sub DecreaseNumber()
       Dim objTextSelection As TextSelection
       objTextSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection)
       objTextSelection.Text = objTextSelection.Text - 1
   End Sub


의외로 종종 필요한 경우가 있다

Control +, - 에 세팅해 놓고 쓰면 좋다


'게임개발 > ' 카테고리의 다른 글

파일포맷 png  (0) 2005.09.07
Cubemap을 이용한 SkyBox  (4) 2005.07.11
Two-Sided Polygons  (0) 2005.05.20
nVidia 2005년 4월 뉴스레터 팁  (0) 2005.05.19
루프내에서 여러번 호출되는 함수의 First Time구분하기.  (0) 2005.04.11

performer는 히승군에게 배운건데

클래스내의 컨테이너에 먼가를 조작하기 위해서 사용한다.
컨테이너 자체를 노출하는건 보통 stl컨테이너를 사용하기 때문에 dll프로젝트인 경우는 stl컨테이너의 익스포트가 지랄맞기-_-때문에 낭피

그래서
struct ISEE_SkillInfoPerformer
{
virtual void operator() ( IN const tstring& rName, IN const SEE_ActionInfoBasePtr pActionInfo ) = 0;
};

이런식의 인터페이스 클래스를 만들고

void
SEE_SkillInfo::Perform( IN ISEE_SkillInfoPerformer& rPerform )
{
ACTIONINFO_CONTAINER::iterator itr = m_ActionInfos.begin();
ACTIONINFO_CONTAINER::iterator endItr = m_ActionInfos.end();

for( ; itr != endItr; itr++ )        // 사실 이부분도 boost와 foreach의 조합으로 어케 사부닥-_-될것 같은데
  rPerform( itr->first, itr->second );
}

이런식의 호출을 해준다.
그래서 실제 사용할 때는 인터페이스를 상속받아서 객체를 넘겨준다 라는건데

문득 함수 템플릿을 사용하면 어떨까...라는 생각이 들었는데
그럼 컨테이너를 결국 dll외부로 노출해야 하므로 어차피 낭피-_-

흐으음-_-;

'게임개발 > 생각' 카테고리의 다른 글

나쁜 아이디어를 위한 좋은 방법  (0) 2005.12.08
툴과 매뉴얼  (0) 2005.11.22
내가 컨텐츠를 만들기를 좋아하는 이유...  (0) 2005.11.22
카툰렌더링을 하다보니...  (0) 2005.11.14
기술과 컨텐츠  (0) 2005.04.07

nVidia 샘플을 보다보니 저런 제목이있다.
대충보니 폴리곤을 양면으로 만든게 아니라 한면으로 만들고 백페이스 컬링을 끄고 찍을때
노멀이 하나밖에 없는지라 라이팅이 뒷면에도 앞면과 같게 먹는걸 버텍스 쉐이더에서 싸바싸바 해서 정상적으로 먹게 해준다....라는 내용이다.

그럼 뒷면인가는 어떻게 알 수 있는가 라는 부분이 포인트인데.
View를 이용해서 안다..라고 되어있다.

쉐이더 코드는 어셈-_-으로 되있어서 안봤다.

대충 카메라 노멀이랑 내적을 때려봐서 판단해서 노멀을 뒤집어 준다...라는 내용인것 같다.

+ Recent posts