2000년대 초반에는 대부분 게임의 해상도가 640x480~1024x768이었습니다. 덕분에 대다수 이 당시에 나온 게임들은 이 해상도만 지원하곤 합니다. 하지만 2010년대인 지금 이 정도의 해상도는 계단이 보이고 그래픽이 영 아니게 보입니다.


그래서 이러한 그래픽의 향상을 위해 나온 패치들이 있습니다. 게임제작업체에서 만든 것도 있지만 반대로 유저들이 해킹으로 만든 것도 있습니다. 이런 패치들이 모여있다면 편하겠지요.


바로 https://thirteenag.github.io/ 여기입니다.


여기의 패치를 사용하면 와이드 해상도가 지원이 안되는 게임도 와이드 해상도까지 지원이 됩니다. 심지어 모니터의 네이티브 해상도까지 가능합니다. 요즘 모니터는 4k까지 나오니 엄청난 그래픽으로 보게 되는 겁니다.


사실 요즘 나오는 그래픽을 옵션 타협해서 하는 것보다 옛날 게임을 풀옵션으로 하는 것도 나름 재미입니다.


일단 저는 이 게임을 선택했습니다.



지금봐도 상당히 잘 만들어진 게임이다. 일단 자동차 모델링이 현실적이라 더 그렇게 보이는 것 같기도 하지만.


Need for Speed Underground

2003년 작입니다. 지금 봐도 그래픽이 그럭저럭 봐 줄만 합니다. 사람의 텍스쳐가 좀 안습이기는 하지만 이건 자동차를 보는 게임이지 사람을 보는 게임은 아니니까요.


우분투에서 Gallium Nine을 사용할 경우 검은 화면에서 진행이 안 되는 버그가 있는데 이 패치를 쓰면 버그가 해결됩니다. (이게 목적이었어..)


원인은 최적화를 위해 640x480에서 메뉴를 띄우고 본 게임이 들어가면 해상도를 바꾸는 방식을 사용하는데 여기서 Gallium Nine 버그가 있습니다.Widescreen Fix를 하면 해상도가 고정되면서 버그가 회피되는 겁니다.



Wine에서 사용하실 때는 Wine 설정에서 이렇게 설정해주셔야 합니다. 게임마다 다르지만 NFSU는 이렇게 해주셔야 합니다. 이유는 압축 파일안에 dinput8.dll파일을 사용해서 해상도를 구현하기 때문입니다. 만약 다른 게임이라면 다른 방식을 써야 하겠지요.


스프린터셀은 d3d8.dll이더군요. 패치하실 때 dll파일을 꼭 보고 설정해주셔야 편합니다.


한번 고성능 컴퓨터를 이용해서 한번 과거의 게임을 즐겨보시는 것은 어떨까요? 색다른 기분이 들겁니다.

,


Unity 엔진은 싼 가격과 수많은 커뮤니티, 폭넓은 지원 플랫폼 등으로 많은 인기를 구가하는 게임 엔진입니다. 대표적인 상용게임으로는 Hearth Stone이 있습니다. 모바일에서는 거의 Deemo등의 게임이 엔진을 쓰고있지요. 이외에도 인디게임계에서는 거의 표준이라고 해도 과언은 아닙니다. 특히 멀티플랫폼을 목표로 한다면 Unity 엔진 하나로 만들기만 해도 충분히 커버가 가능하기 때문에 선택의 이유가 충분한 엔진입니다.


하지만 지금까지 Unity 엔진을 사용하기 위해서는 Windows나 Mac에서 개발을 할 수 밖에 없었습니다. 결과물이 리눅스나 안드로이드에서 돌아가게 할 수는 있으나 기본적인 에디터가 Windows/Mac만을 지원했던 것이 이유입니다.


하지만 Unity5.1 부터 아직 시험 중이지만 리눅스를 지원하기 시작했습니다.

http://forum.unity3d.com/threads/unity-on-linux-release-notes-and-known-issues.350256/


여기서 우분투 지원패키지를 직접 받을 수 있다. 페이지 제일 아래로 내려가면 빌드가 될 때마다 리눅스용이 나오는 것을 알 수 있다.



일단 우분투용 패키지는 기본적으로 지원하며 다른 배포판은 쉘스크립트를 통해 설치하도록 되어있습니다. 링크의 최상단에는 테스트에 대한 이야기가 있고(공유 라이브러리의 버전에 대해서도 설명 되어있습니다. 우분투를 쓴다면 크게 신경 쓰지 않아도 되는 이야기 입니다.)

제일 아래로 내려가면 최신 릴리즈가 나와있습니다. 해당 글에서 deb 파일을 받아다가 설치하면 됩니다. 참 쉽죠?


