개발 | Posted by 좌절절대금지 2009/07/03 03:38

국내 3d 엔진들

http://zerodinengine.com/
http://www.gible.com/

http://rydesoft.com/zbxe/

http://xengine.co.kr/

http://eppengine.com/

 

제로딘 엔진이 가장 최근에 나온 것 같습니다. kgc 강연때 머테리얼 툴이 심상치 않았죠..

크리에이티브 커먼즈 라이선스
Creative Commons License

'개발' 카테고리의 다른 글

국내 3d 엔진들  (2) 2009/07/03
테스트 코드 집어넣기 part 2  (0) 2009/06/24
vs2003 거지같은 속성창..  (0) 2009/06/23
테스트 코드 집어넣기 part 1  (0) 2009/06/19
로컬라이징 팁  (0) 2009/06/17
소스 버젼관리 호스팅 사이트들  (0) 2009/06/15
TAGetc
개발 | Posted by 좌절절대금지 2009/06/24 07:58

테스트 코드 집어넣기 part 2

김모씨의 조언을 듣고 테스트용 프레임 워크를 따로 추가 했습니다.

 

1. 게임 소스에 직접 테스트 코드를 넣었다

2. 테스트를 실행하기 위해서는 게임을 실행시켜야만 한다

3. 게임 소스를 라이브러리로 생성해주는 프로젝트를 추가

4. 3번에서 생성한 라이브러리를 참조하고 테스트 코드만이 작성되어 있는 프로젝트 추가

5. 테스트 코드만 작성

 

본 소스에 테스트 코드를 넣었을 때는 2번에 쓴 것 처럼테스트를 위해 게임을 실행시킨다던가 하는

매우 불편한 점이 있었는데 이렇게 하면 소스 간 결합도도 없애주고 상당히 좋은 방법 같습니다.

 

관련 글 :

원문 - http://gamesfromwithin.com/?p=34

번역 - http://parkpd.egloos.com/1589986

 

하지만 테스트 코드와 새로운 코드를 작성 해 넣으면서, 물론 당연한 일이지만, 본 게임에 있는 각종 객체들의

참조가 필요하게 됩니다. 이것들을 직접 참조 하게 해도 되나 이렇게 하면 다시 결합도를 높이는 격이 됩니다.

(셋팅도 귀찮습니다.. ;;)

그래서 또 가상으로 그것들을 대신 해주는 오브젝트를 만드는 방법이 있더군요. 바로 Mock 입니다.

구글에서 이것도 만들어뒀습니다. 그래서 이것도 넣기로 했습니다. 아직 개념이 확실하게 잡히진 않았지만

사용하면서 점차 깨닫게 되겠지요. 다만 걱정되는 것은 본 소스와 완전히 별개로 되는 것은 좋으나 혹시

내용이 틀어지게 되는것입니다. 혹은 그렇게 되지 않기 위해서 목과 본 소스 두개를 관리해야 하거나

뭐 이런것이 걱정이 되네요

 

http://code.google.com/p/googlemock/

 

p.s 젝일 vs2005 sp1 이상 -_-;;;

크리에이티브 커먼즈 라이선스
Creative Commons License

'개발' 카테고리의 다른 글

국내 3d 엔진들  (2) 2009/07/03
테스트 코드 집어넣기 part 2  (0) 2009/06/24
vs2003 거지같은 속성창..  (0) 2009/06/23
테스트 코드 집어넣기 part 1  (0) 2009/06/19
로컬라이징 팁  (0) 2009/06/17
소스 버젼관리 호스팅 사이트들  (0) 2009/06/15
TAGTDD
그 밖에 생각, 하고싶은 말 | Posted by 좌절절대금지 2009/06/23 16:06

나이와 고정관념

제가 나이를 먹어가면서(여러가지 경험을 쌓으면서) 가장 걱정하는게 어떤 생각에 대해
고정관념이 생기는 겁니다. 그 동안 저보다 어른인 분들을 보면서 나름대로 db를 쌓아온거죠.
아니, 어쩌면 이 생각 자체가 고정관념이라고 볼 수도 있겠군요.

