저는 그렇게 건실한 것은 아니지만 꽤 오랫동안 운영(?)해 왔던 다음블로그가 있습니다. http://blog.daum.net/moor


하지만 저는 다음 블로그가 약간 제 손으로 못 만지는 곳이 너무 많은 것 같아서 티스토리로 작정하고 옮겨왔지요. 그런데 티스토리는 티스토리대로 문제인 것이 만질 곳이 많아지자, 제가 손을 대기 귀찮아졌다는 것입니다. 기본 스킨 그대로 이용하는 것을 보시면 너무 나도 쉽게 아실 수 있습니다. 아 조금 폰트크기를 키울 필요는 있겠네요. 모바일에서 보니 약간 답답한 면도 보이니까요.


사실 다음블로그에서 글을 써본 결과 이상할 정도로 해외에서 스팸성 트랙백이 자꾸 걸렸습니다. 이유를 알고 보니 다음블로그는 새 글이 올라오면 각종 봇 들이 주르륵 훑고 지나가더군요. 검색엔진 봇도 아니고 처음 보는 괴상한 봇도 나타나던데 그게 원인이 아닌가 싶었습니다. 그 외에도 글을 관리하기 힘들고 제가 그냥 수첩에 끄적이듯이 글을 적다 보니 제대로 된 글은 별로 없었습니다. 그나마 그럭저럭 제대로 쓴 글은 

http://blog.daum.net/moor/37 (이것은 새로 스크린샷 찍고 영상을 찍어서 가져왔습니다.)

http://blog.daum.net/moor/107 (Ren'Py 안드로이드 포팅 글 새로 쓰면서 기존 다음블로그는 비공개 처리)

http://blog.daum.net/moor/102 Cups+Sane 프린트+원격스캔 서버 만들기 정리 후에 가져올 예정.


수많은 글 중에서 쓸 만한 글은 대충 이 정도 뿐.


굉장히 공은 들였지만 그저 일기 형식으로 써서 다른 사람들에게 별로 도움은 안되는 글

http://blog.daum.net/moor/45

http://blog.daum.net/moor/50(내 생각에 거의 삽질이 블록버스터 급인데 현재는 별로 도움 안되는 글)

http://blog.daum.net/moor/106 삽질 하다 포기함. 그냥 다른 물건을 구하는 것이 100배 나음.


난 참 글 쓰는 재주는 없다는 생각이 듭니다. 조금 더 다른 사람을 배려하듯이 써야 하는데 제가 편한대로 글을 쓰다 보니 그 수많은 글 중에서 건질 것이 전혀 없네요. 어쨌건 블로그에 제대로 된 정보성 글을 올리기 위해선 아무런 글도 올라가지 않은 깨끗한 상태의 땅이 필요했습니다. 그러다 티스토리가 눈에 띄인 것이고요. 네이버블로그도 있지만 여긴 다음보다 더 했으면 더 했지 덜 한 곳은 아니라서 그냥 깔끔하게 접었습니다. 티스토리에는 전문성 있는 글들이 자주 올라오는 곳이니, 저도 이 대열에 한 번 끼일 수 있었으면 좋겠습니다.


이상 MoorDev 올림.

,


한 때 잠깐이나마 마이크로소프트는 Flash의 대항마 격인 웹 플러그인을 발표합니다. 그 이름이 Silverlight입니다. 은빛이라는 한국말로 바꾸면 꽤 예쁜 이름이지만, 이 실버라이트는 결국 Flash라는 거대한 벽을 넘지 못하고 버려진 자식이 되어버립니다. Windows8의 IE지원 대상에서 빼버린 것이지요. 실버라이트를 이용해서 동영상을 서비스해 주는 곳도 일부 있었고(SBS, 다나와 리뷰 등), 일부 사이트에서는 Flash처럼 멀티업로드용으로 쓰기도 했습니다. 그런데 사람들에게서 이미 잊혀진 존재가 되어가다보니 해당 사이트들도 Flash로 바꾸거나 아니면 전혀 다른 방식으로 서비스를 시작했습니다. 이렇게 실버라이트는 사라지는 듯 했습니다.


