'2008/11'에 해당되는 글 4건

  1. 2008/11/27 귀차니스트 게임&인터랙티브 애플리케이션을 위한 수학
  2. 2008/11/15 귀차니스트 한게임 자동테트리스 Ver 0.6 (43)
  3. 2008/11/14 귀차니스트 Intel 64 And IA32 Architecture 번역에 도전해보겠습니다. (2)
  4. 2008/11/03 귀차니스트 한게임 자동테트리스 Ver 0.2 (28)

  최근 전 IA 문서에 대한 번역을 시작했습니다. 한 일주일간 제대로 진행은 제대로 하지 못했지만 이 번 만큼은 끝까지 해보려고 마음속에 생각을 계속 하고 있습니다. 사실 이러한 결정을 내리게 된 부분은 내실을 다지자라는 것이 많은 부분을 차지했기 때문이라고 말할 수 있습니다.
  제가 5살~6살 때 쯤 COBOL 프로그래머를 하시는 아버지의 영향을 받아 컴퓨터를 접하게 된 후 부터 중학교때까지 관심은 있었으나 게임하느라 바뻤고, 중학교 때 C++ 이야기? 였던가 하는 책을 한 권 외삼촌께 선물을 받았으나 제대로 된 해석도 못하고 있었던 적이 있습니다. 그 때는 생각하면 참 그 땐 지금 하곤 비교할 수 없을 정도로 허접했었지 라는 생각이 저절로 들곤 합니다.
  그 후 고등학교를 진학하면서 컴퓨터 써클을 들게 되고 그 안에서 Macromedia( 현 Adobe 인수 )사의 Flash 와 비슷한 Director 라는 프로그램으로 처음 프로그램 제작의 길에 빠져들게 되었지요. 그 때는 정말 신기했습니다.  Flash와 마찬가지로 하나의 버튼, 이미지 개체가 Object 였기 때문에 프레임이 지날때 마다 이동하는 스크립트를 쓰거나 단순한 계산만으로 어느정도 원하는 결과가 나왔기 때문이죠.
  그런데 그 후 대학에 와서 많은 부분이 바뀌었습니다. 컴파일러를 비롯해서 자료구조, 알고리즘 정말 지금 생각하면 유용하다고 밖에 말할 수 없는 그런 지식들을 배웠기 때문이죠. 현재 제 블로그에 올라가 있는 IPangYa( http://www.filewiki.net/tc/entry/IPangYa-팡야-계산기-라이브러리 )와 자동테트리스 같은 부분이 많은 영향을 받은 것입니다.
  그리고 많은 시간이 지나면서 내가 정작 다루고 싶은 언어인 C++언어에 대해서 많은 공부를 하고 고찰을 하면서 언어쪽의 능력은 아직은 스캇 마이어스나 스트로스트럽 같은 흔히 말하는 본좌와는 비교할 수 조차 없지만 원하는 만큼의 코딩은 할 수 있다고 판단이 되었습니다. 그러고보니 내실이라는 것이 당연히 생각이 나더군요.
  코딩이라는 것이 자기가 생각하고 있는 하나의 아이디어를 하나의 언어로 풀어나가는 과정을 어떠한 언어로 풀어나가는 과정이다 보니 언어쪽 능력 보다는 이론 같은 내실이 중요한 것 같았기 때문입니다. 물론 예전에도 계속 느끼고는 있었으나 스스로 천재라고 생각하진 않았기 때문에 두 마리 토끼를 쫓는 그런 행동은 취하지 않았죠. 다만 지향하고는 있었습니다.

  그런데 몇일 전 우연히 강컴엘 들어갔는데 눈에 좀 띄는 책이 보이더군요. 이론적인 부분이라고 해야 되나요. 수학에 대해 다룬 책이 었습니다.

  게임이라고 붙은 제목이 있어서 3D 쪽과 관련된 부분이 많을거 같긴 한데.. 전 아직 내용에 대해서는 잘 모르겠습니다. 그래도 하나하나 원리를 원하는 부분(?)이라고 해야 되나요 그런 부분이 꽤 많이 들어 있을거라고 생각하기 때문에 아마 곧 지르게 될 것 같군요. 사실 The Art Of Computer Programming 3권도 사고는 싶지만 너무나 어렵다는 말과 비싼 비용에 아직은 좀 망설여 집니다^^.
  나중에 좋은 곳에 들어가게 되면 공짜로 볼 수 있다는 말도 들었던 것도 있구요. 그래서 기대가 되긴 합니다.

  오랫만에 포스팅 치고는 왠지 책 광고같은 느낌이긴 하지만 계속하여 끊이지 않게 알찬 포스팅 해보도록 하겠습니다. 그럼 즐거운 하루 되세요~
크리에이티브 커먼즈 라이센스
Creative Commons License
2008/11/27 10:49 2008/11/27 10:49
TAG

댓글을 달아 주세요

한게임 자동테트리스 Ver 0.6

Programming 2008/11/15 00:41 귀차니스트

  음 0.2 버젼 때 이후로 다른 것을 간간히 하면서 약간씩 수정을 해봤습니다. 굳이 이 것을 100% 잘돌아가게 하여 승률이 100%에 달하게 만든다는 것에 흥미가 없다보니 정체가 될 수 밖에 없는 군요. 그리하여 0.6 버젼에서 업그레이드는 무기한 연기를 예정해보려 합니다. 사실 스피드 15레벨 까지 도달하는 것을 나름대로 달성했기 때문이랄까요.

 

  위 동영상은 0.6 버젼의 프로그램을 가지고 테스트한 동영상 입니다. 0.2 버젼의 동영상과 비교하면 확실히 엄청난 차이가 있음을 알 수 있습니다. 하지만 거의 95% 정상적으로 작동하는 프로그램인데 동영상을 찍다 보니 한게임 테트리스 프로세스의 처리가 늦어서 인지 키가 몇개 먹는 동영상이 보입니다. 사실 키를 먹는 것은 거의 다 수정을 했거든요^^; 그런데 동영상을 찍을 때만 저렇게 잘못 놓는 다는 것이 꽤 많다는 것은 원인을 그 쪽으로 돌릴 수 밖에 없을 것 같네요.

 

  위 0.3 버젼과 비교를 해보시기 바랍니다.^^. 그럼 이 것을 마지막으로 자동테트리스에 대한 포스팅을 할 일은 없을 것 같습니다. 게임 트리적인 부분이 A.I 쪽을 간단하게 구현을 하면 그다지 복잡하지도 않고 대 부분 같기 때문이죠^^. 그럼 다들 즐거운 한게임 테트리스 하시길 바래요^^. 마지막으로 댓글로 공개를 요청하셔도 공개할 일은 없습니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/11/15 00:41 2008/11/15 00:41

댓글을 달아 주세요

  1. 현젱 2008/11/22 20:36  댓글주소  수정/삭제  댓글쓰기

    키 먹는다는 거는 동영상 탓?!

    그럼 컴터 성능이 안좋다는거네 ㄲㄲ

    • 귀차니스트 2008/11/24 21:37  댓글주소  수정/삭제

      헐.. 나의 초 특급 고 사양이라고 하기엔 쿼드가 아닌 내 컴으로 안되는건 어쩔 수 없어!!

      사실 뭐 그래픽 처리 한다고 어쩔 수 없겠찌 ㅋㅋ

  2. 김동혁 2008/11/25 01:47  댓글주소  수정/삭제  댓글쓰기

    ai좀 주실수없나요 ?

    • 귀차니스트 2008/11/26 22:51  댓글주소  수정/삭제

      아.. 코드를 바로 드리는것은 좀 그렇구요..

      AI의 기본적인 구조는 알려드릴 수 있습니다. 기본 구조는 블럭이 하단 부터 쌓이니 현재 쌓을 블럭의 Y위치를 맨 밑에서 부터 쌓을 수 있는 블럭 위치를 X 위치 하나마다 판별합니다.

      그럼 결국 하나의 블럭에 대한 경우의 수는 (가로칸 - 블럭의 가로길이) * 블럭 회전가능수 가 되겠죠. 그렇게 각각의 경우의 수에 대해서 블럭의 높이, 모양에 대해서 점수를 판별합니다.

      그 점수의 계산이 끝나면 해당 점수가 가장 높은쪽의 상태를 택하면 블럭이 쌓여야 될 곳의 위치가 결정될겁니다. 그 후의 처리는 ^^; 아시는대로 ..

  3. slayer 2008/12/02 19:16  댓글주소  수정/삭제  댓글쓰기

    언뜻 봤더니 게임가드가 붙어있는것 같던데

    키입력 메시지는 별다른 우회 없이 작동하던가요?

    • 귀차니스트 2008/12/05 19:57  댓글주소  수정/삭제

      음.. 엔플텍이 붙어있는것 같지는 않네요^^;
      제가 마지막으로 플레이한 것이 2~3주 전인지라 지금은 바뀌었을지도 모르겠습니다. 답은 예전엔 가능했습니다.

  4. 부탁인디 2008/12/04 16:48  댓글주소  수정/삭제  댓글쓰기

    저기요 엔프로텍트 뚫는방법아시나요 그리구
    이런프로그램 어케만드는지 자세히 설명좀 해주세요
    이메일로 보내주세요 ssg1423@naver.com
    부탁합니다 엔진 사용 같은 거 등등 버그들

    • 지나가다가 2008/12/05 02:29  댓글주소  수정/삭제

      C언어로 만든 프로그램이 게임가드에걸리면 프로그래머는 게임을 접어야하는 상황인겅미?

    • 귀차니스트 2008/12/05 19:58  댓글주소  수정/삭제

      프로그램을 만드는 것은 어떠한 방법으로 처리를 하던간에 조건에 의한 자료를 제작하고 자료를 바탕으로 처리로직을 만드는 것입니다. 프로그래밍에 대해서 알고 계시면 단순히 Hello world 가 아닌 여러가지 기술이 섞여 있다고 생각하시면 됩니다.

  5. 부탁인디 2008/12/05 16:17  댓글주소  수정/삭제  댓글쓰기

    그럼 없는건가요?
    엔프좀뚫어보시징

  6. 김성욱 2008/12/05 18:11  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 ^^
    웹서칭을 하다가 우연히 검색결과에서 보고 찾아왔는데
    오토 테트리스라니 신기하네요

    화면의 이미지를 얻어온다거나 명백히 키보드로 부터 들어온 입력이 아닌것에 대해서 게임에 붙어있는 핵쉴드나 게임가드 같은것에 진단이 되지 안나요?
    막지못한 것에 대한 실망이랄까? 그리고 호기심에 질문드려봅니다

    • 귀차니스트 2008/12/05 20:03  댓글주소  수정/삭제

      일단 저는 게임가드가 없을 때 했다는 것을 알려드립니다. 지금은 모르겠네요.. 게임가드 같은 것에 대해서 일반적으로 어느정도 잘 알려진 Win32 API 들은 실행이 됨과 동시에 막히게 됩니다. 물론 Native API도 일정 어느 부분은 막히는 것으로 알 고 있구요.

      저도 정확히 관계를 추론할 수는 없지만 잉카인터넷이 MS에서 제공하는 모든 부분을 알고 있다면 모든 부분에서 막을 수도 있겠지만, 경우에 따라서 막지 못하는 부분과 다 알지 못하기에 막을 수 없는 부분, 그리고 어디서나 100% 안전이란 없기에 존재하는 취약점이라는 것을 이용하면 뚫을 수야 있겠죠.

      그래서 굳이 막지 못한것이라고 해서 실망할 필요는 없습니다. 왜냐면 창과 방패가 있다고 한다면 창이 우세할 수 밖에 없으니까요. 굳이 예를 든다면 집에 보안이 철저한 문을 세워놓는다고나 할까요. 그게 없다면 그냥 도둑이 드나들겠지만 있다면 시간도 지체 되고 이런 저런 방법을 사용하게 되겠죠^^.

  7. 님아 2008/12/06 14:09  댓글주소  수정/삭제  댓글쓰기

    부탁인데요 얍카라는게임에 버그좀 만들어주세요
    버그가 게임가드때문에 막혀버렷음
    그리구 게임가드뚫는방법좀 알려주시구요
    급해요
    전 할줄아는게 만들어놓은 파일 받아서 설명서보고
    따라하는것뿐임
    엔진이나 버그좀 만들어주삼

    • 귀차니스트 2008/12/07 15:17  댓글주소  수정/삭제

      음.. 게임에 대해서 따로 일부러 오토 같은것을 만드는 짓은 하지 않습니다. 그냥그저 좋아하는 게임을 하다보니 궁금한 것도 있고 프로그래밍 적으로 궁금한 게 있어서 한 것일 뿐이죠..

      그리고 중요한 것은 그런 것을 만든다고 하여도 공개하지는 않습니다.

  8. 님아 2008/12/07 17:51  댓글주소  수정/삭제  댓글쓰기

    어떻게 그렇게 컴퓨터를 잘하죵?

    • 귀차니스트 2008/12/08 14:26  댓글주소  수정/삭제

      제가 잘하는 편은 아닙니다..
      잘하는 사람들은 세상에 많죠..

  9. 귀차니스트분에게 2008/12/08 07:53  댓글주소  수정/삭제  댓글쓰기

    저기요 얍카라는게임에 게임가드가 설치됏는데 어떻게 복사버그가
    가능한거죠~~ 여러 가지 고가 템들이 막늘어나는것같은데
    그건 어떻게하는방법이죠?

    • 귀차니스트 2008/12/08 14:30  댓글주소  수정/삭제

      글쎄요 그건 게임 만든 루틴을 조작하는 건데 그것은 게임을 뜯어본 사람만이 알겠죠.. 그리고 게임도 하나의 프로그램이고 프로그램마다, 경우에 따라 해석방법을 다 각기 달리해야 되니 정석적인 방법이 있는 것도 아니구요..

      어쨋든 중요한 것은 얘기하시는 버그나 핵은 취약점을 이용하는 것 뿐이라는 겁니다. 취약점은 단순히 컴퓨터를 할 줄 안다가 아니라 구조적인 원리까지 알면서 해야 되는거니 단순 설명으로는 끝나지 않겠죠.

  10. 흠아 - _ - 2008/12/08 14:21  댓글주소  수정/삭제  댓글쓰기

    오토프로그램으로 40라인 39등.....

    난 손으로 150등 겨우찍었는데... 난감 - _ -

    • 귀차니스트 2008/12/08 15:17  댓글주소  수정/삭제

      하하^^;;

      사실 특정목적만을 위해서 만들어진 것에는 범용적인 것이 당해낼 재간이 없듯이 프로그램은 빠르긴 하지만 사람이 할 수 있는 것은 못합니다^^;

      그래도 한게임 테트리스를 플레이 하지 않은지 꽤 오래고, 일단 프로그램 자체의 배포는 하지 않았으니 제 프로그램에 의한 게임 랭킹 문제는 생각하지 않으셔도 될거 같네요.. 다만 타 프로그램이 있다면 모르겠지만요..

  11. 강희주 2008/12/16 20:43  댓글주소  수정/삭제  댓글쓰기

    귀차니스트님 =_=
    작대기 의 고유 코드를 알수있을까요 ?
    파란색 긴막대기의 그 막대기 1개만의 코드요 .

    • 귀차니스트 2008/12/18 11:31  댓글주소  수정/삭제

      고유코드라고 하시면 어떤 것을 말씀하시는건지..
      게임 자체 메모리에서 빼내온것이 아니라 영상처리를 한 것이기 때문에 블럭 하나에 대한 코드는 제가 붙이기 나름이었습니다. 물론 원하는 것에 따라 또 다른 코드를 설정할 수도 있었구요.
      그래서 고유라는것은 있을 리가^^;

  12. 비밀방문자 2008/12/19 21:50  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

    • 귀차니스트 2008/12/21 13:27  댓글주소  수정/삭제

      ^^; 그러셨군요.. 사실 동영상을 찍지 않았다면 3배 정도는 더 빠른데 동영상 때문에 적절히 맞춰봤습니다. 그런데 그렇게 해도 힘들것 같더군요..

  13. 비밀방문자 2009/01/07 21:04  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

    • 귀차니스트 2009/01/08 00:08  댓글주소  수정/삭제

      글쎄요.. 프로그램이라는게 적절한 논리의 조합이다보니 방법에 대한 구현 논리만 있다면야 구현이야 하실 수 있으실 겁니다.

      하지만 코드는 어렵겠군요^^. 문제의 여지가 많다보니.. 컴퓨터 이론을 공부하시다 보면 자연스럽게 알게 될 거 같군요^^.

  14. 비밀방문자 2009/01/08 11:22  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

  15. 비밀방문자 2009/02/07 14:09  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

    • 귀차니스트 2009/04/17 17:15  댓글주소  수정/삭제

      글쎄요.. 현 시점에서 가능할지는 모르겠네요..
      제가 테트리스를 플레이한 시간이 약 10일 정도 되고... 그 중 절반가량을 할애하여 제작한 프로그램이라 이후 동향은 잘 모르겠습니다^^..

      반응이 되지 않는다면 제가 만든 것 또한 안될거라 생각을 합니다^^..

  16. 비밀방문자 2009/04/13 03:27  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

    • 귀차니스트 2009/04/17 17:20  댓글주소  수정/삭제

      아마 안될 가능성이 높을거 같네요^^..

      시간도 시간대로 흐른 상태고.. 여러가지 보안툴이 적용되었으리라 생각합니다. 마지막으로 플레이한 것이 약 3개월~4개월 전 쯤이라 안될 것 같군요...

      코드배포에 대해서는 걱정 안하셔도 됩니다..^^..

  17. 비밀방문자 2009/04/14 14:55  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

    • 귀차니스트 2009/04/17 17:23  댓글주소  수정/삭제

      음... 네 시간 있을때 간혹 UVA 같은 문제를 풀기는 합니다만 문제가 발상의 전환? 같은 것으로 풀어야하다보니 저도 꽤 막히더군요..

      저도 물론 현재는 학부생입니다. 병역때문에 휴학하고 산업체에 근무하고 있지만요.. 그렇다고 잘하는 것은 아니구요..

      자동테트리스AI 는 김동혁님에 대한 댓글로 간략하게나마 추측이 가능할 듯 합니다.. 자세한 AI 자체에 대해서 토론을 원하시면 댓글을 남겨주세요~

  18. Only 2009/07/16 01:10  댓글주소  수정/삭제  댓글쓰기

    저도 AI 부분이 많이 궁금하네요

    저도 비슷하게 인공지능 테트리스를 만들어 볼려하거든요``
    (한게임에 후킹이 아니라 직접 인공지능 전용으로 하나 만들어보려구요 ㅎ)
    사전조사 하고있는데
    알고리즘이 상당히 좋은거같아 호기심을 자극하네요 ^^

    즐겨찾기 등록해두고 자주 들리겠습니다~

    • 귀차니스트 2009/08/21 19:37  댓글주소  수정/삭제

      ^^;;

      요새 글을 통 남기지 못했는데..
      댓글을 달아주셨었군요..

      음 대단한건 아니라서 그냥 한 번쯤 가끔가다 들러주셔도 충분합니다.

  19. 저기요 2009/12/10 20:35  댓글주소  수정/삭제  댓글쓰기

    자동 테트리스 어디서 다운 받나요?

  20. 죄송하지만 2010/01/12 13:40  댓글주소  수정/삭제  댓글쓰기

    한게임 테트리스 오토는 어디서 다운받나요 ??

  21. aerg 2011/02/21 11:00  댓글주소  수정/삭제  댓글쓰기

    나중에 속도가 올라가면서 정확도가 떨어지네요. 이 부분은 고스트를 켜놓고 밑에 블럭이 정확한 위치에 떨어지게끔 만들면 진짜 쩔텐데.. 하아 아무튼 그 실력이 부럽습니다 +_+ 이렇게 되기 까지 어떠한 공부들을 하셨는지 어렴풋이 짐작이 가는군요. ㄷㄷㄷ

    • 귀차니스트 2011/02/22 19:28  댓글주소  수정/삭제

      음.. ㅎㅎ
      속도 관련해서 조금 문제가 있었죠..
      지금은 뭐 거의 동작 안한다고 보셔도 무방합니다. 워낙 예전 프로그램이다 보니까요..
      고스트도 당시 나름 생각은 있었는데, 다른 재미난 프로그램이 생각나다보니 할 생각이 들지 않더라구요^^;

  22. 초보프로그래머 2011/05/12 13:41  댓글주소  수정/삭제  댓글쓰기

    안녕하세요 글 잘봤습니다.
    다름이 아니라 이번에 테트리스 ai를 만드는 프로젝트를 하게되어서

    조언을 얻고자 질문 드립니다.

    저도 님과같이 모든 블록의 경우의수에 대하여 점수를 매겨서

    가장 큰점수에 해당하는곳에 쌓는 알고리즘을 구현할 생각인데

    문제는 점수매기는 경우를 어떻게해야되나 고민이 되어서 질문올립니다.

    제가 생각하고 있는건

    인접한 면 만큼 +점수
    최대한 밑면으로 +점수
    중간에 빈칸있을시 -점수
    줄이 없어질경우 +점수

    이런식으로 계산할예정인데

    좋은 계산법있으시면 도움좀 주시면 감사하겠습니다.

    • 귀차니스트 2011/05/20 09:17  댓글주소  수정/삭제

      음 글쎄요...

      이건 가중치 문제인데 점수 계산 할 때, 좋은 결과를 머리로 생각하기가 참 힘들죠
      여러가지 테스트를 통해서 점수를 얻어서 하는 것이 제일 좋은 방법이라 생각됩니다.

  예전 2년 전 쯤, 그 때도 OS 제작에 관련하여 문서를 번역하려고 했던적이 있습니다. 그 때는 Intel 문서가 아니라 AMD에서 제공하는 AMD64 문서를 번역하고 있었습니다. 그 때는 Intel이 AMD에서 갑작스럽게 낸 AMD64 아키텍쳐로 인해 엄청난 고생을 하던 때 입니다. 그래서 Intel 보다는 AMD문서가 낫다고 생각을 했었구요. 그런 AMD 문서를 끈덕지게 번역을 했던 것은 아니지만 어느정도 양은 진행했었습니다. 그런데 그 이후 입사를 하게 되고 제대로 시간이 나지 않아 중도포기 했었던 기억이 나네요.

  사실 OS를 만들어보려고 한다면 만들고자 하는 아키텍쳐에 대한 스펙을 정확히 알아야 가능하죠. 그로인해 차츰차츰 도전할 때 마다 언제든 가로막는 것은 IA책을 읽어야 하는 것이었습니다. 아마 다른 분들도 그러한 경험이 있으실 것이라 생각되고, 책을 받아두고는 장식용으로 두고 계신 분들도 꽤 있을 것 같네요. 그렇기에 약간의 오버를 포함하여 지구촌의 나무가 이미 종이로 된 김에 죽은 책이 되지 않게 해보고 싶네요.

  이 작업이 끝나면 OS를 제대로 만들어볼 수 있겠죠. 그 때 만들고자 하는 OS가 어떤게 될 지는 모르겠지만 개인적으로 원하던 그런 것이 되리라 생각이 됩니다. 이제 특례를 마치기 까지 시간도 1년 약간 덜 남은 상황에서 한시라도 빨리 아키텍쳐를 파악해야 되는 저이기에 이번에야 말로 제대로 끈기있게 해보려 합니다.

  이렇게 말은 해놓고 중간에 어떻게 될지는 모르겠지만 그래도 정말 미련이 남지 않기 위해선 제대로 달려봐야 겠죠^^. 해보고 싶은 것은 정말 많은데 시간이 많이 부족합니다. 그래도 부족한 시간아래 자신이 원하는 것을 진행해가는 사람이 있기에 저도 열심히 노력을 해봐야 될 것 같네요.




  위 링크에서 번역 문서에 대하여 참여를 원하시는 분은 참여 해주시면 됩니다. 여러사람이 모이면 작업시간은 많이 줄어들겠지요^^. 먼저 문서의 결과물은 상업적으로 이용될 것이 아니라는 것을 밝히고 싶네요.

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/11/14 11:57 2008/11/14 11:57

댓글을 달아 주세요

  1. kkamagui 2008/11/17 11:58  댓글주소  수정/삭제  댓글쓰기

    오오~ 멋진데 :) 좋은 일 하는구나~ 홧팅이당~ ㅎㅎ

    • 귀차니스트 2008/11/20 10:23  댓글주소  수정/삭제

      ㅋㅋ 사실 좋은 일이라기 보다는 그냥 개인적인 만족감으로 하는거죠^^;;