'역시 나이를 먹을 수록..' '나는 조심해야지..'

아닌것 같은 분들은 있지만 완벽하게 아닌분들은 아직까진 보질 못했습니다.

어떤 경험의 최고치를 100이라고 하면 실제 자신의 경험치가 50 뿐일지라도 그것이 자신 스스로
느끼기에 8~90쯤 혹은 100? 일거라고 여겨지면 그것은 이제 자신에게는 '정의'가 되는 것이죠.
(최고 경험치를 100이다 라고 딱 잘라 말할 수는 없을거라고 생각합니다. 상대적인 면이
많이 있을 수도 있거든요. 평균적으로 100정도라고 볼 수 있겠다는 거죠.)

50이지만 100인줄 알고 거기서 중단해버리면 나머지는 얻을 수 없게 됩니다. 왜냐면 자존심상
죽어도 자신이 맞는거거든요. 객관적으로(하지만 다분히 주관적인) 100 이 보다 낮은 숫자한테
질 순 없잖아요?
그냥 50인체 100인줄 착각하고 살아가는 것은 정말 슬픈 일이에요. 이 느낌을 잃지 않도록
노력해야 합니다.

우리가 하는 행동들이 많은 부분 습관에서 우러나오는 것과 같이 생각에도 마찬가지로 습관이 있는 것
같습니다. 굳혀진 것은 그것이 무엇이 됐든 고치기 힘든법이죠.
어떤 생각을 할 때 '..이다, 아니, 그건 아니야' 라고만 생각하지 않도록 주의 해야 합니다. 
그래도 나름 인생을 살아가면서 많은 경험을 쌓고 각자 느끼는 바가 있기때문에 아주 떨쳐 버릴 순
없을것 같아요. 그리고 그게 어쩌면? 실제로 100일 수도 있구요. 그렇게 혹시 결단을
내려버리더라도 다시 '..일꺼야, ..일 수도 있어' 라고 생각할 수 있다는게 중요하다고 봅니다.
말만 쉬운, 항상 '열린마음' 을 가져야 한다는 거죠.

고정관념이란 것을 나쁘게만 보지 않는다면 고유한 나 자신을 점점 확립시킨다는 장점도 있는 것 같아요.
하지만 여러가지 생각과 어울린다는 것이 더욱 더 멋지고 중요하다고 생각하기에 적당히 섞을 수 있다면
좋겠습니다. 너무 우유부단 하지만 않게요 ㅎㅎ

유연하고 여유롭게, 몸도 마음도.

크리에이티브 커먼즈 라이선스
Creative Commons License

'그 밖에 생각, 하고싶은 말' 카테고리의 다른 글

나이와 고정관념  (0) 2009/06/23
내 성숙미에 대한 고찰  (0) 2009/06/17
암굴왕 (스포일러)  (0) 2009/06/14
제목..  (0) 2009/06/07
노무현 전 대통령님께 애도를 표합니다.  (0) 2009/05/24
X Y V C D 넋두리  (0) 2009/05/22
TAGetc
개발 | Posted by 좌절절대금지 2009/06/23 05:29

vs2003 거지같은 속성창..

vs2003 에서는 프로젝트에 *.cpp 파일이 없으면 속성창에서 C/C++ 란이 뜨질 않습니다.

참 웃기죠.

근데 또 프로젝트 파일을 따로 열어보면 관련 값들이 있긴 있다는 겁니다. 적용은 안되지만..

이걸로 또 삽질좀 했는데 이정도면 뭐 거의 버그수준 아닌가요?

물론 2005 이후로는 cpp가 없더라도 잘 뜹니다.

구글테스트 소스 코드들이 vs2003 으로 작성된데다가 전부 *.cc 로 되어 있는데 그렇다면

그들은 어떻게 만든걸까요? 뭔가 관련 패치라도 있는건지..

결국 더미 cpp(?) 하나를 추가해서 사용했습니다. 젝일

 

 


 