그런데 이 시점에서도 실버라이트를 버리지 못한 불행한 사이트들이 많이 남아 있습니다. 실버라이트가 마이크로소프트를 통해서도 지원 받지 못하는 마당에 답답한 노릇입니다. 이 사이트들이 정신을 차리고 다른 방법으로 바꾸기 전까지는 우리는 어쩔 수 없이 실버라이트를 써야만 합니다. 사실 실버라이트가 윈도우를 쓰다 보면 자연스레 설치되는 놈이라 자연스럽게 쓰는 것일 수도 있습니다. 그런데 마이크로소프트도 지원을 끊은지 오래인데 아직까지 실버라이트를 고집하는 배짱은 대체 무엇일까요?
(제 생각에는 그냥 똥배짱입니다. 시스템을 바꿀 자금이 부족하거나)


그런데 우분투에서 어떻게 마이크로소프트의 실버라이트를 쓸 수 있을까요? 방법은 두 가지가 있습니다.

1. moonlight라는 실버라이트 호환플러그인을 설치한다.http://www.mono-project.com/Moonlight

2. Pipelight로 실버라이트를 Wine과 조합해서 플러그인을 구동한다.http://pipelight.net


1.경우는 속도는 빠르지만 실버라이트3까지 완벽 지원이며 실버라이트4는 일부 호환입니다. 실버라이트가5까지 나왔다는 사실을 아는 사람은 별로 없는 것 같네요. 적당히 구동은 되지만 저 일부 사이트들 중에서 실버라이트5를 요구하는 (망할)사이트가 있어서 어쩔 수 없이 2.의 방법을 써야 할 것 같습니다.


일단 실버라이트5가 리눅스환경에서 무사히 구동이 된다는 것에서 안심을 해야 할 것 같네요. 참고로 PipeLight는 Windows용 Flash플러그인도 구동지원됩니다. 리눅스용 Flash가 10.x에서 멈춘 지금, 최신플러그인을 요구 할 경우 대용으로 쓸 수 있습니다. 물론 구동 속도는 보장 못합니다. 


Pipelight를 한번 설치해서 Silverlight를 구동해 봅시다. 우선 Pipelight를 설치해야겠지요?

우선 터미널을 열고 다음과 명령을 순차적으로 내립시다.


 

sudo add-apt-repository ppa:pipelight/stable
sudo apt-get update
sudo apt-get install --install-recommends pipelight-multi
sudo pipelight-plugin --update

첫 번째 명령어는 PPA를 등록하는 명령어 입니다.

두 번째 명령은 새로운 패키지 리스트를 가져오는 명령어 입니다. 즉, 패키지 리스트에 Pipelight를 가져오는 과정입니다.

세 번째 명령은 Pipelight를 설치하는 명령어입니다. --install-recommends 옵션은 같이 추천하는 패키지를 설치하란 것입니다. 이 때 Pipelight 전용 Wine이 설치됩니다. 브라우저 플러그인 전용으로 특화된 Wine입니다.

네 번째 명령어는 플러그인 업데이트 리스트를 받아오는 명령어입니다. 사실 이 순간에도 새로운 플러그인이 지원이 될 가능성이 있습니다. 최근의 Pipelight는 Unity3D Web Player도 지원이 되더군요. 이제는 웹 게임도 우분투에서 3D로 구동할 수 있다니 무서운 세상이군요.


이제 실버라이트를 활성화 해봅시다. 같은 방법으로 Flash도 활성화 가능한데 이것도 터미널을 이용해야 합니다. GUI가 아직 지원이 될 가능성은 없어 보이기 때문에 어쩔 수 없습니다. 터미널과 친해지는 수 밖에 없습니다.




