Gamespot All Time Greates Video Game Heroes Contest
게임스팟에서 이런 걸 하고 있다.
http://www.gamespot.com/greatest-video-game-hero/blog/ind ...

비디오 게임 히어로들중에서 64명을 선발해서 네티즌들의 투표로 1등을 뽑는 게임(?)이다.
64강 토너먼트 형식으로 되어있어서 히어로들과 매치업은 정해져 있고, 처음에 각자 자신만의 토너먼트 승자를 가리고 일정 기간동안 진짜 투표로 진짜 승자를 가리게 되어 있는 형식이다.

지난 며칠동안 64강을 두번으로 나눠서 32강을 뽑는 투표를 했고, 지금 32강 진행중인데, 맞춘 갯수를 점수로 해서 순위를 매기고 있다. 난 현재 32명중 18명밖에 못 맞춰서 46097위-_- 1라운드 첫번째 경기에선 3만위대였는데..

1라운드 첫번째 경기에선 16명을 다 맞춘 사람들이 수두룩했다. 그런데 두번째 경기에선 어이없게도 첫번째 매치업인 마스터 치프(Halo)와 법&밥(Bubble Bobble)의 대결에서 마스터 치프가 패배해버렸다-_-;; 그래서 32점은 한명도 없고 31점이 5명. 전부 마스터 치프 대 법&밥의 대결을 틀린 탓이다. 장담컨대 대부분은 그 대결의 승패를 틀렸을 것이다. 쩝..
(게임 캐릭터를 잘 모르시는 분들을 위해 비유하자면 대통령 선거에서 이명박 대 허경영에서 허경영이 당선된 격이라고 보면 됨)

암튼 진짜 어이없음.
by zeratul | 2009/09/11 10:14 | 트랙백 | 덧글(0)
시간을 되돌리는 방법

비주얼 스튜디오에서 디버그할때 지나간 구문으로 가는 방법에 대한 이야기다.


안 되는 줄 알고 있었는데, 지난주에 우연히 알게 되었다-_-;;

그냥 구문 추적할때 화살표(디버그해 본 사람들은 알것이다)를 드래그해서 위로 올리면 되더라..는 것이었다.;

by zeratul | 2009/09/08 14:28 | 프로그래밍 | 트랙백 | 덧글(0)
문명 시리즈의 재미요소
요즘 시드마이어의 문명 2-_-를 하고 있는데,

Prince난이도(3/6단계)로 시작해서 한단계씩 올려 나가며 하는중이다.
옛날에 할땐 Prince난이도가 한계였는데, 지금은 King으로 한번 승리하고 Emperor단계로 순항 중이다.

문명을 하면서 사람을 이렇게까지 말리게 하는 재미요소가 무엇일까 생각을 한 번 해봤는데..

그리 깊게 생각해 본 건 아니지만 아마도 '지속적으로 선택과 결정을 하도록 하는 것'이라는 생각이 들었다.

게임을 하면 수없이 많은 결정을 내려야 한다. 어떤 트리를 타서 기술을 개발할 것인가, 도시는 어디에 지어야 하고 유닛은 어디로 탐사를 보내야 할것이며 어떤 시설물을 지을지 또는 어떤 유닛을 만들지, 어디를 개간하고 길은 어디에 만들어야 하며 전쟁은 어떤식으로 치러야 할 것인지 등등.. 계속 생각을 해야된다.

또한 결정을 내렸으면 그에 따른 결과가 어떤 지 보고 싶은게 인지상정인것이 바로 '한 턴만 더!'를 외치게 만든다. 이래서 게임을 멈추기 힘든 법..

물론 최후반부로 가면 선택할 것이 적어지기는 해도 '무뇌 플레이'의 정도는 다른 게임들보다는 적다고 할 수 있겠다.

그래서 한 판을 끝냈을 때 다시 한 판을 시작하기에는 조금 망설여지는 것이 바로 한번 시작하면 멈추기 힘든 성질이 있어서 그런 지도 모르겠다.
by zeratul | 2009/08/31 18:09 | 게임 | 트랙백 | 덧글(0)
GDI에서 그림파일 읽어서 쓰기

GDI에서 그림파일을 읽어서 출력해야 할 일이 있어서 처음에는 비트맵 파일로 제한해서 할려고 했는데-_-

알고보니 CImage란 클래스가 있어서 이것을 이용해서 bmp, jpg, gif, png등을 읽을 수 있었다.

다만 이것을 가지고 다시 비트맵으로 변환해서 출력해야 하는데.. (더 좋은 방법이 있을지도 모르지만 내가 알아낸 건 여기까지)

예제에 보면 CImage의 m_hBitmap 멤버를 이용해서 이걸 가지고 CBitmap::FromHandle()함수에 넘겨 CBitmap 포인터를 얻어오는 코드가 있다. 다만 어이없게도 m_hBitmap은 private 멤버이기 때문에 컴파일 에러가 난다-_-;;

그래서 인터넷을 뒤져 알아낸 것이 CImage::Detach()를 쓰는 것이다. 이 함수를 사용하면 비트맵 핸들을 돌려준다. (도움말을 좀더 읽었으면 알 수 있었을 것을..)

그런데 이 함수를 쓰면 CImage 객체가 해제(?) 되기 때문에 다음번에 유효하지 않게 되는 것 같다. OnDraw()에서 계속 이것을 사용해서 그려주려고 했더니 한번만 그려지고 다시 화면이 갱신될때는 안 그려진다.

그래서 다시 도움말을 봤더니 operator HBITMAP 이 있었다. 그냥 HBITMAP 변수를 선언한 후 CImage 객체를 assign 해주면 되는 것이었다. ㅋ...

by zeratul | 2009/08/26 17:15 | 프로그래밍 | 트랙백 | 덧글(0)