한게임 자동테트리스 Ver 0.2

Programming 2008/11/03 19:28 귀차니스트

  최근 집으로 돌아오는 길마다 무엇을 만들어야 할까? 이렇게 시간을 보내지 말고 무엇이라도 하나 만들어야 할텐데 라는 생각이 머릿속을 지배하더군요. 그런 와중에 저번주 수요일 집으로 돌아와서 한게임 테트리스 소식을 듣고 실행한 순간 갑자기 생각나는게 있었습니다.

  그 것은 바로 "한게임 테트리스 오토" 였죠. 물론 게임 시장에 있어서 일반적으로 퍼져있는 오토에 대한 인식만을 생각한다면 제작을 고심하여 생각해보아야 했지만, 타 프로그램같이 일반인에 공개를 하지 않고, 개인용 연습목적으로 제작해본다면 어떨까 하는 생각이 들었습니다.
  연습하고싶은 부분은 이미지 처리와 테트리스 AI 부분이었죠. 다른 부분이야 일반적으로 사용되는 C++ 언어를 사용하기 떄문에 별 다른 부분이 없었습니다. 그래서 수요일부터 일요일까지 바짝 달린결과 어느정도 썩 괜찮은 결과물이 나오더군요. 하지만 아직 에러가 많습니다ㅜㅜ



  결과는 위 동영상과 동일합니다. 썩 그렇게 좋은 AI가 아님에도 불구하고 50여초 동안은 생존하더군요. 그래도 갓 키보드 입력을 받아들였을때인 0.1 버젼에 비하면 엄청 오래 살고 있는거랍니다. 그 때는 한 5초면 죽었으니까요. 동영상을 자세히 보시면 간간히 부분부분 마다 놓지 말아야할 곳을 실수로 컴퓨터가 놓고 있습니다. 아마 이것은 프로그램 내부의 입력키 생성 부분에서의 버그이거나 키보드 입력이 먹어버리는 경우가 아닐까 라고 생각하고 있습니다. Log를 남기면서 확인 중이니 곧 잡히리라 생각합니다.^^.



  약간 개량해보니 더 오래 사는군요^^;;

  개인적으로 이 프로그램을 만들면서 비록 한게임 테트리스에 붙어서 동작하는 거라지만 나름대로 테트리스 AI에 대해서 어느정도 공부를 해본것 같네요. 아직 계산하는 요소가 2가지 밖에 되질 않아 8가지 정도 더 추가하면 90% 정도의 AI가 나오지 않을까 기대해봅니다.

