요약
Sonic 06에서 잘려 나간 그래픽 효과 상당수는 게임 파일 안에 꺼진 채로 남아 있습니다.
Sonic 06을 PC에서 돌리는 Marathon Recompiled를 만드는 개발자 아이작 마로비츠의 글입니다. 렌더링(화면을 그리는 과정) 코드를 파고들다가 지역마다 화면 품질이 크게 다른 이유를 찾았다고 합니다.
왜 중요한가
- 최종판의 밋밋한 화면은 기술이 없어서가 아니라 성능 때문에 기능을 꺼 둔 결과로 드러났습니다.
- 그렇게 줄였는데도 실제 콘솔에서 목표 프레임을 내지 못했다는 점에서 개발 막판의 무리한 일정이 엿보입니다.
- 남은 코드를 손보면 일부 효과를 되살릴 수 있어, 원래 의도에 가까운 화면을 볼 여지가 생겼습니다.
핵심 내용
- 가장 많이 쓰이는 셰이더(그래픽 효과를 계산하는 프로그램) Billboard02는 정점 단위 조명만 지원합니다.
- 베타 영상 속 Kingdom Valley의 범프 맵(표면 요철 표현)과 Castle Town의 복잡한 지형은 최종판에서 빠졌습니다.
- 물체 하나에 점광원(한 점에서 퍼지는 빛)을 2개까지만 넣을 수 있어 조명이 많은 지역에서는 빛이 깜박이거나 사라집니다.
- 실시간 반사는 화면의 4분의 1 해상도로만 그려지고, 멀티플레이에서는 고정된 반사 이미지로 바뀝니다.
- 일부 문제는 패치했지만 베타 화면을 되살리려면 셰이더를 고치는 작업이 더 필요하다고 했습니다.
HN 반응
- 그래픽보다 조작과 버그가 더 큰 문제라며, Unity로 처음부터 다시 만든 팬 프로젝트 P-06을 대안으로 꼽는 의견이 나왔습니다.
- 목표 프레임을 묻는 질문에는 60fps로 설계했지만 화면에 일이 많아지면 그 속도를 내지 못했다는 답이 달렸습니다.
이 기법이 궁금해서 찾아봤는데, 하필 MSDN에 놀랄 만큼 자세한 문서가 있더라고요. https://learn.microsoft.com/en-us/windows/win32/dxtecharts/cascaded-shadow-maps
소닉 어드벤처 1은 드림캐스트에서 게임큐브, 다시 PC로 포팅될 때마다 조명과 텍스처가 계속 나빠진 것으로 악명이 높습니다. 바뀐 점을 전부 보여 주는 유명한 영상이 있습니다. https://www.youtube.com/watch?v=SORYL5J1Heg
저는 어릴 때 SA1을 게임큐브 DX 버전으로만 해 봤습니다. 나중에 원작이 훨씬 보기도 좋고 플레이감도 좋고 버그도 훨씬 적다는 걸 알고 충격을 받았습니다.
아, 소닉 더 헤지혹... 제가 사랑하는 시리즈인데, 팬들과 소유한 회사 양쪽 모두에게 오랫동안 처참한 취급을 받아 왔죠. 한때는 마리오만큼 거대했던 시리즈인데, 그동안 말도 안 되는 역사와 사건이 얼마나 많았는지 신기할 정도예요. 소닉 SatAM이랑 Sonic the Comic 캐릭터들을 언젠가 다시 볼 수 있기를 바라지만, 가능성은 거의 없다고 봐요. 그나마 IDW 만화는 꽤 잘되고 있는 것 같아요(팬들이 이언 플린과 에반 스탠리한테 좀 이상할 정도로 일방적인 애착을 보이긴 하지만요).
90년대 중반에, 그러니까 제가 열 살쯤이었을 때 소닉 만화 캐릭터들이 나오는 웹 소설을 읽었던 기억이 있습니다. '일방적인 애착'은 아주 정중하게 표현한 겁니다.
이만큼 크게 흥하고 이만큼 크게 추락한 게 또 있을까요? 마리오도 (본편) 게임마다 다 대박을 치는 건 아니지만, 전체적으로는 분명 훨씬 꾸준했잖아요. 소닉은 이제 끝났다는 말이 나온 게 몇 번인지 셀 수도 없어요... 그러다 적당히 성공하며 돌아오고... 또 시들고... 또 돌아오고요. 게다가 비디오 게임 원작 영화 중에서 처음으로 진짜 성공한 프랜차이즈가 하필 소닉일 줄 누가 알았겠어요?
솔직히 말하면 좀 논란이 될 만한 의견이긴 한데, 저는 소닉이 게임보다 TV 쇼나 만화로 늘 더 좋았다고 생각해요. 소닉 TV 쇼는 대체로 다 괜찮았던 것 같고요.
최악이라는 Sonic X조차 3기가 정말 훌륭해서 나머지를 만회해 줘요.
코스모가 몇 년이 지난 지금도 여기저기서 언급되는 데는 이유가 있죠.
흥미롭네요. 글쓴이는 엑스박스 게임을 PC용으로 다시 컴파일하면서 최종판의 형편없는 그래픽을 불평하고 있습니다.
제 생각에는 게임플레이와 글리치가 훨씬 더 큰 문제입니다. 한 아르헨티나 사람은 프로그래밍 경험이 전혀 없는데도 다른 방식으로 접근해서 유니티로 게임을 처음부터 다시 만들기로 했습니다. Project 06(P-06)이라는 프로젝트이고, 거의 완성됐습니다.
소닉 06은 기술적인 면은 고칠 수 있을지 몰라도 게임플레이는 못 고치죠, 맞아요. 저는 괴로움을 참아 가며 두 번이나 끝까지 해 봤는데, 게임 다루는 법을 알고 나면(이건 하면 게임이 맛이 가고, 여기선 점프하면 안 되고, 여기선 아날로그 스틱을 건드리면 안 되고...) 소닉 파트 몇몇은 꽤 즐길 만합니다. 하지만 나머지는 완전히 엉망진창이에요. 소닉 파트의 서브 퀘스트도 전부 다 해 봤는데, 지금까지 해 본 비디오 게임 경험 중 최악 축에 들었어요. 그래도 개발 과정에 대한 글이나 이 게임을 "고쳐 보려는" 사람들 얘기는 흥미롭게 읽었습니다.
저도 할 수 있는 건 다 했어요... 그런데 짐작하시겠지만 개발에는 복잡한 문제가 한두 가지가 아니었거든요.
나카 유지는 소닉 어드벤처 2 이후, 그리고 세가의 하드웨어 사업이 전반적으로 상업적 실패를 겪은 뒤로 정말 급격히 몰락했습니다. 세가의 황금 아이였던 사람이 증권 사기 혐의로 체포되는 신세가 됐으니까요.
전해지기로는 같이 일하기가 극도로 힘든 사람이었고, 세가 새턴용 3D 소닉 게임을 만들던 미국 팀에게 Nights의 3D 게임 엔진을 공유해 주지 않았다고 합니다. 결과적으로 그 콘솔의 상업적 성공 가능성의 큰 부분을 꺾어 놓은 셈이죠.
과감하게 단언하겠는데, 이 글이 다루는 코드는 그 사람이 한 줄도 쓰지 않았을 겁니다.
그는 개발 기간 대부분 팀을 이끌다가, 처참하게 망한 출시를 몇 달 앞두고 회사를 떠났습니다. 90년대 메인 소닉 게임들의 어셈블리 코드도 대부분 그가 썼고요.
그러니까 다시 말하지만, 이 글이 다루는 코드는 아마 그 사람이 쓴 게 아니라는 거죠.
이 게임이 얼마나 끔찍한지 보여 주는 플레이 영상을 여러 편 보고 나서, 크리스마스 선물로 아내에게 이 게임을 부탁했습니다. 아내가 사다 줬고, 저는 정신이 썩을 것 같다던 그 공포를 직접 겪어 볼 생각에 들떠 있었습니다. 그런데 제가 가진 다른 엑스박스 360 게임은 거의 다 하위 호환으로 돌아가는데, 하필 이 게임만은 실행이 안 된다는 걸 알게 됐습니다.
아쉽네요. 그래도 언제든 해 보고 싶은데, 조언해 주실 분이 있으면 꼭 듣고 싶습니다.
목표 FPS가 얼마이고, 그건 어디서 알아낸 건가요?
콘솔 타이틀이라서 기준이라는 게 있습니다. 정확한 숫자는 모르지만 60FPS일 겁니다.
60fps로 돌아가게 설계했다는 게 기술적 자부심의 한 부분이었어요. 그런데 안타깝게도 게임이 워낙 엉망으로 설계되고 짜여서, 뭔가 벌어지기 시작하면 60fps를 못 맞췄죠.
윈도 ME 팀이 4K에서 돌아가게 설계해 놓은 거나 마찬가지예요. 거대한 쓰레기 더미 위에 꽃 한 송이 올리는 데 시간을 낭비했다는 걸 알고 나면 더 한심해 보였을 거예요.