sudo pipelight-plugin --enable silverlight


끝입니다. 이제 Firefox나 Chrome에서 실버라이트를 사용하는 (망할)사이트에 들어가면 잠깐 Wine구동 메시지가 뜨더니 실버라이트가 작동하는 것을 보실 수 있을 겁니다. 만약 해당 사이트가(정말로 망할)OS차별을 한다면 Agent Switcher같은 확장기능을 써서 Windows로 속이시면 간단합니다. (실버라이트는 원래 브라우저 구별은 안 합니다. 단지 Windows에서만 된다는 것이 문제입니다. 그런데 이것 때문에 웹디자이너분들이 Windows외의 OS접근을 막는 경우가 종종 있습니다.)


비슷하게 Flash 11이상 버전을 요구하면



sudo pipelight-plugin --enable flash

이렇게 해주시면 됩니다. Firefox야 문제 없는데 Chrome은 자체 내장 Flash때문에 고생을 한다네요. 어차피 Chrome내장 Flash는 버전이 높으니 굳이 pipelight를 통하지 않아도 됩니다. Firefox를 이용하시는 분들이 이용해 주시면 좋을 것입니다.


http://pipelight.net/cms/installation.html

Pipelight에 우분투 계열 외의 다른 OS나 실버라이트,Flash외의 다른 플러그인을 설치하실 분들은 위의 주소로 가시면 자세히(영어로) 설명되어 있습니다. 



이미 버려진 기술인 실버라이트를 쓰기 위해서 이런 삽질을 해야만 한다니, 정말 짜증이 올라오는군요. 그런데 어쩌겠어요. 해당 사이트를 안 쓸 수도 없는 노릇이고 그렇다고 굳이 윈도를 부팅하기는 더더욱 싫으니 그냥 이렇게라도 써야지요. 역시 오늘도 우분투는 삽질입니다.

,

저번 포스팅에서는 NDS 에뮬레이터에 대해서 포스팅을 했습니다. 우리나라에 NDS가 들어오던 시절에 또 다른 휴대용 게임기가 있었지요. 바로  PSP입니다. 제가 처음 PSP란 놈을 봤을 때가 아마 2000번대였던 것으로 기억합니다. 1000번대가 나오던 시절에는 제 친구들과 주변인 모두 가난한 학생이었고 굳이 PSP를 사야겠다는 생각이 들 정도로 재미있는 게임은 없었습니다. 즉, 견인차 역할을 해주던 메인 타이틀이 없었던 것이지요. 


그러다가 한국에서 견인차 역할을 해준 대중적(?) 게임이 하나 등장하게 됩니다. 그 물건이 바로 DJMAX Portable입니다. 저번 NDS 에뮬레이터 이야기에서 포켓몬스터가 주류로 나왔다면 이번 PSP에서는 이것이 주류로 나올 것입니다. 몬스터 헌터나 페르소나 시리즈도 PSP의 견인차 역할을 하기는 했지만 제가 Djmax portable나오기 이후의 이야기인데다가 제가 처음 PSP란 놈을 본 것도 다 DJMAX Portable시리즈 때문에 PSP를 사 들고 나타난 놈이 있어서 이 게임을 테스트 게임으로 삼아야 할 것 같습니다.


