디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[정보] 보트 낙법이 특정 높이에서 안 되는 이유에 대해 연구해봄

ㅇㅇ(220.65) 2023.11.09 08:02:49
조회 15296 추천 90 댓글 15
														

쇼츠를 넘기다가 마크와 관련된 어떤 영상을 봤다


영상의 내용은 이렇다.


모두가 알다시피 보트는 추락 피해를 막아줘서 낙법으로 많이 쓰는데, 이상하게 49칸 높이에서 보트를 타고 떨어지면 추락 피해를 받고 죽는다.


하지만 플레이어가 탈 때만 그렇고, 몹이 탈 때는 아무런 문제가 없다.


보자마자 납득이 전혀 안갔는데, 그냥 보트에 탄 상태에선 추락 피해를 막아놓으면 될 것을


코드를 어떻게 짜놓았길래 특정 높이에서만 죽는거지? 라는 생각을 했다.


코드를 if (height == 49) {kill} 이따구로 짜는게 아닌 이상 특정 높이에서만 죽는다는 게 이해가 전혀 안 돼서 도대체 어떤 원리로 죽는건지 궁금증이 폭발하기 시작했고


직접 코드 분석과 구글링으로 원인을 찾아냈음.


문제의 코드는 이 부분이다




7cf3c028e2f206a26d81f6e44482746515


어려울 것 없음. 저 코드를 대충 풀어서 쓰면


1. 3칸을 초과하는 높이에서 추락할 때

2. 추락이 끝나고 보트가 땅에 닿은 상태면

3. 보트가 부숴지고 판자 3개와 막대기 2개를 드랍한다.


이걸 보면 '뭔 소리야? 보트가 추락하면 부숴진다고? 그럼 보트 낙법이 어떻게 되는데?' 라고 생각할 수도 있다


보트 낙법이 되는 이유는 2번에서 '추락이 끝난다'와 '땅에 닿는다'는 판정이 아주 이상하기 때문임


마크에서 추락이 끝난다는 것을 어떻게 판정하는지 알아보기 전에 마크의 물리법칙에 대한 이야기부터 하겠다


마크는 연산을 1틱(0.05초) 단위로 함. 즉 시간과 공간도 1초에 20번 업데이트 된다. 마크는 20프레임으로 돌아가는 세계라고 보면 됨.


즉, x=0에서 x+ 방향으로 2m/s 속도로 움직인다면, 1틱에 0.1블록을 움직이는 것이니 3.5와 3.6은 지나는데 3.55는 지나지 않는다. 마크는 이산적이기 때문이다.


(이러면 신속 255로 유리판을 못 뚫는게 이상할 수 있는데 충돌을 처리하는 코드도 따로 있는듯함)



7fef9e2cf5d518986abce8954185736bd5



보트가 추락할 때도 마찬가지인데 이 때 y좌표는 연속적으로 변하는 게 아니라 그림처럼 이산적으로 변한다.


여기서 문제가 발생하는데, '추락이 끝난다'가 보트가 완전히 땅에 닿았을 때가 아니라, 땅에 닿기 직전에 판정이 되기 때문이다.


7ef3c028e2f206a26d81f6e44188706a


10m 높이에서 떨어진다고 가정해 보자. 위에서 보듯이 보트의 가속도는 틱당 0.04인데, 이에 따라서 21틱이 되는 때에 9.24m, 22틱이 될 때 10.12m만큼 추락한다.


따라서 22틱째에 바닥에 닿고 추락이 멈춰야 하는데, 실제로는 21틱에 멈췄다고 판단해서 바닥과 보트 사이에 0.76m만큼 공간이 생기고, 이것 때문에 2번의 '땅에 닿는다'는 조건을 만족시키지 못해 보트가 부숴지지 않는 것이다.


하지만 여기서도 특이한 케이스가 있는데, 49m 높이에서 떨어지는 경우에는 48틱째에 47.04m, 49틱째에 정확히 49m로 떨어지는데


이 때는 49틱에서 멈췄다고 판단해서 보트도 부숴지고 플레이어도 뒤지는 것.


이렇게 추락하는 높이가 딱 정수로 떨어질 때 보트가 부숴지는 것인데, 49 외에도 12, 13, 51, 111, 114 등등이 있다. (25n^2 ± n) / 2 꼴을 만족하기만 하면 된다.


물론 저런 높이에서도 데미지를 안 받는 방법은 있다.



28a7d72fe39c3ba963f2c0bc12d42b70ed1783faf37afaf5b7acc4b5c85a1b8c5ac971eb8d6cb1