실행을 해본 결과 상당히 빠릿합니다. OpenGL만을 지원하기 때문에 D3D옵션은 사용 불가능합니다. 하지만 OpenGL만의 기능으로 D3D기능을 대체가 충분히 가능하기 때문에 크게 문제는 없습니다. 특히 쉐이더는 GL용과 D3D용이 별도로 있었던 Unity4와 달리 통합되어 있기 때문에 더더욱 신경을 쓸 필요가 없습니다.


windows와 동일한 화면이다 Personal을 사용하든 Professional을 사용하든 별 문제가 없다.

우분투의 Unity 데스크톱과 잘 어울리는 Unity에디터의 모습. 실제로 서로의 문제를 해결하기 위해 검색하면 미묘하다.



스크립트 에디터는 기본적으로 우분투에서 연결된 에디터가 실행되게 끔 되어있습니다. Edit-Preference 에 들어가시면 실행이 되지도 않는 Mono Develop 대신 많은 사람들이 사용하는 Sublime Text나 Gedit+plugin도 사용이 가능하다고 합니다. 어쩌면 이쪽이 더 나을 수 있습니다.


여기서 에디터를 마음대로 바꿀 수있는데 왜인지 아직은 제대로 작동이 안 된다.



그런데 저 같은 경우에는 잘 작동이 안 됩니다. 아직 개발 버전이라 그럴 수 있겠다는 생각이 드는군요.

일단

~/문서/(프로젝트 이름)/Asset 안에 스크립트 파일이 생성되니 여기 있는 스크립트를 직접 Sublime Text같은 C#, JavaScript 등을 지원하는 에디터로 수정하시는 것을 추천합니다.


아직은 불안정하지만 이제 우분투에서 게임을 직접 개발 할 수도 있습니다. 리눅스의 게이밍환경은 날로 좋아지고 있습니다.

,

이전에 D3D 성능 강화를 위해 리눅스에서 직접 DirectX9 렌더링을 했다는 이야기는 들어보셨을 겁니다.(http://moordev.tistory.com/129) 그런데 이제는 LLVM과 새로운 스케쥴러(SI Scheduler)의 힘으로 Catalyst보다 성능을 더 뽑아냈다는 소식이 들려왔습니다.


http://www.linuxsystems.it/2015/08/radeonsi-with-si-scheduler-humiliates-catalyst-in-all-tests/


Test게임은 Metro2033으로 리눅스를 네이티브로 지원하는 게임입니다. 즉 순수 OpenGL성능으로 Catalyst를 이긴 것입니다.


물론 우분투 16.04에서 Catalyst의 지원을 끊어 버린 것도 이러한 배경이 있었던 것이지요. 물론 우분투 기본 드라이버는 성능이 그렇게 나오지는 않습니다. 하지만 PPA를 통해 드라이버를 설치하면 이러한 성능을 느낄 수 있습니다.


그동안 저는 oibaf PPA(https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers/)의 드라이버를 사용했었는데 이번에는 다른 PPA를 사용해보겠습니다. 일명 padoka PPA라 불립니다. Paulo dias라는 분이 운영하는 곳으로 oibaf를 기준으로 몇가지 패치를 더 붙여서 배포합니다. 그 중 하나가 바로 LLVM에 추가된 SI Scheduler라는 것으로 약 10%성능 향상을 보입니다.(물론 AMD기준이고 인텔은 잘 모르겠습니다. Nvidia는 그냥 조용히 Nvidia드라이버를 사용하면 됩니다.)


sudo add-apt-repository ppa:paulo-miguel-dias/mesa
sudo apt-get update
sudo apt-get dist-upgrade

그리고 재부팅



그리고 /etc/enviroment나 ~/.profile 파일에 다음과 같은 내용을 추가합니다.

"R600_

DEBUG=sbcl,hyperz,llvm,sisched,forcedma"


이렇게 하고 재부팅을 또 해주시면 각종 Tweak이 적용된 상태로 돌아가게 됩니다.

그런데 이게 Catalyst보다 빠릅니다. 여기에 Gallium Nine을 꺼내면 Windows보다 더 성능이 올라가는 기염을 토합니다. AMD가 하드웨어 문서를 제공하고 약 6년정도 흐른 것 같은데 이제 해커들의 도움을 받아 성능을 끌어올리는데 성공했습니다. AMDGPU PRO라는 드라이버가 곧 나온다고 하는데 기반이 되는 오픈소스가 이 정도면 과연 이 드라이버는 어느정도의 성능이 나올까요? 어쩌면 Windows보다 더 성능이 좋아질지도 모를 일입니다.

,