2020년 11월 21일 토요일

[파이트케이드]동작그만, 코인넣기냐? - lua스크립트로 코인버그 악용유저 잡기

[개요]

파이트케이드뿐만 아니라 현재 고전게임 넷플레이 서비스를 제공하는 환경에서는 치명적인 버그가 존재하는데, 호스팅된 1p가 코인버튼을 누르면 2p가 잠시동안 움직이지 못하는 버그가 존재한다. 이는 마메 카일레라를 제외하고 지금까지 넷플레이 서비스를 제공한 환경에서는 해결되지 못한 버그이다.

생각보다 오래된 환경적 버그인 만큼, 이를 악용하는 유저들 또한 존재할 수 밖에 없다.

비록 현재는 실시간으로 포착이 불가능하지만, 리플레이에서 검증할 때 유용하게 사용할 도구가 이번에 파이트케이드에 추가되었는데 바로 "lua 스크립트"기능이다.

[Lua 스크립트?]

루아 스크립트는 원래 가벼운 프로그래밍 언어로 마메에서 이를 추가한 이후 fba-rr에서 역시 추가된 스크립팅 기능으로 tasvideo.org에서 공식적으로 채택한 fba-rr에서 유저들이 필요한 기능들을 만들어낸 스크립트들로, 프레임 수, 판정박스 확인 및 입력로그등을 게임 디스플레이에서 확인할 수 있으며 유저들, 게임의 성향에 따라 트레이닝모드에서 활용할 만한 요소들을 통해 게임을 연구하거나, Tool Assisted Speedrun유저들에게 좋은 연구도구로 활용되고 있다.

메탈슬러그의 경우, 적군 오브젝트의 체력을 확인할 수 있는 스크립트가 존재한다.


예시) 가장 대표적인 kof시리즈의 판정박스 확인

여기서는 모든 게임에서 범용적으로 사용할 수 있는 코인버그를 검증해보기 위해
input을 확인할 수 있는 스크립트를 사용할 예정이다.

[스크립트 다운로드]

우선 다음 링크로 들어가도록 한다.

https://github.com/Jesuszilla/mame-rr-scripts


우측에 있는 녹색버튼(code)를 누르면 메뉴가 나타나는데,

download zip을 누르고 이를 파이트케이드 폴더에 저장한뒤, 압축을 해제한다.

아래와 같은 방식으로 나온다면 정상이다.


이제 게임을 켜보도록 한다.
그전에 video - select blitter에서 본인의 설정이 directX9 alt인지 확인해보도록 하자.


Game - Lua scripting - new lua script windows..에 들어간다.


Browse - 경로에서 input-display.lua를 선택해준 뒤, run을 누른다.


정상적으로 스크립트가 실행된 모습. 현재 아무것도 누르고 있지 않지만, 키를 누르고 있으면 밑에 있는 글자들이 반응할 것이다.


코인키를 넣은 것이 포착되자 반응하는 c(코인)글자

이 과정을 리플레이를 틀어놓은 창에서 진행하면 검증준비는 끝난다.

이제 여러분들은 상대가 코인 버튼을 눌러서 c글자가 빛나는지만 감시하면 된다.


게임은 정정당당하게 하고, 매너있게 끝냅시다.



댓글 없음:

댓글 쓰기