추가로 40줄 빨리 없애기 모드 도전해보니 어느정도 잘 나오는군요;; 저도 깜짝 놀랬습니다.


 

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/11/03 19:28 2008/11/03 19:28

댓글을 달아 주세요

  1. d 2008/11/04 09:16  댓글주소  수정/삭제  댓글쓰기

    파일점 만들어서 올려용 ;;

    • 귀차니스트 2008/11/04 14:04  댓글주소  수정/삭제

      아.. 본문에도 적었지만 실행에 관련된 바이너리 파일은 일반인에게 공개를 하지 않을 생각입니다.

      아실거라고 생각하지만 사실 이런 오토가 공개되어 실질적으로 퍼지게 된다면 플레이어를 비롯하여 게임제작사마저 타격을 입게되는 것은 당연하겠죠. 개인적인 연습목적으로 만든것이고 저도 대전에서 사용하지 않을생각이니 파일 공개하지 않는 것을 이해해주시리라 생각합니다.

  2. kkamagui 2008/11/04 12:41  댓글주소  수정/삭제  댓글쓰기

    역시 넌 짱이구나 ㅋㅋ
    쵝오 >ㅁ<;)-b

  3. 비밀방문자 2008/11/04 13:34  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

    • 귀차니스트 2008/11/04 20:24  댓글주소  수정/삭제

      음.. 그 것은 왜 물으시는지 궁금하군요. 단순히 그 것때문이라는 이유라면 따로 말씀을 드릴 이유가 없을 것 같습니다. 아니면 목적에 대한 명확한 이유를 설명 부탁드립니다.

  4. 굿데이 2008/11/06 19:50  댓글주소  수정/삭제  댓글쓰기

    대단한데
    보면서 감탄사만 나오네 ㅋㅋ

  5. hks9999 2008/11/07 06:56  댓글주소  수정/삭제  댓글쓰기

    햐 멋지네요~ ;-)
    대단대단
    API후킹으로 하는거에요?

  6. 현젱 2008/11/07 16:10  댓글주소  수정/삭제  댓글쓰기

    스코어 함수를 좀 더 잘 작성해보지?!

    생각보다 삽질하는 부분이 좀 있네~ㅋ

    수를 6수나 볼 수 있으면 Optimal 하게 갈 거 같은데..

    Gaming Tree쪽으로 계속 살펴보삼ㅋㅋ

    • 귀차니스트 2008/11/08 11:55  댓글주소  수정/삭제

      ㅋㅋ 이거 대충 맹글어서 공격하거나 할 때 블럭이 좀 늦게 나오면 키가 먹어 ㅋㅋ 스코어는 조금 갱신해서 삽질은 안하지만.. 키 먹는게 젤 문제다 ㅋㅋ

  7. ddd 2008/11/08 17:36  댓글주소  수정/삭제  댓글쓰기

    다운받을수잇게해주셈

    • 귀차니스트 2008/11/13 14:31  댓글주소  수정/삭제

      공개에 대한 여부는 첫번째 댓글의 답변이나 본문에 명시 되어있습니다^^.

  8. 비밀방문자 2008/11/15 00:22  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

    • 귀차니스트 2008/11/15 00:29  댓글주소  수정/삭제

      이 부분은 본문에 명시되어 있습니다^^.
      이를 벗어나질 않을 생각입니다.

  9. 뉴올리언스 2008/11/16 11:26  댓글주소  수정/삭제  댓글쓰기

    고생은하셨다만..
    벌써 프로그램 만들어져서 배포시작 되었답니다.
    조만간 엄청 퍼질듯-_-;;
    여튼 개나소나 이젠 누구나가 다만들어서 배포하는구나 에휴..

    • 귀차니스트 2008/11/16 13:31  댓글주소  수정/삭제

      .. 그렇군요;;..
      사실 뭐 저 혼자만 이런 것을 만들 수 있는 것은 아니고..
      그런 부분은 개인적인 판단에 맡기는 부분이라서 다른 분을 강제하거나 그럴 수는 없습니다..

      다만 그런 현실이 안타깝기는 하네요..

  10. 부탁이오 2008/12/03 16:23  댓글주소  수정/삭제  댓글쓰기

    하는방법좀 가르쳐주세요 혹시 엔프로텍트 뚫는방법아시나요?
    밑에 붙어주삼
    그리고 그런핵이나 오토는 어케만드는거임?
    답변 부탇~~

    • 귀차니스트 2008/12/05 19:56  댓글주소  수정/삭제

      엔플텍은 현재 뚫지 않았습니다.
      플레이 안한지 한 2~3주가 되어가는데.. 엔플텍이 붙는것으로 바뀌었나보군요.. 핵은 주로 메모리 조작으로 제작하고 오토는 사용자의 입력을 프로그램적으로 조건에 의한 판단을 결정하여 입력을 자동으로 내리는 것입니다.

  11. 비밀방문자 2008/12/18 12:15  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

    • 귀차니스트 2008/12/18 12:58  댓글주소  수정/삭제

      무슨목적인지 알려주셨다면 고려해봤겠으나 그냥 그러기엔 무리가 있군요^^. 아니면 목적에 대해서 설명 부탁 드리겠습니다.

  12. 비밀방문자 2008/12/19 13:34  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

  13. difl 2008/12/28 20:14  댓글주소  수정/삭제  댓글쓰기

    다운어덯게 받아요

  14. 비밀방문자 2009/01/13 22:26  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.

  15. 비밀방문자 2009/01/25 18:23  댓글주소  수정/삭제  댓글쓰기

    관리자만 볼 수 있는 댓글입니다.