28a7d72fe39c3ba963f2c0bc12d42b70ed1783faf37af4baefe3aa8cc55f05925b1bdc8f82843f44bd110d




차이가 보이는가?



79f3da36e2f206a26d81f6e44785716b0b


그림처럼, 완전히 수직으로 추락하면 대미지를 안 받고, 추락하면서 x, z축으로 움직이고 있을 때만 대미지를 받는다. 즉 급하게 앞으로 가지 말고 천천히 움직여서 수직 방향으로만 떨어지면 안전한 것이다.


플레이어가 타면 죽고 몹이 타면 사는 이유도 이것 때문인데, 몹은 보트를 조종하는 능력이 없어서 앞으로 못가고 수직으로 떨어지기 때문에 그런거. 억지로 수평 방향으로 움직여주면 몹도 죽는다


그러면 오히려 보트낙법이 버그였고 추락하면 보트가 부숴지는 게 정상 아니야?


78f3c028e2f206a26d81f6e34582706b


그런것도 아님ㅋㅋㅋㅋㅋㅋㅋㅋ


보트가 낙뎀을 막는다고 올라온 버그 리포트에서 개발자는 '의도한 대로 작동됨' 이라고 처리했다


즉 보트낙법 자체가 개발자가 의도한거라 저 코드는 없어야 하는건데 아직도 과거의 잔재가 남아있어서 이런 문제가 발생한거임


따라서 말하자면 버그의 버그라고 할 수 있다


그러니까 모장은 빨리 일해라. 저건 거창한 수정도 필요 없고 코드만 날리면 해결인데

추천 비추천

90

고정닉 20

