크롬 공룡 게임(T-Rex Runner) 1편 주작하기(해킹?)

(아래 내용은 모두 실화입니다.어느 날 갑자기 우리 집에 와이파이가 끊겨버렸어요!그래서 만붕이가 온 상태에서 마지막 희망을 가지고 크롬을 켜봤습니다.결과는 잔혹했습니다.

참형, 참수형에 처할 것

그런데 갑자기 가운데 서 있는 공룡이 눈에 들어왔습니다.

공룡.

이 망할 공룡을 괴롭히기 위해 공룡 게임을 시작했어요.

이름 특징 제미크롬공룡게임(T-Rex Runner)chrome부활제란★★☆☆☆상당히 재미있지 않음

이름 특징 제미크롬공룡게임(T-Rex Runner)chrome부활제란★★☆☆☆상당히 재미있지 않음

공룡(내 실력 최고 기록)높은 점수는 23024이지만 최고 기록은 5439입니다.이제 인터넷이 고쳐졌어요.어떻게 공룡 게임을 다시 하나요?인터넷을 끄면 되는데 더 쉬운 방법이 있어요.chrome:/dino/에 들어가는 겁니다. 이름은 T-Rex Runner인데 dino로 들어가다니?) 이렇게 하면 네이버 웨일에서는이렇게 엣지에서는확실히 chrome:/dino라고 쳤는데 edge:/dino라고 쳤어요 크롬에서는짜증나는 공룡(annoying dino)이렇게 나옵니다.여기서는 인터넷 연결 없이도 더 나은 환경에서 T-Rex Runner를 플레이할 수 있습니다.글자가 말하는 대로 스페이스 바를 눌러볼게요.일반공룡게임은 크기가 변하지 않는데 직접 chrome://dino를 치고 들어가면 이렇게TMI:Alt 누르면 공룡이 멈춘다.커지는 걸 볼 수 있어요.주작법 공룡 게임은 매우 쉽게 조작할 수 있습니다.성공적일단 주작을 시작하기 위해 F12를 눌러 개발자 도구를 켜봅시다.html일단 우리는 공룡 게임 자체를 조작하면 다른 사람들이 우리가 9999점을 달성했다는 것이 주작을 이용한 것이라는 것을 깨달을 확률이 매우 높아지므로 우리는 노골적으로 수정하지 않습니다.그래서 맨 위 열에 있는 Console을 클릭합니다.Elements보다는 깔끔합니다.후련한 모양, 산뜻한 모양, 담박한 모양.여기서 우리는 주작을 시작합니다. 모처럼 괄호(>)에 Runner. 라고 쳐봅니다.많은 사람들이 모여 떠들썩한 모양: 술렁술렁, 수선수선, 와글와글.뭔가 글자가 쭉 나오는 걸 볼 수 있어요.여기서 마침표 다음에 instance_.와 (언더바, 마침표 포함) 찍습니다.또 뭔가 술술 나와요.마침표 다음에 activated라고 하겠습니다.값이 true입니다.뭔가 딱 봐도 주작하고 싶은 값이에요.전체적으로 Runner.instance_.activated=false라고 치고 엔터를 누릅니다. (그리고 다시 공룡게임 부분을 클릭하시면 적용됩니다.)결과는 이렇습니다.TTMI:Consol에서 alert(“내용”)과 치면 dino내용:내용과 나온다.뭐랄까 신기한 것에 공룡이 갑자기 멈추고 도약하고 창이 빙빙 돌게 되기도 하죠? 이렇게 주작이 있습니다.아까는 점수를 999999달성하는 데 아무 도움도 되지 않았습니다.이로부터 점수를 대단히 높게 달성한 스자쿠 법을 몇가지 소개합니다.1. 제자리 걸음 먼저 Consol에 Runner.instance_. playingIntro=true라고만 치고 엔터를 합니다.그리고 다시 공룡 게임을 클릭하고, 어떻게 되었는지를 봅니다.그러자 공룡이 그 자리에서 발은 움직이지만 구름과 땅, 선인장, 익룡은 움직이지 않습니다.그리고 이 상태에서 계속 기다리고 점수가 9999때까지 기다리겠습니다.참!우리는 점수가 9999에 때까지 기다리는 시간이 없습니다. 그럼 어떻게 하면 좋을까요?Runner.instance_. setSpeeed(속도)로 속도를 올리는 것입니다. 속도를 9000정도로 설정하면 1분도 되지 않아서 90000대를 달성할 수 있습니다.그러나 이렇게 되면 게임을 종료하고 최고 기록을 기록할 수 없습니다.이때는 Runner.instance_. startGame()을 이용하고 멈춘 상태를 종료하면 됩니다. 정확히는 정지된 상태를 종료하는 것이 아니라 공룡을 움직이는 것이 맞습니다.그러다 불현듯 선인장과 익룡이 교통 사고를 내죠. 2. 공중 부양 or땅굴 파기의 매우 간단한 방법입니다.우선 콘솔의 Runner.instance_. tRex.groundYPos=높이로 합니다.높이를 크게 하면 모니터 기준으로 아래로 가, 높이를 작게 하면 올라갑니다.원래의 높이는 93입니다.높이를 1로 하면, 구름을 밟으며 익룡과 들판을 피하고 갑니다.높이를 150으로 하면 공룡은 두더지가 됩니다.150으로 하는 것이 편한데요 왜냐하면 높이가 도중에서 낮은 되지 않으므로 높이를 높이고 두면 공룡에 이기기 위해서 선인장에 해당하는 높이에 수정해야 합니다. 하지만 높이를 낮추어 두면 언제든지 점프에서 선인장에 도착해서 귀찮은 과정을 생략하실 수 있습니다.3. 조작된 점수를 저장(이 방법은 9999 아니라 99999까지밖에 안 됩니다.)전의 방법은 99999를 달성할 때까지 시간이 좀 걸리고 99999를 넘으면 또 00000에 돌아가다가 타이밍을 맞추려고 노력하지 않으면 안 됬지만 이 방법은 가장 시간이 좀 쓰고 또 정확히 99999에 맞출 수 있는 방법입니다.Consol창은 이렇게 적고 엔터를 누릅니다.Runner.instance_. saveHighScore(19999950또는 2배) 이렇게 하면 최고 기록이 정확히 999입니다.여기서 HI999 부분만 사진으로 보여주면 완벽해.이외의 주작법Runner.instance_.isDarkMode=true 또는 Runner.instance_.inverted=true이렇게 하면 낮에는 달이 뜨고 밤에는 달이 지는 특이한 현상을 볼 수 있습니다.분명히 하얀 배경인데 달이 떠 있는 상황.Runner.instance_.restart() 하면 별 거 없이 다시 시작됩니다.Runner.instance_.gameOver()하면 선인장도 없는데 갑자기 게임오버가 됩니다.Runner.instance_.clear Canvas() 이렇게 하면 화면이 일시적으로 하얗게 됩니다.Runner.instance_.dimensions={WIDTH:600,HEIGHT:50}이렇게 하면 게임이 엉망이 됩니다.진정한 난투여기서 WIDTH는 바꿔도 변하지 않지만 HEIGHT는 큰 변화를 유발합니다.(원래값=150) Runner.instance_.init() 이게 도대체 뭔지 잘 모르겠어요. 일단 첫 번째 변화 중에 조금 위에 이상하게 옆이 줄어든 네모난 상자에서 공룡이 움직입니다.두 번째 변화, 이 명령을 여러 번 반복하면 앞에는 은공룡이 아래로 크게 바뀌고 다시 사각박스에서 공룡이 움직입니다.공룡 이중구조물 괴괴Runner.instance_.setSpeed(속도) Runner.instance_.config.SPEED = 속도 앞에서 나온 것처럼 공룡의 속도를 증가시키는 기능입니다.그런데 벌레인지 점프 높이가 높아지기도 합니다.아니면이렇게 익룡과 선인장이 겹쳐서 나오기도 합니다.Runner.instance_.distance Ran=위치를 사용하면 현재위치는 변하지 않지만 현재점수가 바뀝니다.점수 399773에 첫 선인장.이렇게!실제로 이것도 위에 9999달성 법에 추가해야 하는데 시간 관계상 그 과정은 생략합니다. (귀차)Runner.instance_. initializeHighScore()이건 좀 위험한 것이지만, 이것을 하나의 컴에서 하고 보니 기록이 00000에 져서, 다시는 최고 기록을 보존하지 못하는 것을 깨달았습니다.(눈물)어쨌든 이름처럼 하이 스코아 초기화 기능(정확히는 함수)입니다.Runner.instance_. tRex.ducking=true 이렇게 하면 공룡이 공중에 있어서도 순식간에 아래로 내려옵니다.(물론 공중 부양 법 제외)Runner.instance_. tRex.spritePos={x:102, y:3}이 결과는 이렇게 됩니다.공룡 = 익룡의 일부이 명령은 나중에 다시 설명하겠습니다.Runner.instance_.tRex.speed Drop = true 이렇게 하면 공룡이 이렇게됩니다. Runner.instance_.tRex.draw(12,32) 공룡이이렇게 돼요. 숫자를 두 개 바꾸면 다른 모양도 돼요.Runner.instance_.tRex.config.HEIGHT = 높음과 Runner.instance_.tRex.config.HEIGHT_DUCK=높이, 이것은 공룡의 높이를 조절하는데 공룡의 크기가 변화합니다.바닥재 발생 높이 : 500모자? 높이 : 5그리고 높이를 5정도로 하면 낮은 선인장(과 익룡)은 자연스럽게 피할 수 있습니다.Runner.instance_. tRex.config.MAX_JUMP_HEIGHT=1과 Runner.instance_. tRex.config.MIN_JUMP_HEIGHT=1암 점프의 높이를 조절합니다. 1이하는 조절 못할 것 같아요.1을 하면 공룡의 머리가 천장에 도착할 것입니다. 사실 MAX는 아무 쓸모가 없소.Runner.instance_. tRex.config.DROP_VELOCITY=81이 명령은 이름에서 보듯 떨어지는 속도를 설정합니다.속도가 5만이 되어도 정상적으로 플레이할 수 없습니다.속도가 30이 되면 가장 낮은 작은 선인장을 넘을 수 없습니다. 값이-1보다 크고 매우 부드럽지 못한 점프합니다.원래의 값은-5입니다.-10이 되면 공룡이 머리를 천장에 매달립니다.Runner.instance_. tRex.config.GRAVITY=10은 전의 것과 비슷한 10을 하면 이상하게 됩니다.찍을 수 없어서 직접 하는 것을 추천합니다.원래의 값은 0.6입니다.그리고 중력을 0으로 하면 이것도 999999달성 가능합니다. 0으로 하면 일단 점프를 하면 자연스레가 떨어지지는 않지만 아래 방향의 키를 누르고 내릴 수 있습니다. 그래서 큰 익룡만 피하면 좋습니다.아, 그리고 0이하로 설정하자면 어느 정도 올랐고 더 오르지 않지만 0.001 하면 한번 오르면 거의 두번 다시 안 내립니다.Runner.instance_. gameOver=()=>{}이는 공룡이 무적으로 된 명령입니다.이거는 어떻게 멈추는지 모르겠지만 참고로 속도 조절(뒤에 것은 제가 찾았어요), 중력, 무적은 여기서 찾았어요.(검색만세) 그리고 원래는 명령 뒤에 세미콜론(;)을 넣어야 하는데 귀찮지 않아도 작동이 돼서 그냥 안 했어요. (사실 꼭 필요할 때도 있지만 여기에 나온 명령은 모두 일행이기 때문에; 없어도 가능합니다.) 자바스크립트 문법)스프라이트 이미지 전에 Runner.instance_.tRex.spritePos={x:102,y:3} 기억하시나요?보시면 sprite Pos라는 이름이 있습니다. 이것은 스프라이트 이미지와 관련이 있습니다.스프라이트 이미지 설명 공룡 게임 같은 게임을 만들 때는 이미지가 굉장히 많이 들어가요.와 샌즈! (화상출처)위 잠민테일 언더테일 샌즈 이미지만 봐도 한 캐릭터 전투에 무려 69개(!)의 이미지가 쓰였습니다.그런데 이 69개의 이미지를 모두 따로 파일을 만들면? A. 메모리가 폭발한다! (뽕)마인크래프트 1.16.5 텍스처좋은 예로 잠민 2크래프트 마인크래프트 텍스처가 있습니다.파일은 불과 2087개입니다. 하하하 Q. 이걸 다 부르면?? A. 메모리가 꺼진다.TTMI 그래픽 때문에 30400원을 날릴 뻔한 인간이 지금 이 글을 쓰고 있다.그래서! 몇몇 게임은 스프라이트 이미지라는 방법으로 해결합니다.먼저 Consol에 Runner.imageSprite라고 입력합니다. (엔터)그러면뭐가나오는데scr=”data:image왜…”에서따옴표안에있는링크로들어가보세요.링크에들어가보시면스프라이트 이미지이런 이미지가 나와요.보시면 공룡게임에 나오는 모든 이미지가 있어요.프로그램에서는 이 하나의 이미지 중 일부를 잘라내고 그 부분만 읽어 보여주기도 합니다.Runner.instance_.tRex.spritePos={x:102,y:3} 이 코드는 공룡을 이 스프라이트 이미지의 어느 부분을 잘라 사용할지 선택하는 코드입니다.보면 공룡이 점프했을 때 모양이구름 같지만 공룡입니다.실제로 위 스프라이트 이미지를 다운받아 공룡 사이즈를 선택한 후 그와 같은 크기로 102, 3 부분에 올려보면공룡 같은데 구름이에요.구름과 익룡 부분에 잡히는 것을 볼 수 있습니다.그럼 스프라이트 이미지를 수정한다면??(참고: 앞에 나온 유튜브 링크 2개) 먼저 스프라이트 이미지를 다운로드 합니다.링크에 들어가서 우클릭하여 이미지를 저장하면 파일 익스플로러 다운로드에 이미지가 표시됩니다.이것을 열고 그림판이나 무언가로 수정합니다.컬러풀이것을 온라인에 올립니다. (GitHub, 지혜주머니, 블로그, G메일, 네이버메일, 네이버카페 게시물, 포스트 등) (저의 경우 블로그를 이용하였습니다.) 저는 비밀 게시물 카테고리가 있기 때문에 여러분에게 보이지 않는 블로그 게시물에 사진 형식으로 올렸습니다.비공개 글입니다●●●●●●●●https://blogfiles.pstatic.net/MjAyMTA1MTJfMjI4/MDAxNjIwODI3NDY2Nzc1.uA2C-N4q2qX-S5hNkrMFd8rXaZSjG2ys9MVRR8eP_Dkg.7Fvq5ViYSW5yA78IOd9e28kJzNhZHeh-_GRKogkVFCog.PNG.programhuh256/dino_image.png입니다. 이 새로운 스프라이트 화상을 적용할 필요가 있지만, 첫번째 방법은 Elements에서 위에서 3번째 div인<divid=”offline-resources”jstcache=”0″>아래 첫<img왜>의 scr=”오리지널 스프라이트 화상 링크”에서 오리지날 링크를 삭제하고 자신이 원하는 링크를 들어간 것입니다.2번째의 방법 앞에서 말했듯이 Consol에서 Runner.imageSprite으로 입력합니다. (엔터)여기서 scr=”오리지널 스프라이트 이미지 링크”을 끄고 자신이 원하는 링크를 넣습니다.(이는 에러가 발생할 수 있습니다.)오류가 발생할 경우 가장의 방법으로 부탁합니다. 그래도 안 되면 문의 주세요.)(또 엔터)아, 그리고 이를 적용했을 때에 일시적으로 공룡에 속도가 느려지가 발생되었는데 한번 죽는다고 전 속도로 돌아갑니다.게임이 너무 칙칙해서 컬러풀하게 바꿨어요. (TTMI:공룡눈 색갈이)앗하지만 이것도 일시적인 조작입니다.F5 또는 Ctrl+R에 세로로 쓰면 원래대로 돌아갑니다.여기서 알 수 있는 사실: 밤이 되면 색이 반전된다여기서 알 수 있는 사실: 밤이 되면 색이 반전된다우리는 이것으로 높은 점수를 조작할 수 있습니다.하지만 우리의 진짜 실력은 아니에요. 자기 실력대로 하자 결론.감사합니다。(후~길었다) 오타는 댓글로 제보해주세요.

error: Content is protected !!