크리에이티브 커먼즈 라이선스
Creative Commons License

'개발' 카테고리의 다른 글

국내 3d 엔진들  (2) 2009/07/03
테스트 코드 집어넣기 part 2  (0) 2009/06/24
vs2003 거지같은 속성창..  (0) 2009/06/23
테스트 코드 집어넣기 part 1  (0) 2009/06/19
로컬라이징 팁  (0) 2009/06/17
소스 버젼관리 호스팅 사이트들  (0) 2009/06/15
개발 | Posted by 좌절절대금지 2009/06/19 07:38

테스트 코드 집어넣기 part 1

참 많은 라이브러리들이 있더군요

 

cppunit
cxxtest
UnitTest++
VisualUnitTest++
MSTest
GoogleTest

 

최초 발견한것은 cppunit 이었고 이걸로 사용하려고 했다가 좀 더 뒤져보니 인지도는 Unittest++ 이나

 

구글테스트가 높다는 것을 알게 되었습니다.

 

구글테스트가 기능이 좀 더 강화되었다고 해서 구글테스트로 결정.

 

이것들은 결과를 거의 콘솔창으로 띄워주는데 vs에 ide로 붙인 라이브러리가 또 있더군요

 

TestDriven.Net 요건 유료이고 Visual UnitTest++ 이 있습니다. 자랑스럽게도 우리나라 분이 만드셨더군요

 (이것들은 ide로 바꿔서 표현해주는 것들이므로 기본 유닛테스트 라이브러리가 있어야 합니다)

 

현재 5가지 테스트 라이브러리를 지원하고 얼마전부터 구글테스트도 지원합니다. 그래서 이것도 쓰기로 결정.

 

p.s TestDriven.Net 는 c#용이네요 개인용 무료 라이센스도 있는듯 합니다..

크리에이티브 커먼즈 라이선스
Creative Commons License

'개발' 카테고리의 다른 글

테스트 코드 집어넣기 part 2  (0) 2009/06/24
vs2003 거지같은 속성창..  (0) 2009/06/23
테스트 코드 집어넣기 part 1  (0) 2009/06/19
로컬라이징 팁  (0) 2009/06/17
소스 버젼관리 호스팅 사이트들  (0) 2009/06/15
std::string 의 유니코드로의 사용  (0) 2009/06/15
TAGTDD
그 밖에 생각, 하고싶은 말 | Posted by 좌절절대금지 2009/06/17 11:08

내 성숙미에 대한 고찰

저는 아직 미 성숙한 인간이라 여겨져
언제나 행동과 언행을 곱씹어봅니다.
그래서 말을 하고 나서 행동을 하고나서 혼자 생각할 시간이 생기면
제 속에 긴장감이 맴돕니다. 저를 어떻게 평가할지에 대한 긴장감이죠.
평가에 대한 기준은?
그 동안 살아오면서 외부로부터 스스로 걸러내며 받아들인,
모든 사람들이 보편적으로 여기고 있는( 혹은 여기고 있을거라 생각하는 )
올바르고 착하고 예의바른 행동이나 언행이겠죠.
만약 마음에 들지 않은 평가가 내려지면 또 죄책감이나 자괴감이 몰려옵니다.
슬퍼요. 슬플때가 많은거 같아요 전.
제일 좋은방법은 웃기는 말이지만 아무것도 하지 않거나 처음부터 잘 하거나.
어쩌면 제가 말이 별로 없는게 이런 이유일 수도... ㅋㅋㅋ
매일 되풀이 하며 생각이 드는건 과연 이게 다 고쳐질수 있을까 라는 겁니다.
내 자신이 마음에 쏙 드는 날이 올까?