1

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2863 설문 시세차익 부러워 부동산 보는 눈 배우고 싶은 스타는? 운영자 24/05/27 - -
2862 AD 희귀 정령 획득 기회! <아스달 연대기> 출석 이벤트 운영자 24/05/23 - -
257334 일반 구클서버 [1] ㅇㅇ(122.32) 23.11.27 79 0
257333 질문 자꾸 종료코드 2 떠서 못 하는데 어떻게 해야 될까여 ㅠㅠ [5] ㅇㅇ(110.11) 23.11.27 179 0
257332 질문 본인 개씹뉴비인데 이정도면 지형 잘 뜬 편임? [15] 라떼는최고야갤로그로 이동합니다. 23.11.27 305 0
257331 질문 모드팩 서버는 못여나요? [1] ㅇㅇ(58.127) 23.11.27 135 0
257329 커맨드 그림자 느낌좀 있는듯? ㅇㅇ [9] d_OwO_b갤로그로 이동합니다. 23.11.27 281 2
257327 일반 계정이전 끝남? [2] ㅇㅇ(223.39) 23.11.27 140 0
257326 일반 RLcraft)1.12.2버전에서 사서주민 소환명령어가 뭐임? [3] 대공포탄갤로그로 이동합니다. 23.11.27 146 0
257325 일반 또롱~또롱~애캐배 열어주세요잉~♡♡♡ 히로빈훈드(118.235) 23.11.27 122 4
257324 일반 뉴비 셜커팜 짓고 있는데 조언이 필요하다 [4] ㅇㅇ(58.226) 23.11.27 311 1
257323 질문 심플리소드 모드 아는사람 ㅇㅇ(222.102) 23.11.27 462 0
257322 일반 스티브갤의 대한 저의 마음! [8] 로빈후드!!!!!!!!!!!!!!!!갤로그로 이동합니다. 23.11.27 323 16
257320 질문 쉐이더하고싶은데 얘네 왜 자바아이콘으로 안바뀜? [4] ㅇㅇ(222.232) 23.11.27 109 0
257319 질문 님들 마인리스트에 있는 서버들은 별로인가요? [3] ㅇㅇ(210.95) 23.11.27 1659 0
257318 커맨드 유튜브 돌아다니다가 신기한거 있어서 파쿠리해봤음 [7] d_OwO_b갤로그로 이동합니다. 23.11.27 259 3
257316 일반 애아잉열어 [1] ㅇㅇ갤로그로 이동합니다. 23.11.27 82 0
257315 일반 포트포워딩 비밀번호 까먹어서 못하는데 [3] ㅇㅇ(58.127) 23.11.27 113 0
257314 일반 꺄르륵~♡ 서방님들!!! 다들 뭐해양?!! [14] 로빈후드!!!!!!!!!!!!!!!!갤로그로 이동합니다. 23.11.27 385 14
257313 질문 프로미넌스2는 공략 없나?? [2] ㅇㅇ(106.101) 23.11.27 3442 0
257312 일반 마인크래프트 구매했는데 맥북에서 또 구매하라고 뜨는데?? ㅇㅇ(210.123) 23.11.27 217 0
257311 일반 마크 질문,., [3] 마붕이1(121.152) 23.11.27 192 0
257310 단타서 카스 좀비 단타 [1] ㅇㅇ(125.184) 23.11.27 221 0
257309 일반 지금 단타 열면 오나? [4] ㅇㅇ(125.184) 23.11.27 139 0
257308 모드 그레그테크 盧호라이즌 문과면 하기 더 어렵냐? ㅇㅇ갤로그로 이동합니다. 23.11.27 179 0
257307 단타서 (단타) 마인애플탈출맵 [4] ㅇㅇ(116.41) 23.11.27 558 0
257305 질문 주민들 여러마리 땅파서 가둬놓고 좀비데려와서 다 감염시키려는데 [3] ㅇㅇ(101.53) 23.11.27 96 0
257304 일반 ae2는 파와 오브도 비교기 없이 자동화 된다던데 [4] Projecth갤로그로 이동합니다. 23.11.27 139 0
257303 일반 내가 친구들이랑 서버파서하는데 계속 서버가 무응답 되버림 [3] ㅇㅇ(168.131) 23.11.27 88 0
257302 장타서 12일차 코블몬모드 포켓몬 서버 ❗ ㅇㅇ(59.4) 23.11.27 265 0
257301 질문 쉬프트 채팅으로아이템 태그할 수 있는 모드 이름이머임? [4] ㅇㅇ(211.209) 23.11.27 98 0
257300 모드 리파인드 스토리지 진짜 미친새끼네 [5] ㅇㅇ(211.34) 23.11.27 295 0
257298 모드 인벤토리 최종 수정본 [2] ㅇㅇ(223.62) 23.11.27 287 0
257296 일반 이거 그 손가락 아닌가요? [4] ㅇㅇ(58.224) 23.11.27 290 2
257295 일반 마크 일주일차 [1] ㅇㅇ(223.39) 23.11.27 103 0
257294 일반 아크라이트 서버 호스팅 잘 아는 형들 계신가요 .. [9] 123(121.182) 23.11.27 276 0
257293 질문 서버 접속이안돼 ㅇㅇ(125.184) 23.11.27 93 0
257291 질문 행운3인챈북이 다이아곡괭이에 안 붙음 [2] ㅇㅇ(112.152) 23.11.27 173 0
257290 단타서 올사람 있으면 와 [3] ㅇㅇ(125.184) 23.11.27 177 0
257289 일반 평지화 완료! [1] ㅇㅇ(58.228) 23.11.27 143 1
257288 일반 바닐라 데이터팩 확인 못하나 [3] ㅇㅇ(220.121) 23.11.27 93 0
257287 일반 월드파일 옮겼더니 주민 가격 세일이 날아감 [1] ㅇㅇ(211.114) 23.11.27 105 0
257286 질문 모드 텍스쳐나 다른겜 텍스쳐 혹시 저작권 있음? [8] 00갤로그로 이동합니다. 23.11.27 171 0
257285 일반 oculus flywheel 질문 [4] BUG-19583갤로그로 이동합니다. 23.11.27 133 0
257283 단타서 단타열어 [1] ㅇㅇ(211.36) 23.11.27 121 2
257282 연재 [GTNH] 16. MV티어의 시작 [7] ㄷㄷ갤로그로 이동합니다. 23.11.27 571 6
257280 연재 Create모드 뉴비가 2주동안 만든 월드 [6] ㅇㅇ(220.80) 23.11.27 2209 18
257279 일반 픽셀몬이랑 저니맵 같이쓰니까 렉 존나걸리는데 어케 못함? [1] ㅇㅇ(61.255) 23.11.27 161 0
257278 질문 마소계정 질문 ㅇㅇ(14.37) 23.11.27 77 1
257277 일반 억까도 정도껏이지 ㅋㅋ [2] Nobilis_Sol갤로그로 이동합니다. 23.11.27 323 5
257276 질문 스크립트에다 모드 아이템 추가 못하나 [3] 00(116.36) 23.11.27 138 0
257275 질문 리플레이모드 블록 바뀌는 오류 [1] ㅇㅇ(220.80) 23.11.27 143 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2