2022년 2월 9일 수요일

카일레라와 마메에 대한 메모

 마메 0.120~0.125,

현재 사용가능한 카일레라의 마메 버전.

0.136 이후의 버전은 튕김현상,

0.164 버전은 네트워크의 프레임 전송이 폭주, 200fps의 값을 보여주는 말도 안되는

프레임 폭주를 현상으로 플레이가 불가능.

0.141 버전의 디버깅 로그를 확인해본 결과,

엑세스 위반이 발생했다고 한다.

이 경우는 두가지의 경우라고 정의했다.

1. 메모리의 범위가 허용된 범위를 초과한경우(사용자가 접근할 수 없는 영역에 접근),

2. 할당된 메모리가 너무 많아 주소 배정에 문제가 발생한 경우


그리고 해당 메모리의 문제는 Kailleraclient.dll에서 문제가 발생했다고 정의되었다.


즉, 카일레라 네트워크 메모리할당에서 무언가 문제가 발생했다고 생각이 되며,

마지막 버전인 0.164에서, 200fps의 기록이 있었다는 건,


카일레라의 코드가 0.140이후의 데이터의 메모리 할당을 감당하지 못하고 있다라고

생각이 든다.

그리고 이를 억지로 감당하게 만든 0.164버전은 네트워크 플레이는 커녕,

초당 200FPS의 데이터 전송을 보여주고 있는 상황이라고 생각한다.


조금만 더 공부가 되었다면 파볼 수 있지 않았을까 생각이 드는데,

안타깝다는 생각이 가득하다.


2022-02-28

wireshark의 패킷 분석 결과,

코드상의 전송데이터는 119(이상없는 버전은) 73~78, 31,36의 패킷을 일정하게 전송하고 있으며,

164는 64~78까지로, 전송력이 다소 떨어지는 것이 발견되었다.

문제는 버전에 상관없이, 그대로 복사한 코드를 사용한 것이 확인되었다.

즉, 카일레라 네트워크에 관련된 코드가,

119와 164가 서로 동일한 코드를 사용하고 있으나, 한쪽은 게임 플레이가 불가능한 전송력을 보유하고 있다는 것이 핵심인 것이다. 왜일까?



2022-03-11,

mame plus plus 0.119의 소스코드중 메탈슬러그 시리즈 오버클럭에 대한 기술표 발견,

mameppk 0.119의 소스가 2007년에 수정되었음을 생각하면, 이미 이때부터, 메탈슬러그 시리즈의 오버클러킹 넷플에 대한 수요와 필요성이 제기되었었음을 반증한다는 나름대로의 역사자료가 아닐까 생각이 든다.

실제로, 이후에 작성되고 릴리즈된 후바 plus plus의 경우도, 오버클러킹 옵션을 추가했었음을 생각하면, 참으로 오래된 과제였다는 것이 실감이 들기도 한다.


2022-03-13,

왜 오프라인 게임에서는 프레임이 깔끔한데 넷플에서는 그렇지 않은지가 발견되었다.

카일레라에서 사용할 강제설정 옵션들을 구현한 코드가 발견되었는데, 

여기에 auto-frameskip이 설정이 활성화가 되어있음이 나왔다.

굳이 auto-frameskip을 사용할 필요가 없는 게임에서도 사용할 수밖에 없는 구조가 지금까지 이어지고 있었던것으로 판단된다.

또한 과거에 ek-mame를 포기하게 만들었던 asm코어 설정도 여기에서 발견할 수 있었다.

만약 이를 활용한다면 마메 카일레라에서도 자유로운 핵판 팀플이 가능하게 되리라.

auto-frameskip을 해제하고 철권3를 연결해보니, 노트북에서도 에뮬 2개가 부드럽게 실행이 되었다.



댓글 없음:

댓글 쓰기