우선 에뮬레이터 이야기 하기 전에 게임기 이야기를 마저 하자면 PSP도 NDS 마냥 지하철 한 칸에 여러 사람이 들고 있지는 않아도 최소한 지하철을 생각 없이 돌아보면 들고 있던 사람이 보이는 그런 수준으로 꽤 많이 팔린 게임기 입니다. DJMAX Portable 출시 이후로는 학생들도 심심찮게 들고 다니는 모습이 많이 보이더군요. 그 뒤에 판매량이 좋아지고 2000번대와 3000번대 등의 신제품들이 나오면서 PSP도 휴대용 게임기로서의 역할을 충실하게 하게 됩니다. 물론 스마트폰들이 등장하면서 NDS와 함께 보기 힘들어진 같은 운명을 걷게 되기는 합니다. 하지만 역시 NDS와 마찬가지로 게임들 자체는 상당히 재미있는 것들이 많아서 인기 있던 게임기라면 통과의례로 겪는 에뮬레이터들이 만들어지게 됩니다. 그러나 구조가 비교적 간단했던 NDS와는 다르게 PSP는 생각보다는 복잡했던 모양입니다. 애초에 기기 성능도 조금 더 높고 게임 데이터 양도 훨씬 더 많아서 그럴 수 있겠다는 생각도 들지만 각종 홈브류(게임기 제작 업체로 부터 인증받아 정식 판매되는 승인된 게임이나 프로그램이 아닌 개인이 만들어낸 게임과 프로그램)들이 개발되는 것과 비교해서 에뮬레이터 개발은 비교적 늦은 편입니다. 그러다 어느날 한 에뮬레이터가 등장하게 됩니다. 그 이름은 Jpcsp입니다.


Jpcsp의 초기 화면 여느 프로그램 마냥 간단한 화면이다. 그런데 일부 라이브러리가 인식이 안 되서 구동하는데 조금 애먹었다.


PPSSPP 이야기 한다면서 갑자기 왜 Jpcsp 이야기냐고 하시는 분이 있을 것 같아서 말씀드립니다. 사실 PPSSPP가 지금의 호환성과 성능을 갖추게 되기 전까지 PSP에뮬레이터는 이 물건이 전부였습니다. 그리고 이 Jpcsp가 갖고 있던 문제는 PPSSPP가 해결하는 수순으로 갔고요. Jpcsp가 없었다면 지금의 PPSSPP가 나왔을 것이란 생각은 하기가 어려울 수도 있습니다. 그리고 다른 PSP에뮬레이터가 있었기는 했지만 이 물건이 가장 호환성이 좋았습니다. 다른 에뮬레이터는 그저 홈브류 개발 및 테스트용으로 만들어져서 홈브류를 구동하는 수준이었습니다. 하지만 Jpcsp는 본격적으로 정식 판매되는 UMD를 지원한는 에뮬레이터였습니다.


그런데 Jpcsp는 초기 단계라서 그런 것인지 문제가 여기저기서 터져나왔습니다. 이를 해결 하기 위해 정말 많은 사람들이 머리를 싸맸습니다. 지금은 Jpcsp의 태생적으로 해결이 안되는 것도 있고 PPSSPP가 해결한 문제도 있습니다.


첫번째 문제는 오디오코덱 문제입니다. PSP는 소니의 코덱기술을 사용하고 있는데 이것이 저작권 및 특허가 걸려있어서 에뮬레이터 개발에 문제가 되는 것이었습니다. 어느 분들은 에뮬레이터인데 그냥 가져다가 쓰면 안 되냐는 사람도 있을 지도 모르겠지만 에뮬레이터는 불법이 아닙니다. 하지만 특허가 걸린 기술을 가져다가 마음대로 사용하면 그 프로그램 자체가 불법으로 낙인 찍힙니다. 아니면 로열티를 내야 하는데 소니가 에뮬레이터의 로열티를 받으면서 허용해 줄 것 같습니까? 그래서 Jpcsp는 한동안 소리없이 에뮬레이터를 작동시켰어야만 했습니다. 이후의 사운드포지(소니가 만든 프로그램입니다.)의 라이브러리를 이용해서 우회하는 방안을 통해 재생시키는 법을 이용했지만 소리는 나와도 거의 누더기마냥 돌아가는 방식이라 가뜩이나 떨어지는 성능에 성능을 더 떨어뜨리는 방법이었습니다. 게다가 리눅스나 MacOSX는 써먹지도 못하는 방식이었고요. 지금도 오디오 코덱은 해결이 안 된 것으로 알려져 있습니다. 그런데 PPSSPP는 우회 리버스 엔지니어링으로 해결했다고 하네요?