전 정말 '좋은' 사람이 되려고 많이 노력해요.
좋은 사람이 되서 뭐하나 라고 생각해봤을때 그냥.. 이건 제 욕망인 것 같아요.
왜 인간에게는 출처를 알 수 없는 그런 감정들이 많이 있잖아요.
예전엔 왜? 왜 그런 생각이 드는거지? 라고 모든 감정에 반문 했지만 이제는
그냥 그대로 흘러가게 둬도, 꼭 원하는 모습이 아니더라도 정말로 원래 인간이 그렇게 생겨먹은 거라면
어쩔 수 없다는 생각이 많이 들어요.
그리고 그렇게 생겨먹은 대로 사는게 건강하게 사는 법 중 하나인거 같기도 하구요.

나이를 먹으면서 나이만큼 아니 절반이라도 성숙해 졌을까요.
조금은 나아지고 있을까요.
뭐, 열심히 해야죠. 나라는 인간은 좀 피곤한 인간이라는 생각이 들긴하지만

p.s 어머니 항상 죄송해요


크리에이티브 커먼즈 라이선스
Creative Commons License

'그 밖에 생각, 하고싶은 말' 카테고리의 다른 글

나이와 고정관념  (0) 2009/06/23
내 성숙미에 대한 고찰  (0) 2009/06/17
암굴왕 (스포일러)  (0) 2009/06/14
제목..  (0) 2009/06/07
노무현 전 대통령님께 애도를 표합니다.  (0) 2009/05/24
X Y V C D 넋두리  (0) 2009/05/22
TAGetc
개발 | Posted by 좌절절대금지 2009/06/17 08:31

로컬라이징 팁

1. 만약에 가능하다면 스스코드는 utf-8 로 저장한다.
utf-8 이 아니면 한글로 적은 주석이 Ansi code 페이지 바꾸는순간 깨져서 보인다.

2. UI 메시지 출력을 위해서라면 sprintf 를 사용하지 않는다.
어순문제가 해결되는 FormatMessage 를 사용한다.

3. 영어는 프로토스 종족까지도 사용하는 우주공통 언어이지만
불행하게도 OK,Cancel,Yes,NO 가 뭔지 모르는 국가도 있다.
이런 국가에서는 OK,Cancel,Yes,No 까지 모두 번역해달라고 한다.)

4. 처음부터 번역이 힘든 표현은 쓰지 않는다.
예를들어서 "하얀꽃 고이접어 나빌레라" 라는 문장은 한국어로는 적합하지만
영어나 다른 언어로 번역할 방법이 없다.
물론 기획자는 이러한 생각에 매우 반대할수 있지만
해외런칭시 유저는 원작이 어떻게 되어있는지는 모른다.
오직 번역된 컨텐츠만이 유저들이 보는 전부이다.

5. 모든 폰트는 획수가 많은 한문도 충분하게 출력할수 있도록 넉넉하게 잡는다.
竊癤 齉 과 같은 한문도 안티알리어싱이 먹은 상태에서 식별할수 있을정도의 크기가 되어야 한다.
볼드 : 竊癤 齉
노멀 : 竊癤 齉
볼드처리될경우 획이 많은 글자는 잘 안보인다.

6. 번역을 통해서 단어 및 문장의 경우 1.5 배 최대 2배까지 증가할수 있다.
UI 레이아웃은 번역에 대비하여 약간의 여분이 있는것이 좋다.
물론 기획자와 디자이너가 규격에 딱딱 맞는 디자인을 좋아한다면 어쩔수 없다.
(딱딱 맞는 단정한 레이아웃을 추구하다가 해외런칭시 후회할수도 있다.)

7. 게임내에서 음성사용을 자제한다.
이는 비용상의 문제이다. 예를들어서
리니지2 에서 여엘프가 마법을 쓰면 다음과 같이 말한다.
"히야라 바~~ 마~~ 하~~~ 캼온~~"
무슨 말인지는 모르겠지만 남휴먼 법사는 마법쓰면 다음과 같이 말한다.
"하메하메하메~~ 챠파~~"

도데체 어느나라말인지 모르겠다. 그래서 주파수 특성이 좋아서, 나쁘게 들리지는 않지만,
이러한 리니지2 의 마법주문 선택은 로컬라이징에 있어서는 GREAT 한 판단이다.
만약에 특정언어(한국어,영어,중국어,일본어) 로 주문을 말했을경우
출시하는 국가마다 모두 비싼 성우 구입해서 더빙해야 했을것이다.
(성우 채용 비용 생각보다 비싸다.)

