일단 하드웨어 설계가 존나 복잡하다.
N64는 닌텐도와 SGI (현재로 치면 엔비디아) 라는 회사의 합작품인데
당시 SGI는 컴퓨터, 워크스테이션을 다루는 회사였지 게임기 개발 경험이 전무한 상태였고
반면 닌텐도는 3D 게이밍을 타겟으로 한 만큼 어떻게 해서든 하드웨어의 성능을 최고 수준으로 만들고 싶어했음
그 결과 기존 게임기와도 동떨어지고 워크스테이션과도 동떨어진 엄청나게 복잡한 구조이지만 오로지 성능을 극대화하기 위해서 설계된 N64가 탄생한 것
일단 N64에 들어간 부품들은 전부 SGI에서 맞춤 제작한 것들인데 그중에서도 가장 독특한 것이 위 사진의 RSP와 RDP라는 장치임.
지금으로 치면 그래픽카드 정도라고 보면 되는데, 이 장치가 작동하는 방식이 존나 독특하다.
RSP는 쉐이딩, 조명같이 게임 내 그래픽 요소들을 처리하고 RDP는 안티앨리어싱, Z버퍼(원근효과), 텍스쳐 보정 등의 각종 옵션을 처리하는 역할을 맡고 있는데
이제 문제가 되는건 현세대 에뮬레이션 방식으로는 이 둘의 연산 방식을 완전재현 할수가 없다는 것이다
지금 쓰이는 에뮬레이터 방식은 두가지임
하나는 HLE (하이 레벨 에뮬레이션),
하나는 LLE (로우 레벨 에뮬레이션) 인데
HLE는 정확도보다 최적화를 우선하는 방식.
쉽게 생각하면 PC 이식버전이라고 보면 된다
10을 만들려고 2+3+6-1=10 을 했던 콘솔식 연산 대신
9+1=10 을 하겠다 이거임.
반면 LLE는 정확도를 우선하여 그때 그 방식 그대로 연산을 하는 방식. 가상 하드웨어 느낌이지
그래서 보통 플3이나 위유같이 신세대 기기를 에뮬로 돌릴때는 HLE를 씀. 사양 부담을 줄이려는 것도 있지만 최근 아키텍쳐와 다른게 얼마 없기 때문에 호환성에 큰 문제가 없기 때문임
반면 GBA나 SNES 같이 구세대 기기를 돌릴때 HLE를 쓰게 되면 구세대 아키텍쳐의 호환성 문제로 문제가 엄청나게 많이 생기기 때문에 LLE를 씀. 거기에 이런 구세대 기기를 구동하는건 사양에 부담도 없으니까 HLE를 쓸 이유도 별로 없음
근데 N64의 치명적인 문제가 여기에 있음
HLE를 사용할경우 >> 상술했듯이 어디선가 문제가 생김
LLE를 사용할경우 >> RDP를 구현할수가 없음
위가 HLE, 아래가 LLE 방식임
보다시피 둘 다 어딘가 맛이 간 모습임
(위는 텍스트가 이상하고 아래는 텍스쳐가 증발)
지금까지 알려진 바로는 RDP에 현재 그래픽카드로 구현하기 힘든 아날로그 방식 신호가 존재한다고 추정됨
이걸 코딩으로 대체하려면 설계를 알아야 할텐데 RSP와 RDP는 SGI가 만든 독자적인 연산장치이기 때문에 SGI 측에서 설명해 주지 않는 이상은 미지의 영역임.
결국 LLE 방식으로 N64를 그대로 재현하기에는 큰 무리가 있었다는 것이다
그러면 지금까지 N64 에뮬 개발을 어떻게 해왔느냐?
수요가 많은 게임들 위주로 HLE로 돌리면서, 플레이 중 눈에 보이는 오류가 있으면 설정값을 하나하나 수정해나가는 미친짓을 반복해왔던 거임.
그래서 젤다 시오같은 메이저 게임들은 많이 개선되어 대부분 구동 가능
반면 서드파티 게임들은 제대로 구동 안되는 것들이 많음.
그중에서도 난이도 최상으로 뽑히는게 '팩터 5' 라는 회사의 게임들인데, 얘네는 당시 기술력이 너무 좋아서 N64 황혼기에 냈던 게임들의 경우 아예 자기들이 짠 독자적인 코드로 게임을 구동시킴. (이렇게 입맛대로 조작이 가능했던건 N64에 자체적인 OS나 바이오스가 없었기 때문이다)
다른 99퍼센트의 회사들은 닌텐도가 제공한 기본 코딩 샘플을 기반으로 게임을 만들었는데, 이 기본 코드도 존나 복잡하고 불친절하다고 프로그래머들한테 욕을 먹었었음. 위에서 말했듯이 설계 자체가 편의성보다 성능에 치중했기 때문임
근데 얘네 팩터5는 여기서 더더욱 복잡하고 고사양에 적합한 N64 전용 코드를 만들어냈고 그 코드로 만들어낸 마지막 작품이 에뮬 난이도 끝판왕으로 불리는 '인디아나 존스와 지옥의 기계' 라는 게임임.
오죽하면 에뮬 개발자들이 그건 그냥 PC버전으로 하라고 포기해버렸음. 그 게임은 거의 플랫폼이 N64가 아닌 거나 마찬가지라고 하는데
결국 몇년 전에 버그가 존나 많지만 어찌저찌 엔딩을 볼수 있을 정도로는 진전이 된걸로 안다
어쨌든 하드웨어 문제뿐만 아니라 64 황혼기에는 이런 독자적인 코드를 적용한 게임들까지 많다 보니까 N64 에뮬 구현 난이도가 엄청나게 높아지게 된 것임.
왜 64만 제대로된 에뮬이 아직까지도 없는지 궁금한 사람들 있을까봐 써봤다
3줄요약
1. 그래픽 장치 하나가 현세대에서 구현이 불가능
2. 어쩔수 없이 유사 PC 포팅으로 게임을 실행
3. 구세대 기기다 보니 버그가 존나 많아짐
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.