두번째 문제는 자바로 만들어진 것입니다. 자바로 만들어서 여러 OS를 한번에 지원해주지만 문제는 자바이기에 속도가 C나 C++로 만들어진것에 비해 상당히 떨어집니다. 이 문제가 아까의 오디오코덱문제와 합쳐져서 엮이면 극악의 성능으로 바뀝니다. 요즘이야 PC성능이 좋아서 이 마저도 씹을 수 있을 정도지만 기기의 최고 성능으로 끌어내야할 게임이란 소프트웨어가 성능이 떨어진다면 문제가 많은 것이지요. 그래서 사람들은 C나 C++로 개발해달라고 아우성이었지만 Jpcsp가 원래 자바로 만든 에뮬레이터라는 뭔가 상당히 Geek스러운 물건이라 굳이 C로 다시 만들 이유야 없었습니다. 잠시 PCSP라는 C++로 만들어진 물건도 나왔지만 이것은 호환성이 너무 떨어져서 그대로 묻혀버렸습니다.

Jpcsp에 비해 빠르지만 호환성이 너무 떨여저서 묻힌 에뮬레이터 PCSP 이마저도 PPSSPP의 등장으로 2012년 이후 업데이트 중단이다.

세번쨰 문제는 오픈소스가 아니라는 것입니다. JAR파일 형태로 배포하기 때문에 만약 개발자가 때려치면 이 에뮬레이터의 수명은 그대로 끝이 나게 됩니다. 에뮬레이터의 특징 상 누군가가 소스를 받아주지 않으면 그냥 사라지는 것입니다. 위의 PCSP도 소스코드에 대한 이야기는 없는 것으로 보아 오픈소스가 아닌 것으로 보입니다. 오픈소스라면 묻히더라도 나중에 누군가가 다시 발굴해서 써먹을 지도 모를 일이고 다른 프로그램에 일부로써 쓸 수도 있습니다. 하지만 에뮬레이터라면 묻힐 일이 거의 없기도 하지요.


이러한 기존 Jpcsp의 문제를 극복하고 해결한 에뮬레이터가 바로 이번에 주인공인 PPSSPP입니다.


PPSSPP의 타이틀화면 다른 에뮬레이터랑 다르게 화려한 편이다. 그리고 오픈소스라는 것을 강조하기 위해 GPL이라 찍혀있는 것이 선명하다.

이 물건은 앞의 Jpcsp와의 차이가 큰 물건입니다. 앞에서 말했던 성능문제를 C/C++로 개발함으로써 해결했고 오디오코덱을 리버스엔지니어링을 통해서 저작권 및 특허를 회피했으며(이는 처음부터가 그랬던 것은 아니고 업데이트 하면서 해결했습니다.) GPL을 적용해서 배포한 오픈소스 프로그램입니다. 한번에 Jpcsp의 문제를 전부 해결했습니다. 이 에뮬레이터가 나오면서 게임을 즐기기위해 Jpcsp를 돌렸던 사람들은 전부 PPSSPP로 넘어왔다고 합니다.Jpcsp는 게임을 즐기기 보다는 자바로 만들어진 것이라는 그 사실이 워낙 특이하고 재미있어서 나온 것이니 Jpcsp가 묻힐 일은 없지만, 대세가 아무래도 PPSSPP로 넘어갔다는 사실은 확실히 와 닿는 것 같습니다.