8. 아이템 이름을 일정하게 짓는다.
장검이라는 아이템이 있고 "롱소드" 라는 아이템이 있었는데,
영어로 번역하니 아이템 이름이 똑같아져서 결국 이름을 바꾸었다는 슬픈사연이 있다.
물론 아이템이름짓는것도 힘들다는 기획자들에게는 할말이 없다.

9. 정치적으로 민감한 소재는 피한다.
특정 국가에서는 판매금지될수도 있다.

10. 특정 기념일 명절 이벤트를 할경우 세계공통 이벤트 혹은
가장 많은 인원이 수혜를 입는 이벤트부터 만든다.
예를들어서 1월 1일(새해 인류공통), 12월 25일 과 같은것들이다.

11. 게임내 모든 특별행사는 게임내의 세계관에 근거하는것이 좋다.
만약에 어린이날,광복절,설날 이벤트를 할경우 모든 데이터는
하드코딩되어서는 안된다. 한마디로 데이터 바꿔서 크리스마스 이벤트로
변신할수 있어야 한다.

12. char 는 악의 세력이며 wchar_t 만이 진리일뿐이다.
만약에 가능하다면 char 를 못쓰도록 막는것도 좋은 방법이다.

13. 국가별로 따로가는 컨텐츠를 최대한 줄여야 하지만
이를 위해서는 처음 기획단계에서 모든 인류가 공감할만한 세계관을 다루는것이 좋다.
하지만 기획자의 생각은 많이 다를수 있다.

14. 폰트시스템 구축시 글자단위로 폰트그림(글리프) 를 캐슁하지 않는다.
이는 MSDN 에서도 나오는 말인데, 글자단위 캐슁이 힘든 인도어,태국어,아랍어 때문이다.
아랍어의 경우 같은 유니코드라고 해도 문액에 따라서 형태가 변하며
태국어는 n 개의 유니코드가 모여서 하나의 글자를 만든다.
유니코드를 글리프로 전환한뒤에 이 글리프를 캐슁해야 한다.

15. 로컬라이징은 번역이 아니다.
로컬라이징은 번역이 아니다. 로컬라이징의 대상은 게임 전체 데이터이다.
실제로 텍스트는 로컬라이징 업무시간중 극히 일부분이다.



그리고 가장 중요한것이 있다면.

16. 반드시 한국에서 성공해야 한다. 한국에서 성공한게임이 해외에서도 뜬다.
물론 한국에서 망했지만 해외에서 뜬 게임도 있지만, 극소수이다.

한국에서 망해도 해외가 있겠지? 라는 마음가짐으로는 절대 해외에서 성공할수 있다.
수많은 과거사례는 결국

한국에서 성공한 게임만이 해외에서 성공한다는것을 보여준다.


 

좋타 참 좋타~~~

gpg 에서 kotonoha 님이 작성하신 글을 복사 해왔습니다

매우 중요한 내용을 알려주신것 같아요 명심하겠습니당

크리에이티브 커먼즈 라이선스
Creative Commons License

'개발' 카테고리의 다른 글

vs2003 거지같은 속성창..  (0) 2009/06/23
테스트 코드 집어넣기 part 1  (0) 2009/06/19
로컬라이징 팁  (0) 2009/06/17
소스 버젼관리 호스팅 사이트들  (0) 2009/06/15
std::string 의 유니코드로의 사용  (0) 2009/06/15
C++0x  (0) 2009/06/12
개발 | Posted by 좌절절대금지 2009/06/15 12:17

소스 버젼관리 호스팅 사이트들

* Google Code
무료, 제목 비공개 불가능 나머지는 비공개 가능

* Assembla
라이센스 있음, 무료 버젼은 내용공개, 용량제한(200mb)

* Unfuddle
여러가지 라이센스..

