JAVA를 하다가 C++하다 보면 둘의 객체를 다루는 방법때문에 헷갈리는 경우가 꽤 있습니다. 그 중 생성자 상속에 관한걸 보면, JAVA에서는 자식 객체는 부모객체의 모든 특성을 다 가져오기 때문에 상속한 객체의 생성자까지 그대로 상속하여 그 생성자를 그대로 쓰면 되지만 C++에서는 자식객체를 부모객체의 멤버 변수/함수 를 자기것 처럼 호출할 수 있는 또 다른 객체로 보기 때문에 부모객체의 생성자가 상속되지 않습니다. OTL JAVA쪽에 더 익숙하다 보니 부모객체의 생성자로 모든 객체의 생성자를 통일할려고 하는 실수를 오늘 저질렀는데, 아악.. 그동안 작성한 클래스들 다시 수정해야 하잖아.. ㅠ.ㅠ (탈력 모드)
게임을 모으기 시작한거는 4년정도 되었습니다. 수백개씩 가지고 계시는 분들에 비하면 새발에 피이지만, 그래도 내가 무엇을 샀고 무엇을 클리어했는지 기억 나지 않는 경지에 다다르게 되어 한번 기억나는데로 정리해 봤는데, 아마 빠진것도 몇개 있을 것입니다. 물론 전부 돈주고 구입한 정품(주얼포함)들입니다.
총 보유랑: 50개 클리어수 : 20개 미클리어 : 30개
클리어 한 것보다 미클리어 한 것이 더 많다는 것은 게임은 안하고 사재기만 했다는 것을 너무나 잘 보여주는 군요. 저것도 군대오기 몇달 전 부터 사놓은 것 만은 클리어하자고 죽어라 한 결과 입니다. ㅡㅡ;
플랫폼별 현황 PS2: 39개 PS1: 2개 PC : 8개 DC : 1개
PS2가 압도적으로 많군요.
저 보유량 중 팔리지도 않는 마이너한 녀석들이 몇몇 있는데 가장 마이너한 녀석은 '팬저프론트 Asuf.B' 이라고 생각 됩니다. (저것은 개인적으로 마음에 들어해서 추후 리뷰 써보도록 하겠습니다.)
지금 있는 곳이 의무적으로 단체 생활을 해야 하는 곳인데, 이 단체 생활을 하면서 가장 짜증 나는 부분이 제가 책을 읽거나 애니를 보거나, 공부를 하는 등 무언가에 집중하고 있으면 꼭 누군가 와서
"이거 뭐야?" "재미있어?" "주인공이 누구지?" "이거 왜봐?" "와 꼭 XX 같내" "악당 이 누구야?" "이런거 보고있냐?"
등등등 으로 한창 집중하던 때를 끈어버립니다. 저 정말 저거 싫어 합니다. 한창 분위기가 고조되어 다음 내용을 계속 보아야 하고, 집중상태라서 한창 능률이 올라갈 때인데, 뭐가 그리 궁금한건지 꼭 저렇게 분위기를 끈어 놓아야 되는지, 그게 중요한 일이라면 이해하겠지만, 저런 쓰잘대기 없는거 가지고 왜 그렇게 물어 대는지 정말 짜증납니다. 궁금하면 옆에서 조용히 같이 지켜보던가, 아님 나중에 빌려서 읽으면 될걸 가지고 왜 저렇게 사람을 방해하는지, 거기다 한번 집중력과 템포가 끈겨버리면 그 템포를 찾기 위해 다시 시간을 소모해야 되고, 전에 고조되었던 감정은 다시 고조되지 못하고 능률과 재미는 떨어집니다. 아무튼 그러니까 누군가 무엇에 집중하고 있으면 제발 그냥 놔두세요. 그게 그사람에게 대한 예의 입니다. 그렇게 남에게 간섭하고 싶으면 옆에서 수다떨고 있는 사람에게 가서 이야기나 하란 말입니다.!!!!!!!!
youtube쪽에 방송도중 실신한 백댄서를 놔두고 공연을 계속한 '씨야'의 영상이 올라갔고, 그에 대한 세계 각국의 네티즌들의 댓글들이 달려 있습니다. 이번 사태에 대한 국제적 망신을 떠나서 이제 저희 나라도 세계인의 도마에 오를 수 있다는 것을 다시한번 확인해준것이라 생각하니 앞으로 우리의 자세를 어떻게 해야 될까 심각히 고민해봐야 될 것 같습니다. 예전에는 국가내에서 일어난 일은 국가내에서 쉬쉬 하는 분위기로 역사의 뒷편으로 묻어 둘 수 있었지만 지금은 정보통신의 발달로 국가내에서 쉬쉬한다해도 그 이야기가 세계로 퍼저나가는 것을 막을 수 는 없을 것입니다. 각종 국가의 사람들이 달아 놓은 댓글들을 읽어보면서 가쉽거리로 얼마나 욕을 먹게 될지 걱정 됩니다. ㅡㅡ;
높이맵(전에 흑백 비트맵을 이용한 지형생성이 높이맵이라는 이름이었습니다.)를 이용하여 지형엔진 비스무리한 것을 만들어 보고 있습니다. 예전에 문제 되었던 가려진 Vertex가 투영된 문제를 해결했고 Texture와 광원효과를 첨가하였습니다. 시점은 FPS스타일로 마우스를 통해 움직이며 키보드의 방향키를 통해 이동도 가능합니다. 아직 충돌 판정과 지형 높이에 따라 캐릭터나 시점을 위치시켜주는 것을 구현하지 않았습니다. 쿼드트리방식의 Clipping도 구현해주고 이것 저것 시험 무대로 삼아 볼까 합니다. (단지 요즘 일거리가 많아서 시간이 부족하다는게 문제이지만...)
youtube에서 찾은 아머드코어라는 게임의 플레이 영상인데, 아머드코어라는 무기마다 록온 사이트가 존재하여 여기에 상대편이 들어오게되면 자동조준되어 사격하거나 블레이드 같은 무기일 경우 근처에 있는 적을 호밍으로 따라가는 등의 형태인데, 저 파일 벙커라는 무기는 그 록온 기능이 전혀 없습니다. 거기다 기체 정면 바로 앞쪽에 히트 판정이 있고 발사 버튼을 눌러도 일정시간이 지나에 공격을 행합니다. 즉 파일 벙커의 히트판정이 생기는 시간에 상대편 기체가 자기 바로 앞에 있어야 데미지를 입게 되는데, 이것은 순전히 플레이어의 컨트롤 능력에 달렸다고 봐도 됩니다. 아머드코어라는 게임이 대체적으로 기동력이 좋기 때문에 실전에서 저 무기를 달고 나오면 '용자'라는 칭호를 내려 줄 정도의 파츠입니다. 대신 히트시 데미지가 상당히 크기때문에 일발 역전도 가능한 하이리스크 하이 리턴의 무기입니다.
플레이 영상은 AI와 싸우는 영상들인데 원래 파괴력이 큰데다가 스토리 모드에서의 적 내구력이 낮게 설정되어 있기 때문에 단 두방으로 시작하자마자 20초만에 파괴해버리는 웃지못할 상황도 나옵니다. 거두절미하고 꼭 보시길 바랍니다. [이건 모군이 아주 좋아할것 같습니다.]
PS3 Predicted to Lead Market Through 2011 [Slashdot기사] 양키그룹의 최근 발표 자료에 따르면 2011년에 PS3가 시장을 주도하게 될것이라는 예측을 내놓았습니다. 44%의 시장 점유율로 40%의 XBOX360, 16%의 Wii를 누르고 시장을 점유하게 된다는 예측인데, 저의 생각으로 2011년이면 각플랫폼간의 수명이 다해가는 시기입니다. 최근의 경향을 보면 각 플랫폼의 새 버전이 나오는 시기의 간격이 점점 줄어들고 있기 때문에 2011년쯤에는 PS4나 XBOX차세대 버전, Wii2의 발표가 있을거라 생각됩니다. 그때에 가서야 시장을 근소한 차이로 점유한다는 것이 얼마나 큰 의미가 있을지 모르겠습니다. 오히려 PS의 독주체제가 이번 차세대기 경쟁으로 끝나는게 아닌가 하는 생각이 듭니다. 뭐 시장 예측이 어떻든 간에 대부분의 소비자들은 이런 균형구조에서 나오는 양질의 서비스를 제공받을 수 있다면 누가 이기든 크게 신경은 안 쓸 것 같습니다.
다른 분이 만들어 놓은 소스를 보다 보니 제가 만든것이, 무엇이 문제였는지 알았습니다. 제가 Direct3D에 너무 많은 것을 바란 것 같았었는데, 첫째 Vertex가 잘린 현상은 VertexBuffer생성시에 정해진 VertextBuffer의 Default 최대 크기가 있는 듯 합니다. 이거를 바꿔주는 방법은 아직 못찾았고, 대신 유저가 만든 메모리 공간을 가지고 Rendering해주는 메서드가 있더군요. VetexBuffer가 더 빠르기 때문에 이쪽의 공간을 쓰고 싶은데, 이건 어떻게 해야 될지 더 찾아 봐야겠습니다. 두번째 오브젝트의 뒷면에 가려진 배경이 보이는 것은 제가 너무 Direct3D에 너무 많은 것을 바란것 같습니다. 단순히 Vertex로 물체를 만들어 놓고 사용하면 문제 없을 줄 알았는데, Direct3D는 저장된 Vertex 순서대로 그려주는 것이었습니다. 이 Vertex가 가려지는 부분이거나 시야 뒷면에 있는 것에 대한 순서 재배치나 Clipping은 프로그래머의 몪입니다. 즉 시점이 변하게 되면 Vertex의 배열 순서를 바꿔줘야 됩니다. 뭐.. 제가 아직은 무지 하기 때문에 의례 편하게 자동화 될거라 생각한게 문제였던 것 같습니다. 아직은 3D에 대해 좀더 개념을 잡아야 될거 같습니다.
[2006/08/21:추가] 계속된 삽질의 결과 Zbuffer쪽에 문제가 있었던것 같습니다. indexbuffer로 vertexbuffer의 사용양을 급감시키니 문제가 해결 되더군요.
1기 이 후 일본에서의 흥행에 실패하여 2기의 제작이 불투명한 상황에서 북미쪽에서의 흥행 성공과 북미 팬들의 요청에 의해 2기 제작을 하게 되었다는 이야기는 꽤 유명한 이야기 입니다.
그 북미더빙의 2기 인트로 영상을 youtube에서 구했는데. 북미 특유의 발음 때문인지, 처음 들을 때는 꽤나 이질적이었습니다. 전체적으로 어두운 이야기를 그려내고 있는데, 북미쪽의 조금 가벼운 발음은 어색하게 느껴지더군요. 하지만 이쪽도 이쪽 나름대로의 아메리카 코믹스적 분위기가 나기 때문에 재미있다고 생각 됩니다.(그렇지만 'Big-O ShowTime'의 발음이 너무 약해!)
제 그래픽 카드는 Gforce2입니다. (작업용으로 받은 컴퓨터 이죠) 요세 지형맵 만들면서 이거 저거 시험해 보고 있는데, 하드웨어 랜더링으로 Vertex 약 4만개, Polygon 약 8만개 정도의 지형을 랜더링 하니, 그래픽 카드의 메모리가 모자른 것인지 Vertex와 Polygon이 잘리더군요. 소프트웨어로 랜더링 하면 전부 나오기는 나오지만 Polygon이 중간 중간 빠져서 구멍이 숭숭 뚤리는 현상이 나옵니다. 거기다 Hidden Surface Removal도 Direct3D에서 관리하게 하니까 제대로 처리가 안되는데, 일부분만 처리되는 것으로 볼 때 아마 그래픽 카드의 Depth Buffer가 모자른 것일까 생각했는데, 소프트 웨어 랜더링시에도 같은 현상이 나오더군요. 이거 문제가 대체 무엇인지.. ㅡㅡ; 하드웨어 문제인지, 아님 제가 프로그램을 잘못 짠것인지 모르겠습니다. 원인은 좀더 분석해 봐야 겠습니다.
Anybody XNA[계란소년님에게서 트랙백] 마이크로 소프트사에서 개발한 고성능 게임 개발툴 XNA로의 일반인의 접근이 더욱더 쉬워 졌습니다. Visual Studio 2005 Express 처럼 Express버전을 무료로 공개해서 이를 이용하는 게임에 대한 배포를 자유롭게 허가한다는 방침인데, 이로서 아마추어 개발자들의 대거 MS진영으로 유입 될거라 생각됩니다. 저도 XNA라는 것을 한번쯤은 써보고 싶었는데, 이렇게 기회가 찾아 오는군요. MS사의 독점 계획이라는 이야기도 있지만, 지금까지 여러 공개툴이라던가 무상 제공되는 여러 솔류션이 있었지만, 이만큼 유용한 툴을 배포한다면 사용자들이 몰리는 것은 당연합니다. 거기다 장래성까지 같이 있다면 마다할 이유가 없지요. 이것이 마이크로 소프트사의 무서움 중 하나이긴 하지만 공부하는 입장에서는 좋은 기회라고 생각됩니다. (Visual Studio 2005 Express는 잠시 써보았는데 개발툴로서는 좋았으나, 너무 .NetFramWork를 강요하는 분위기이고 아직은 필요성을 못느껴서 별로 사용은 안하고 있습니다.)
D3퍼블리셔에서 발매하는 THE SIMPLE 시리즈인 '불꽃의 격투번장' 입니다. THE SIMPLE 시리즈가 정가 2000엔에 해당하는 저가의 게임들의 모음인데, 제작비가 싸기때문인지 몰라도 자신들만의 독특한 색채를 가지고 있는 게임들이 많습니다. 그중에 이번에 나온 '불꽃의 격투번장'의 모회사의 싸움 대장과 흡사한 모습을 보여주는데, 싸움대장이 골목대장같은 싸움이라면 '불꽃의 격투번장'은 그야말로 '열혈!', 캐릭터 디자인부터 나는 '열혈에 목숨을 걸었다.'라는 분위기가 물씬 풍깁니다. 거기다 다른 캐릭터들도 다들 한 열혈하는 디자인에다 게임 타격감도 좋아 보이고, 반격기와 필살기 연출도 좋아 보이는 것이 격투게임으로서도 재미있을 것 같은 예감입니다. 2000엔짜리 치고는 상당히 완성도가 높을 것 같은기대를 하고 있습니다.
처음으로 만들어본 Direct3D입니다. 사실 저것의 뒷면에는 Vertex순서가 맞지 않았다는 엄청난 비밀이 숨어있긴하지만 깔끔하게 잘 나왔습니다. OpenGL쪽도 잠깐 봤는데, Vertex의 연결을 4각형으로 이어주는 GL_QUARD라는게 있던데 Direct3D에는 오로지 3각형 으로만 그려주더군요. 일단 오늘 목표는 달성입니다.
DirectX를 가지고 3D 박스를 하나 만드는 프로그램을 작성해 봤는데, 짜고나니 문제가 있더군요. 저는 의래 Vertex만 위치에 맞게 만들어 놓으면 자동으로 3D 박스가 생길 줄 알았는데, 그게 아니었습니다. Vertex마다 위치에 따라서 먼저 그려 줄 녀석과 나중에 그려줄 녀석이 있는데, 이를 위치에 따라 자동으로 계산해서 그려주는 것이 아니었고, 사용자가 Vertex의 위치를 계산해서 먼저 그릴것과 나중에 그릴것을 나누어 순서를 정하도록 되어 있더군요. 아직 제가 다 본것이 아니기 때문에 추가 옵션이라던가 그런게 있을지 모르겠지만, 현재로서는 입력한 Vertex의 순서대로 나오는 녀석을 만들었습니다. 예제 샘플코드에서는 너무나 쉽게 매쉬로 박스라던가 이것저것 만들던데, 어떻게 모델을 짜 놓아야지 되는지 아직은 모르겠습니다. 아무튼 공부 공부 공부입니다.
[추가:랜더링시에 한쪽면만 랜더링하도록 하는 D3DCULL_CCW옵션이 있더군요. 아마 반시계방향으로 도는 Vertex연결점이 보이는 방향을 그려주는 것이었던가 합니다.]
뭔 바람이 불었는지, 최근 DirectX공부를 시작했습니다. 9.0b버전의 SDK를 가지고 시작중인데, 최근 나온 SDK버전이 9.0c 2006년 6월 버전인가 한데 왜 구버전을 가지고 작업하냐면, 저 9.0c가 비쥬얼 스튜디오6.0을 지원 안하기 때문입니다. 거기다 .Netframework쪽을 많이 사용하는 분위기라 구버전 OS를 사용하는 사람들을 고려한다면 9.0b가 낳을 것 같아서 입니다. 일단은 샘플코드의 튜토리얼부분을 보는 중인데, SDK자체가 좋은것인지 이해하시 쉽게 되어 있어서, 폴리곤가지고 이거저거 찍어보는 중인데, 제대로된 물건을 나오게 할려면 3D모델링 제작프로그램과 같이 병행해서 해야 될듯 하더군요. 이제 걸음마 단계이지만, 재미있는 부분이 많습니다. 추후 뭔가 나오는데로 올리도록 하지요.
요즘 또 총기 사건때문에 시끄러워지는 것 같은데, 역시나 예상은 했지만 결국 매스컴에서 이 뉴스를 다루면서 나오는 이야기가 '게임'이야기 이더군요. '평소에 총쏘는 게임을 즐겼다.' 라는 대목이 눈에 띄는데, 뭐랄까 FPS게임을 하는 사람들은 모두 예비 사고자 라는 것처럼 취급을 하는게 상당히 불쾌합니다. 이것 이외에도 한국에서 서브컬처를 가지고 즐긴다는 것을 아주 훌~~~~~~ 륭하신 분들은 뭐빠네, 뭐만좋아하는 XX네 하면서 자신은 아주 위대하다는 것을 뽑내시는데, 그럼 자신들이 즐기는 문화는 얼마나 훌륭하고 잘났기에 그런 소리를 하는건지 저는 도저히 이해가 안됩니다. 사람이 무슨 붕어빵틀에서 찍어내는 붕어빵도 아니고 백이면 백 서로 다른 생각을 가지고 있고, 서로 다른 취향, 다른 의식을 가지고 있는데, 어째 이놈의 민족들은 모두 한다는 소리가 저소리 뿐입니까.. 예전부터 사촌이 땅을사면 배가 아프네 하는 이야기처럼 남이 뭐하면 그렇게 간섭하고 잘난채 하고 싶은건지, 남이사 남이 즐기는 문화에 대해 관심을 가지고 존중해줄 수는 없는 것입니까? 제가 즐기는 서부컬처를 남들에게 강요한다면 그건 잘못된 것이지만, 단지 내가 즐기며 좋아하는것에 대해 왜그렇게 태클을 걸면서 자기가 즐기는 문화를 즐기라고 하는건지 저는 도통 모르겠습니다. 선진국민, 선진의식, 세계 10위권 국가가 되자 등등의 말들을 많이 하는데, 개개인의 문화를 선택해서 즐길 자유조차 아니꼽게 보는 국민들이 과연 선진적인 의식을 가지게 될지 모르겠습니다. 예전에 어느분 말씀처럼 '이 나라는 자신들의 피를 흘려 자유를 쟁취한것이 아니기 때문에 자유라는 것에 대한 의미를 모른다.' 라는게 맞는 말인것 같습니다. 그냥 다들 즐기니까 거기에 따라야 하고 위에서 시키니까 해야 하고, 남들이 그렇게 한거니까 나도 해야 한다. 라는게 '참으로 편하게들 사는군아' 라는 생각 밖에 안듭니다. 저는 성격이 모난 성격이이서 제가 결정한 의사에 따라 행동할 것입니다. 그게 비록 남들눈에는 아니꼬워 보이는 일이라 할지도, 저는 당신들이 아니기때문에 당신들의 기준에 맞는 '인형'이 아닙니다. 그런고로 저에게 더이상 그런거 가지고 왈가불가 하지 마십시요!
Mysql이라는 무료로 배포하는 상당히 우수한 DB가 있습니다. 그런데 저 Mysql이라는 녀석이 버전업을 할때마다 하위버전과의 호환성이 정말 꽝이라서, 하위버전에서 만들어 테스트하던 녀석을 상위버전에서 돌리게 되면 무언가 문제가 터져버립니다. 어제도 PC에서 4.1.18버전의 Mysql을 설치해서 프로그램 작성과 테스트를 모두 끝냈는데, 4.1.7버전에다 올려서 동작시키니까 소유 alies를 설정하라는 메시지가 뜨면서 쿼리 실행이 안되더군요. 대체 무엇이 문제인가 한참 찾아 봤는데, 문제는 union시에 union할 쿼리문을 괄호로 묶어서 구분해줬는데 이게 alies를 만들기 위한 괄호로 인식되었나 봅니다. 큭!, 버전 4에서 5로 바뀐것도 아니고 버전 4.1에서 4.2로 바뀐것도 아니고 약간의 업그레이드 버전인데 그마저도 하위호환이 안되다니, 뭐 제가 4.1.7버전의 변경점에 대해 안찾아 본게 문제이겠지만, 저렇게 버전업 할 때마다 문장구문이라던가, 설정이라던가 그런게 호환 안되고 계속 변경된다면 개발자입장에서 테스트환경과 실환경의 약간의 버전차이에도 디버깅 악몽과, 버그를 찾기 위해 아까운 몇시간에서 몇일을 투자해야 할지도 모르는 입장입니다. 공개정책으로 무료이며 계속 발전하는 Mysql이고 상당히 우수한 DB이지만 저럴때는 솔직히 골치 아프고 싫어 집니다. ㅡㅡ;