그리고 PPSSPP가 Jpcsp뿐만아니라 다른 에뮬레이터와 차이를 보이는 것이 하나 더 있는데 그것이 바로 Android버전의 계획입니다. 다른 에뮬레이터는 안드로이드 버전과 PC버전을 다른 프로젝트로 생각하는데 비해(DeSmuME와 nds4droid, PCSX와 PSX4droid, FinalburnAlpha와 aFBA의 관계와 비슷합니다.)PPSSPP는 안드로이드버전도 같은 프로젝트 내에서 개발합니다. 즉, PPSSPP의 PC버전이 0.9.8이면 안드로이드 버전도 동시에 0.9.8로 업데이트 되는 것입니다. DeSmuME의 업데이트 이후 시간이 지난 후에 nds4droid가 업데이트되는 것과는 차이가 납니다. 덕분에 안드로이드에서 PSP게임을 돌릴 수 있게 됨으로써 지하철에서 보기 힘들어진 PSP는 스마트폰에 의해 또 다시 밀리게 됩니다. 그런데 이미 팔릴만큼 팔렸고 더 이상 소프트웨어도 안 나오는 판국에 밀릴 것도 없기는 하지만 PSP용 게임이 다시금 수요가 생길 지도 모른다는 생각이 드네요.(그것이 거래량에 추가 될지는 미지수이기는 합니다.)


그러나 같은 프로젝트 내에서 같이 업데이트되는 안드로이드와 PC버전은 코드가 약간 다른 것인지 소프트웨어 호환면에서 약간 차이를 보입니다. 일부 게임의 경우 PC버전에서는 구동이 잘 되지만 안드로이드에서 구동이 안 된다는 사람들이 많으며 반대로 안드로이드에서는 구동이 잘 되는데 PC에서 안 된다는 게임도 있습니다. 이것이 Arm과 x86의 차이일지 아니면 코드가 다른 것인지는 조금 살펴봐야 알 것 같지만, (일부의 소스코드가 다른 듯 합니다.안드로이드에서 무사히 구동하게 위해 코드 최적화를 하면서 차이가 생긴 듯 합니다.) 오픈소스이니 잦은 업데이트로 해결 할 수 있을 것이라고 믿습니다.


안드로이드와 PC 모두 잘 돌아가는 대표적인 게임 DJMAX Portable 2


PC에서는 잘 돌아가는 반면 안드로이드에서는 돌아가지 않는 DJMAX Portable 3 같은 시리즈지만 구동면에서도 차이가 있다. 2015.5 지금은 안드로이드에서도 무지하게 잘 된다...

안드로이드 버전에서는 써본 결과 터치 인터페이스가 상당히 불편합니다. 원하는 곳으로 이동이 안 될때가 있고 액션 게임의 경우에는 컨트롤 미스로 게임을 던져 버리고 싶을 때도 있더군요. USB-OTG를 지원하는 스마트폰이라면 그냥 조이패드를 붙여서 개임을 하던가 아니면 알아서 적응을 해서 게임을 하는 수밖에는 없을 듯 합니다. 특히 PSP는 워낙 버튼이 많아서 NDS게임을 스마트폰에서 하는 것에 비해 답답한 면이 많습니다.(NDS게임에는 대개 액션보다는 터치 게임이 많은 것도 한몫 합니다.) 이는 PPSSPP의 잘못이 아니기는 하지만 개인적으로 전용 컨트롤러를 하나 만들고 싶게 하는 수준입니다. 일반 조이패드를 끼우고 지하철에서 할 수는 없는 노릇이니까요.


버튼수가 너무 많아서 터치 인터페이스 자체를 거의 덮을 지경. 컨트롤 미스라도 나면 정말 화가 머리끝까지 난다.


하지만 내 학생시절 부러워 했던 PSP를 지금의 스마프폰에서 굴릴 수 있게 된 점은 상당히 마음에 듭니다. 특히 DJMAX Portable시리즈를 입맛만 다시고 제대로 한 적은 없는데(대신 PC버전인 Trilogy는 열심히 했습니다.)이제야 할 수 있게 되었네요. 누군가 그랬습니다."최고의 게임기는 PC"라고 그랬지요. 이제 한 문장 더 추가되어야겠네요. "최고의 휴대용 게임기는 스마트폰입니다."

,