걍 구글 코드 ㄱㄱ
크리에이티브 커먼즈 라이선스
Creative Commons License

'개발' 카테고리의 다른 글

테스트 코드 집어넣기 part 1  (0) 2009/06/19
로컬라이징 팁  (0) 2009/06/17
소스 버젼관리 호스팅 사이트들  (0) 2009/06/15
std::string 의 유니코드로의 사용  (0) 2009/06/15
C++0x  (0) 2009/06/12
BugSlayerUtil  (0) 2009/06/09
개발 | Posted by 좌절절대금지 2009/06/15 04:20

std::string 의 유니코드로의 사용

보통 string 은 ansi 를 쓸 때 사용되고 유니코드 사용시엔 wstring 을 사용하면 되지만

wstring 을 그냥 쓰는것 보다 basic_string<> 을 재정의 하는것이 사용하는 자료형에 유연할 듯 하다

 

typedef std::basic_string<TCHAR> tstring;

 

출처 : gpg Xine님
 

크리에이티브 커먼즈 라이선스
Creative Commons License

'개발' 카테고리의 다른 글

로컬라이징 팁  (0) 2009/06/17
소스 버젼관리 호스팅 사이트들  (0) 2009/06/15
std::string 의 유니코드로의 사용  (0) 2009/06/15
C++0x  (0) 2009/06/12
BugSlayerUtil  (0) 2009/06/09
조건문 단순화 그리고 다형성  (0) 2009/06/08
그 밖에 생각, 하고싶은 말 | Posted by 좌절절대금지 2009/06/14 16:41

암굴왕 (스포일러)

이제는 너무나 흔한 소재가 되어버린 '당한 후 변신, 그리고 복수' 의 전형적인 스토리를 가진 애니메이션 입니다.
아직 접해보지 못한 저 유명한 몽테크리스토 백작이 원작이라 하여 상당히 기대를 했었지만
그다지 유쾌하게 본 애니메이션은 아니었습니다.

중심이 되는 소재는 복수극이지만 뇌리에 강하게 남는 내용은 '불륜' 입니다. 주요 주변 인물들이 종류별 불륜을
하나씩 해내고 있죠. 원작에도 이런 요소들이 있었는지는 모르겠지만 약간은 불쾌한 기분마저 듭니다.
드라마, 영화도 모자라서 이젠 애니메이션에서도 이런걸 봐야하나 뭐 이런 생각도 들구요.

충격을 먹었던 장면이 있는데 바로 로보트 검술 대련 입니다. 두 인물이 대련을 한다고 하길래 직접 결투를
벌일것으로 생각했는데 갑자기 거대 로보트 머리부분에 탑승(?) 해서 싸우더군요. 애니메이션이라 이런 내용을
넣지 않으면 안되는 것이었을까요? 아무리 배경이 미래라곤 하지만 사전설명 없이 이런 내용이 나와서
당황했었습니다. 그냥 두 인물간의 대립을 상징적으로 표현한것이라 믿고 싶어요. 그래야 이 애니메이션
분위기에 어울리지 않을까 합니다. ㅡ,.ㅡ

후반부의 반전을 기대하며 나름 긴장감 있게 봤습니다. 제작사 명성을 생각하면 기대에 못 미칩니다만,
그래도 볼만은 했다고 생각합니다. 얻은것이 있다면 원작 소설의 내용이 궁금해진 것 정도?

내용을 한줄로 요약하면..

칙칙한 불륜 드라마 -끗-


크리에이티브 커먼즈 라이선스
Creative Commons License

'그 밖에 생각, 하고싶은 말' 카테고리의 다른 글

나이와 고정관념  (0) 2009/06/23
내 성숙미에 대한 고찰  (0) 2009/06/17
암굴왕 (스포일러)  (0) 2009/06/14
제목..  (0) 2009/06/07
노무현 전 대통령님께 애도를 표합니다.  (0) 2009/05/24
X Y V C D 넋두리  (0) 2009/05/22
<PREV 1 2 3 4 5 ... 11 NEXT>