아침에 그 덧글을 보고 처음에는 그냥 피-식 웃었다.
별 뜻이 있는 것은 아니고,
화까지 났다고 하니까... ㅎ...그럴 정도의 일은 아닌 듯 한데 해서.
글 마지막에 있는 이분이 원하는 답만 하면 간단하긴 한데
그래서는 앞으로 Nebula는 물론이고 다른 오픈소스 프로젝트와도 친하게 못 지내실 듯 하다.
그래서 이왕지사, 길더라도 종합편으루다 한번 올려 보는 것도 좋을 듯 하다는 생각이 들었다.
아래는 덧글의 원문이다. (해당 포스팅은
여기)
------------------->
nebula2로 상용 게임도 만들고 nebula3로는 새게임을 만들고 있다고 하는데
도대체 커뮤니티 버전은 관리가 되고 있는 겁니까? (화내서 죄송--^)
논리적 오류도 아니고 몇일째 컴파일에러와 빌드에러만 고치고 있습니다.
튜토리얼이라고 고작 2~3개 있는데 버전 관리가 안되있어 스트레스만 쌓이네요.
굳이 알필요도 없는 에러 패턴에 대한 지식만 축적하고 있습니다.
(독특한 객체 시스템으로 "이름"을 사용하지만 이 이름이 제대로 맞지 않아 실행시 로드에러가 많이 납니다.)
("shaderPath" 여야 되는데 "shaderpath"로 되있어 한참 찾았습니다.)
Nebula2SDK_2005_06_19.exe 에는 Mangalore가 없고
svn nebula2는 버전관리가 안되있어 에러고치려면 구글의 힘이 필요하고
N3SDK_Sep2008.exe는 아직 render층의 기능이 부족한 상태고
svn nebula3의 audiotest_win32 예제는 XACTAudioDevice::WaitForWaveBankPrepared()에서
동기화가 안되어 무한루프를 돌고있고
그냥 하소연했습니다.;;
혹시 안정된 nubula2 sdk 구할 수 없을까요?
nubula2 conrib에 예제(openaldemo)도 만드신거 봤습니다.
------------------->
우선 기다리셨을테니 질문에 대한 답변부터.
소스포지에서는 SVN 버전을 사용하시고 Nebula2SDK_2005_06_19.exe와 같이 다운로드 버전은 사용하지 말기 바랍니다.
SVN으로 직접 소스 코드를 다운 받아서 사용해야 합니다.
최근까지 확인한 바로는 빌드 상의 문제는 최신의 DX SDK와 호환이 되지 않아서 실행시 관련 에러가 발생하는 것 외에는 기타 알려진 컴파일 에러나 런타임 에러는 없습니다.
이 부분은 커뮤니티 포럼 게시판(
http://nebuladevice.cubik.org/forum/index.php)을 검색하거나 질문을 올리면 더욱 빠르게 원하는 답변을 받을 수도 있을 것 같습니다.
튜토리얼이라고 고작 2~3개 있는데 버전 관리가 안되있어 스트레스만 쌓이네요.이 튜토리얼 디렉토리에 있는 것들은 보지 마시길 -_-; 빌드도 제대로 되는지 모르겠고 큰 도움이 안됩니다. 차라리 위에 포럼에서 찾아 보시면 튜토리얼이라고 올려 진게 있는데 훨씬 더 도움이 됩니다.
(독특한 객체 시스템으로 "이름"을 사용하지만 이 이름이 제대로 맞지 않아 실행시 로드에러가 많이 납니다.)어떠한 의미인지요? 그리고, 실행시 발생하는 로드 에러는 어떤 것들인가요?
("shaderPath" 여야 되는데 "shaderpath"로 되있어 한참 찾았습니다.)이 부분은 어느 파일인지 조금 자세하게 설명해 주시기 바랍니다.
N3SDK_Sep2008.exe는 아직 render층의 기능이 부족한 상태고덧글의 제약 때문에 자세한 내용을 언급하지 못한 듯 한데, 어떤 기능이 부족한지 또 부족한 것을 보완할 좋은 방법은 무엇인지와 같은 의견을 주시면 개발에 많은 도움이 됩니다.
svn nebula3의 audiotest_win32 예제는 XACTAudioDevice::WaitForWaveBankPrepared()에서동기화가 안되어 무한루프를 돌고있고이 내용은 버그 리포팅해야겠군요. 구글코드의 svn에는 현재 개발자가 그리 많지 않습니다. 현재는 enlight 혼자서 대부분의 일을 처리하고 있습니다. Floh씨 블로그 사이트의 원본이 잘못된 것인지 아니면 머지하다고 생긴 버그인지 확인하는 일부터 필요하겠군요. 버그를 알려 주시면 제가 메일로 올리겠습니다.
nubula2 conrib에 예제(openaldemo)도 만드신거 봤습니다.
OpenAL 모듈 이야기로군요. 문서는 아마 제가 작성했을지도 모르겠습니다만, 코드는 제가 작성하지는 않았습니다. 2004년 경이었을 듯 한데요... 제 팀원 중 한분이 작성한 모듈입니다. 지금은 회사 만드셔서 개발이사신데... 바빠서 아마 수정 사항이 있어도 못하실 듯 ㅡ,.ㅡ
...
사실 기술적인 질문은 덧글로는 힘든 경우가 많다.
내용도 길고, 몇 차례 회신이 오고 가야 하는 내용도 있고,
가끔씩 메신저로 질문해 오시는 분들도 있는데
메신저는 더 힘들다.
그런데 메신저는 진짜 예의가 아니다. ㅋ
자리 이동할 때마다 메신저에 표시하는 사람들도 있지만
나는 그렇게는 안한다...귀찮아서 -_-;
그래서 항상 온라인인거다.
(그래야지 사장님이 보면 또 항상 자리에 있는걸로도 보이고, ^^; --> 농담이다 ㅡㅡ;)
메일이 기본이다. 질문에는.
소스포지는 개발자한테 메일 보내면 소스포지 메일 서버가 개발자 개인 메일 계정으로 redirect 해준다.
그러니까 관련된 메일은 소스포지 메일로 보내자.
도대체 커뮤니티 버전은 관리가 되고 있는 겁니까? (화내서 죄송--^)내가 난독증이 있는 것이 아니라면,
그리고 내가 이 라인 제대로 해석한 거라면
좀 어이가 없긴 하다.
나는 그냥 오픈 소스 프로젝트 개발자일 뿐
이 분(뉘신지도 모르고)한테 소스코드를 대가로 하등의 무엇인가를 받은 적이 없다.
라이센스를 완전히 오해하고 있는 케이스다. 아니면 관심 조차 없거나.
하기야 일면도 없는 나한테 화내시기야 했겠냐 만은
아마도...
모르긴 해도 빌드하다 잘 안되고
이것저것 다운도 받고 이리저리 메뉴얼 찾아서 읽고 빌드했는데...
에러만 막 난다...
짜증스러울 수도 있겠다.
또 Nebula2 가 대부분의 윈도우즈 개발자에게는 익숙하지 않은 컨셉이 많은 것도 한 원인이겠다.
그래도...
화부터 내지는 말자...
마음을 좀 가다듬고...
...
개발이라는 이짓거리가 밥벌이인지라...
힘들다고 내려 놓을 수 있는 짐이 아닌데...
말이 게임 개발이지... 게임이라는 단어는 그냥 치장 아닌가.
밥벌이가 즐거울리 만무하다.
그래도 말이다...
코드하고 싸우지는 말자.
잘 보듬자. 너무 스트레스 받지 말고.
열 낸다고 버그가 해결되고 에러가 없어지면
나는 진작에 강마에 되었겠다. ㅋㅋㅋ
그리고,
다른 분들은 Nebula 엔진을 어떤 용도로 보고 계신지는 모르겠지만...
적어도 나한테 이 프로젝트는 밥벌이가 아니다.
이 프로젝트 자체로 직접 돈벌이를 하거나 회사 프로젝트에 직접 사용한다면 모를까...
이 프로젝트가 내 밥벌이가 아니라는 이야기는
이 프로젝트는 내가 개발자로서 개발을 (진짜!) 즐길 수 있는 꺼리라는 이야기다.
처음 Nebula를 본 게 1999년 하반기 쯤이었던가...
본격적인 사용이 2001년부터니까
첫만남부터 따지면 이제 거의 10년이 다 되어 간다.
애착이 남 다를 수 밖에...
처음에는 모든게 부족한 것 투성이었다.
코드 수정하고,
IRC에서 토론하고,
3DS Max 플러그인 만들고,
도큐먼트 작성해서 올리고,
질문에 답해 주고,
그리고, ShaderX5에 기고한 일도 있구나.
이렇게 하나 하나 배웠다.
그러다 보니 엔진만 배우는 것이 아니라 개발 방법에 대한 깨우침도 오더라...
책에 나오는 수 많은 개발 방법론들...
사실 회사에서는 적용하기가 힘들다.
왜?
이상이 현실에 맞을리가 있나 - 그게 책이 나오는 이유 아니었던가? ㅎㅎ
그런데 이런 것들도 오픈소스의 세계에서는 가능하다.
회사라는 제한이 없으니까
그래서 오픈소스 프로젝트는 그 자체로 즐겁다. (밥벌이가 아니라서 더욱!)
이게 오픈 소스 프로젝트다.
오픈이 중요한거다 오픈이.
마인드가 오픈되어 있지 않으면
오픈 소스 프로젝트에 참여하기 힘들다.
(혹시 참여는 안하고 필요한 것만 빼 가시겠다는 분들? 꿈도 야무지시다 ㅋ)
화내고 다가오는 사람에게
마음이 열릴리 만무하다.
굳이 알필요도 없는 에러 패턴에 대한 지식만 축적하고 있습니다.이 마인드라면 나는 먼가.
굳이 가르쳐 줄 필요 없는데 남이야 빌드하던 말던 나만 할 줄 알면 됐지.
그런데 꼭 그렇지는 않다.
물론 본인에게 중요한 지식이 아니라서 삽질했다는 생각이 화를 더 부추겼을 수도 있겠다.
그런데,
꼭 그 에러들이 알 필요 없는 것들이었을까?
당사자에게는 그럴 수도 있겠지만,
이제 Nebula를 사용해서 똑같은 에러를 만난 사람에게는 해결을 이야기할 수 있는 방법이 생겼다고 생각하면 안될까?
다른 이에게 나눠 줄 수 있는 (Nebula로) 무엇인가가 생긴거다.
공유할 수 있는 그 무엇인가가.
이게 오픈 소스 프로젝트 아니었던가.
자기가 알고 싶은 것만 알면 편하겠지만, 또 효율적이겠고.
그래도
받은 만큼 주는게 세상 이치 아닌가.
새로움에는 진입 장벽이 있을 수도 있다.
그래도 배움이라는 것은 즐거운 일이다.
그리고 배운 것을 남들에게 알려 주는 일은 더 즐겁다.
게다가 남들과 함께 알아 가는 일은 더더욱 즐겁다.
이 방식의 프로젝트라는 것이
따라가는거지 무작정 왔으니까 답을 내놓으라는 식은 곤란하다.
처음에는 힘들 수도 있다.
하지만 코드던 사람에게든
화내지 말자...침착하게, 하지만 냉정하게.
그리고, 늘 따뜻한 마음으로.
느려도 즐겁게 한걸음씩.
그런데,
계속 느리지만은 않을거다.
미친듯이 가속이 붙는 때가 온다.
오픈소스 프로젝트의 이
플로우(flow)를 즐기려면,
그냥 조금씩 따라가면 된다.
단,
즐거운 마음으로,
남들과 함께.
악기는 연주하기 전에 튜닝이 필요합니다.
그런데 악기 중에는 튜닝이 힘든 악기도 있습니다.
누구에게는 Nebula가 그런 악기일 수도 있습니다.
하지만 튜닝이 끝나고 연주할 때에는
멋진 소리가 나오는 악기임에는 틀림이 없습니다.
Nebula 엔진 사용하시는 모든 분들,
화이팅 하세요~ ^^