NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    기타 구글 크롬 T-Rex Dino 게임 자동으로 하는 방법. (딥러닝보다 뛰어난?)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 이전에 딥러닝으로 구글 공룡 게임을 자동화 하는 방법을 알아본적이 있습니다. 자세한 내용은 [ 여기 ]에서 확인할 수 있습니다. 재미있는 내용이니 한번 읽어보시면 좋을거 같아요~ 오늘 알아볼 내용은 크롬의 개발자 도구에서 자바 스크립트로 처리하는 방법입니다. 구글에서 Dino bot으로 검색해보시면 상당히 많은 내용들을 확인할 수 있을겁니다. 우선, 아래 깃헙으로 이동한 후 스크립트 내용을 복사 해둡니다.

    https://github.com/danielapushkinsky/t-rex-game-bot/blob/master/TRexBot.js ]

    Mjj9WBb.png

     

     

    스크립트 내용을 모두 드래그 복사한 후 탭을 하나 추가하고 아래 주소로 접속하세요.

    chrome://dino/ ]

    1. 주소 이동 후 F12(개발자 도구 실행)
    2. Console 탭 클릭
    3. 클립보드에 복사된 내용 붙여넣기 후 엔터

    iYMxYfG.png

     

     

    스페이스바를 누르지 않아도 알아서 게임을 합니다. 처음에 운이 없게도 너무 붙어 있는 선인장이 나와서 시작 하자마자 죽었네요-_-;

    512DagO.gif

     

     

    개발자 말로는 평균 5만점을 달성할 수 있다고 합니다. 자신의 최고 기록은 10만점인데... 더 많은 점수를 낼수도 있다고 하는군요^^; 아무튼, 좀 더 재미있는 것들을 알아볼까요? 우선 소스를 확인하기 위해 스크립트들을 찾아봅시다. 아래 내용과 같이 클라이언트에 스크립트들이 존재합니다. 함수를 보면 Runner가 무언가 하는것처럼 보입니다.

    ozMnYoE.png

     

     

    아래와 같이 콘솔에서 Runner 객체를 확인 해보세요. Visual Studio와 같은 IDE처럼 점(Intellisense)으로 맴버와 함수에 접근이 가능합니다. gameOver 함수에서 점수를 기록하고, 다시 게임을 할 수 있도록 초기화할텐데요. 람다식으로 함수 내용을 삭제했습니다. 그러면~ 선인장이나 익룡과 충돌할 때 게임오버되는 로직이 동작하지 않겠죠^^;

    // Runner의 싱글톤 인스턴스가 게임오버되지 않도록 함수를 변경합니다.
    Runner.instance_.gameOver = () => {};

    pN8BElg.gif

     

     

    이외에도 재미있는 함수들이 많이 존재합니다. 아래와 같이 속도를 조절할 수 있습니다. 중력을 조절하면 점프력이 바뀌고, 캔버스 사이즈 조정이나 기타 속성들도 변경이 가능합니다. 웹게임들은 간단하게 스크립트를 변경하는것만으로도 쉽게 조작이 가능합니다. 물론, 스크립트를 분석하지 못하게~ 난독화하기도 하죠^^;

    b6KjUBH.gif

     

     

    주석과 줄바꿈을 다 제거하고, 배포하기도 합니다. 웹의 경우에는 분석을 어렵게하려는 의도도 있겠지만~ 용량을 줄이기 위해서 사용하기도 합니다.

    GLImXte.png 

     

     

    예로 든 공룡 게임처럼 로컬에서만 동작하는 경우에는 크게 보안에 신경쓸 필요가 없습니다. 하지만, 대부분의 웹 게임은 서버와 통신하면서 다이나믹하게 동작할 수 있게 설계되어 있습니다. 그래서, 로컬에서 자바스크립트로 뭔가 조작하더라도 서버에 반영되거나 할 일은 없습니다. 트래픽을 분석해서 서버로 전송한다면 모르겠지만, 이것도 쉽지 않을겁니다. 대부분 암호화되어 있을테니까요~ 웹 게임이라고해도 윈도우에 설치되어 있는 클라이언트를 통해 서비스하는게 대부분이라서 크게 의미는 없을겁니다. 엔지엠 에디터로 해볼까요? 웹 API에 연결을 추가하고, 주소에 "chrome://dino"를 입력하세요.

    lIbcNgl.png

     

     

    자바 스크립트도 설정하고 실행하면 됩니다. 크롬이 자동으로 닫히지 않게 지연을 약 15초 정도 설정하세요.

    RqnP3U7.png

     

     

    정상적으로 동작하죠^^?

    6Vmi4pG.gif

     

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.