클로저스 일본판 후기

원래 클로저스 일본판은 세가가 서비스를 하고 있었지만, 올해 1월에 그만두고 HappyTuk 이라는 회사가 이어하게 되었다.

아마 칸코레 비타급의 게임을 팔아먹으려니 장사가 안 되었던 듯하다. 유명 성우도 잔뜩 쓰고 세가로서는 열심히 투자했지만 워낙 원본이 똥겜이라…

아무튼 원본이 워낙 똥겜인데다 일본판은 지역제한으로 시작 자체를 못했으므로 잊어버리고 살다가 이전 자체도 한참 지나서 알았는데, 며칠전에 원본을 한번 들어가본 김에 바뀐 일본판도 시험해보기로 했다.

일단 바뀐 HappyTuk(이하 HT) 이라는 회사가 무슨 회사인지부터 찾아봤는데, 요약에는 대만 회사라고 나오지만 채용정보를 보니 한국 회사같다. 아마 한국이 본거지고 요약에 나온 주소지는 지부인 것으로 생각된다.

채용정보에는 여러가지 한다고 나와있는데 검색결과에 클로저스 일본판이 제일 먼저 나와있는 걸 보면 거의 이거 말고는 되는 게 없는 거 아닌가 싶다. 아무튼 방문해보면…

한글과 일본어가 섞여있는게 만들다 만 것처럼 생겼다. 설명에 의하면 브라우저의 언어에 따라 다르게 보인다라고 설명하고 있는데 음… 이것도 나왔다 안나왔다 하는게 아무래도 물건너에서도 한글이 튀어나올 것 같다.

아무튼 일단 설치부터 하기로 하고 다운로드나 설치 메뉴를 찾아본다. 그렇데 첫 단계부터 웃긴다.

런처와 게임 다운로드가 따로 존재한다. 여기까지는 특이할 게 없지만 보통은 둘 중에 하나만 선택해서 진행하게 된다. (런처 설치로 진행하면 게임 설치보다 스텝이 늘어나는 정도의 차이만 있는 정도) 하지만 여기는 둘 다 모두 설치해야 진행된다. 벌써 수상하다.

아무튼 런처와 게임(?)을 모두 설치하고 홈페이지에서 게임 실행을 누르면 런처가 실행된다.

가입까지는 문제가 없지만 패치부터 지역제한이 걸렸던 세가와 달리 HT판은 이러한 제한이 없다. (원칙적으로 허용되는 것은 아니고 이용약관에는 일본 외부에서의 접속을 금지한다는 조항이 있다. 다만 서버 자체도 미국에 있고 별로 규제할 생각이 없는 듯하다.) 그런데… 다운로드 속도와 예상 시간이 가관이다. 0.05MB/s(=50KB/s) 에 예상 시간이 30시간이다.

진행하는 모습을 지켜보면 이유를 알 수 있는데, 수십kb 가량의 6만개에 가까운 파일을 순차적으로, 하나씩만 다운로드 하기 때문이다. 세상에, 지금 쓰고도 미친 소리 같지만 사실이다.

참고로 원본도 동일한 방식으로 패치한다. 이러니 세가가 그만둘수밖에…

일단 시작한 것, 오기가 생겼다. 다운로드할 파일의 리스트를 추출한 후 직접 다운로드하면 훨신 더 시간이 절약될 것으로 생각하여 작업을 시작하기로 했다.

먼저 다운로드할 파일의 리스트를 추출하는 작업부터. 처음에는 웹 서버에 접속해서 다운로드 받으므로 해당 웹 서버가 파일 리스팅을 지원하면 쉽게 목록을 얻을 수 있지 않을까 생각했지만 애석하게도 지원하지 않았다.

그 다음에는 .lua 파일 디컴파일을 시도해봤다. 추측해보건데 런처는 내부적으로 CLIENT_CODE.lua 라는 컴파일된 lua 스크립트를 실행하고 여기서 문제의 업데이트 작업을 실행하는 것으로 보였으므로 디컴파일을 시도해보았다. hex 값을 보니 컴파일된 lua 5.1 스크립트 헤더까지는 확인되었지만 검색해서 나온 몇 개의 디컴파일러를 시도했지만 성공하지 못했다.

마지막으로 Cheat Engine을 사용해보기로 했다. 처음에는 텍스트 후킹을 시도했으나 생각해보니 스크립트 파일의 5MB라는 크기로 보아하니 다운로드할 파일 목록을 하드코딩했을 것으로 생각되므로 프로그램이 실행 중이면 메모리상에서 문자열(string) 이 검색될 것이라는 생각이 들었다.

메모리 뷰를 열고

string map 을 디스크에 저장한다.

현재는 다운로드를 마친 상태라 StringCount 가 적지만 해당 작업이 진행중일 때에는 6만개 이상의 문자열이 추출된다.

그렇게 추출한 문자열들을 열면 다음과 같다.

00260C10 – Patch Speed 0.04 MB/sec Remaining Time 31:24:55
01020C8C – Patch Speed
01020FC8 – PATCH/PATCH_%04d_%u/
01021530 – Patch m_mapScrutinyCRC Not Find : %s
014CFAE0 – Patch Speed 0.04 MB/sec Remaining Time 31:24:55
02EB9D68 – PATCH/PATCH_0117_1449625937/DAT/DAT4/DAT2298.CMF
02EB9DE0 – PATCH/PATCH_0117_1449625937/DAT/DAT4/DAT2298.CMF
02EB9E58 – PATCH/PATCH_0117_1449625937/DAT/DAT45/DAT22980.CMF
02EB9ED0 – PATCH/PATCH_0117_1449625937/DAT/DAT45/DAT22980.CMF
02EB9F48 – PATCH/PATCH_0117_1449625937/DAT/DAT45/DAT22981.CMF

관계없는 문자열들도 있지만 필요한 문자열들이 잘 추출된 것을 확인할 수 있다.

다음으로, 목록이 준비되었으니 파일들을 다운로드 하는 일이 남았다.

처음에는 Task 를 대량으로 만들고 Task에서 HttpWebRequest 를 써서 다운로드하려고 햇으나 이렇게 하면 4개 Task 만이 실행되고 나머지는 waiting 상태로 대기만 하는 것으로 나타났다. 직접 스레드를 실행하거나 아니면 스케줄러를 조정해야 하나… 잘 모르겠다.

그러던 중 검색을 해보니 WebClient 클래스를 사용하면 파일 다운로드를 더 간단히 백그라운드로 처리할 수 있길래 적용했다. 하지만 이것만으로는 실제 접속 수가 늘어나는 것은 아니고 ServicePointManager.DefaultConnectionLimit 값도 변경해야 했다. 처음에는 10000 으로 했더니 OotOfMemoryException 이 일어나더라. 지금은 100 으로 변경했다.

아무튼 이렇게 해서 다운로드 받으니 1시간이 걸리지 않았다.

마지막으로, 시작할 때마다 웹페이지를 찾아가서 실행하고 권한 상승 프롬프트도 뜨길래 직접 바로가기를 쓸 수 있지 않을까 해서 찾아봤다.

로그인까지 문제없이 되는 것을 확인했다. 아마 플레이도 문제 없을 듯.

타겟은 다음과 같다.

“{installation path}\CW.EXE” “{installation path}\LAUNCHER.EXE” _LC 1 _L http://closerspatch.mangot5.com/closerspatch/live/

 

한 줄 요약: 역시 백수가 되니까 시간을 너무 낭비하는 것 같다.


결과를 저장하는 차원에서 짠 프로그램과 추출한 string map 을 첨부한다.

CLJP_DOWNLOAD

 

 

츠키모리 기담 이벤트 진절급 자동편성: 내성딜러 2

어제 돌리던 내성딜러 편성을 실수로 지워버린 김에 실비아를 빼고 코하루를 넣어서 수정해본 것. 코하루가 탱킹 스킬이 없긴 한데 방어력이 높아서 이상하게 탱킹이 잘된다.

방어력은 레이나 시온이 더 높은데도 코하루 어그로가 잘끌리네…


지켜보니까 이전 편성에 비해 성공률이 높은데, 코하루 탱킹이 좋아서 성공률이 높은 게 아니고 암흑 내성+전체공격으로 보스 옆의 졸을 잘 제거하는게 핵심인 것 같다. 첫타만 버텨내고 나면 보스보다는 속업때문에 졸의 데미지가 더 많이 들어오는 듯.

9트째까지 지켜봤는데 모두 성공했다. 처음에 실비아를 넣었던 편성의 성공률이 70%(7/10) 에 7-9 번째 시도에서 실패가 나오기 시작했던 것과 비교하면 9회가 넘도록 모두 성공한 것으로 볼 때 이 편성은 90% 이상의 성공률을 기대할 수 있을 것 같다.

특히, 이렇게 멤버가 2명 이하로 남는 상황은 8번째 시도에서만 발생한 것 같고 (그 전에 시도를 모두 지켜보지는 않아서 사실 잘 모르겠다.) 끈질기게 잘 버텨서 클리어 즈음에는 멤버 3명까지 회복했다.

하지만 1명까지도 내려갔던 걸 보니 잘못하면 실패할 가능성도 있을 듯 하다.


10트째에 첫 실패를 기록했다. 역시 졸을 하나도 처리 못한 상태에서 실패했다.

11트는 핸드폰에서 돌리다가 스크린샷을 깜빡했는데 실패했다.

12트째. 또다시 실패했다. 3번 내리 실패한 걸 보니 편성을 바꿔야 할 것 같다. 어째서지… 완벽한 작전이었는데

12트째에 실패하는 걸 지켜보니 보스 스테이지 넘어가기 전 3스테이지에서 힐과 방업을 모두 소모해버린 상태에서 보스의 첫 공격을 맞아버리니 수습이 안 되서 그런 것 같다. 스킬에 의존하기보다 방어 스탯 자체를 더 올리던지 다른 방안을 찾아봐야겠다.

Nox 가 이걸 해냅니다

아이폰으로 50연 하다가 안 나오길래 플롯폼을 바꿔서 PC판, 안드로이드판(Nox) 로 해봤는데…

PC판은 그냥 형편없는 결과가 나왔고, Nox 가 대박을 침.

ㅋㅇ 이것으로 이번 콜라보도 컴플리트했다. 저번 주문토끼도 한 80연 했던 것 같으니 비슷하게 든 듯. 처음에 4성이긴 하지만 원하지는 않았던 멤버(주문토끼 때는 츠무기, 이번에는 아이리)가 나왔던 것도 비슷하고… 지난번 때에는 3성인데도 거의 끝나기 직전에 겨우 먹었던 것을 생각하면 이번에는 4성이라 혹시 못 먹는 것이 아닌가 걱정을 많이 했었는데 정말 다행이다.

버추얼 타워 37층 SSS 달성기념

40층까지 C만 받으면서 겨우겨우 한층씩 깼던게 얼마 전인데 이번엔 37층에서도 SSS를 받는구나. 기념으로 한장.

는 벌써 3달이나 됐구나.

그건 그렇고 43층까지 확장되면서 40층이 최대일 때에 비해서 40층 이하의 난이도는 낮아진 게 아닌가 싶은 느낌도 든다. 41층 너머가 옛날 40층 느낌인듯.

바니걸 & 레오타드로 오르타나 신체측정

기존에 썼던 글의 업데이트이지만 PC판 및 토끼팀, 레오타드 의상 추가로 고해상도로 모두 재촬영하여 다시 작성하였다. 이전에 썼던 코멘트는 인용으로 표기되어 있다.

전체적으로 레오타드는 흰색이어서 그런지 바니걸에 비해 의상이라는 느낌보다 속옷이라는 느낌이 강해서 배덕감이 더 강하게 느껴진다. 그래서 요즘은 다시 모두 바니로 돌려놓음.

 

모두가 행복한 타와와 라인


1. 시온

B91 W60 H88

누구도 부정할 수 없는 원탑. 시온 짱! 최고다!

바니 때는 참 좋았는데 레오타드 의상은 배덕감이 너무 심하게 들어서 입히질 못하겠다.

 

2. 슈크림

B88 W64 H89

모두가 좋아하는 슈크림… 이라고 하기엔 사실 개인적으로는 별로. 목소리가 좀 취향이 아니라서…

목소리는 최근 익숙해진 편인데 요즘엔 다른 4성이 많아져서 잘 쓰지 않는 편. 아마 확대 비율은 똑같을 텐데 위치 때문인지 레오타드를 입혔을 때 더 가슴이 커 보인다.

 

3. 히나

B87 W56 H82

토끼팀 추가와 함께 혜성같이 등장한 신인. 스리사이즈가 공개되기 전엔 시온의 자리를 위협하는 것이 아니냐는 기대도 있었지만 업데이트 결과 슈크림에 약간 모자라는 B87 인걸로 밝혀졌다.

사실 히나는 첫 등장의 교복에서의 임팩트가 더 대단하기 때문에 바니걸보다도 교복 쪽이 더 가슴이 강조되어 보이는 것 같다. 처음엔 시온보다도 큰 줄 알았다… 나중에 나란히 놓고 비교해 보니 시온 쪽이 더 크긴 크더라. 가슴 크기는 크게 차이가 안 나는데 키 차이는 크게 나서 그런 듯.

히나 교복

 

분쟁이 끊이지 않는 프론트라인.


4. 레이

B85 W57 H83

가드가 튼튼해서 정확한 측정이 어렵다. 슈크림의 뒤를 잇는 3위인데… 어깨가 얇아서인지 겉보기에는 작아보인다. 다른 사이즈는 유이나 미야카와 비슷함에도 B85 이면 큰 것임에는 분명하지만 그래도 아쉬움이 남는다.

히나의 등장으로 인해 4위로 추락한 레이. 이전에는 키 때문인지 확신을 갖지 못했는데 이젠 확신을 갖고 말할 수 있다. 레이의 가슴 수치는 거짓임에 틀림없다…! 비슷하게 키가 작은 히나의 자기주장이 격렬한 것을 생각할 때 레이 또한 경쟁자들에 비해 우월해야 하는데 그렇지 않은 걸 보니 이 수치는 가짜다.

근데 순위 교정하려면 골치아프므로 그냥 냅두기로. (…)

 

5(공동). 실비아

B84 W57 H88

레이 이상으로 가드가 튼튼해서 이 시점에서밖에 각이 안 나온다. 수치상으로는 4위이지만 모델링만 봤을 땐 이 쪽이 3위 아닌가 싶다.

기본 자세 때문에 체형이 드러나는 자세를 취할 때까지 클릭해야 하는데 PC판의 문제인지 갈아입기에선 잘 반응을 안해서 측정하기가 굉장히 힘들었다. 그래서 레오타드 찍을 땐 좀 대충 찍음.

심지어 이 글 쓰는데 섬네일에서도 구분이 잘 안되서 한참 찾음. 측정에 있어선 완전 골칫덩어리.

 

5(공동). 마치

B84 W59 H87

실비아와 수치가 똑같고 모델링으로도 비슷한 것으로 보이지만…

무기 타입이 겹치는 관계로 거의 항상 실비아의 하위호환(…) 정도의 취급이어서인지 가슴 사이즈에서도 하위호환인 듯한 느낌이… (……)

요즘 어딘가에서 마노코 소리를 듣긴 하지만(…) 측정에 있어서만큼은 실비아와 비교불가. 압도적으로 친절한 마치씨.

 

5(공동). 렌

B84 W59 H85

히나와 함께 등장한 렌. 히나만큼은 아니지만 역시 부족하지 않은 몸매를 자랑한다. 덕분에 안 그래도 2명이나 있었던 84라인이 이제 3명이 됐다…

레오타드보다는 바니 쪽이 좀 더 커 보인다.

 

8. 나카○시=상

B83 W58 H85

의외로 6위를 차지해 선전한 노노. 역시 나카○시 파워인가…

아무것도 안 했는데 졸지에 6위에서 8위로 추락한 노노. 그래도 하위 2명이 추가되서 전체 순위는 유지하게 됐다.

 

9. 아이리

B82 W57 H86

의외로 순위가 낮은 아이리. 갸루의 자존심은 어디로

근데 어깨 때문인지 실비아와 마찬가지로 수치에 비해 더 커 보인다.

마치와 더불어 포즈 잘 취해주는 오르타나 중 1명.

 

마지노 선. 女の子의 존엄이 달린 최후의 보루이다.


10. 홋케

B81 W57 H82

좋은 의미로도 나쁜 의미로도 무난한 미야카. 특별히 뛰어난 건 없지만 크게 뒤떨어지는 부분도 없달까…

 

11(공동). 유이

B80 W56 H81

아슬아슬하게 80 라인에 턱걸이. 큿 라인에 들어갈 줄 알았더니 의외였다.

실비아만큼이나 측정하기 어려운 오르타나 중 하나. 실비아와는 달리 빈약하기에 아-주 대충 찍음.

 

11(공동). 치호

B80 W56 H80

토끼팀에 추가된 SM 자매 중 동생. 언니와는 다르게 간신히 턱걸이로 “큿” 만은 면했다.

개인적으로는 이런 S 캐릭터는 별로 마음에 들지 않는다. 애정이 드러나지 않는 일방적 가학행위는 내 가치관과 맞지 않는다.

 

큿……….


13. 사쿠라코

B77 W55 H80

아이돌 가능할까 이젠 오직 큐트계 아이돌 뿐이야

아무것도 안 했는데 3위나 추락한 4쿠라코. 아니, 아무것도 안 했기 때문인가…

 

14. 미유키

B75 W53 H79

이번에 추가된 SM 자매 중 언니. M을 담당한다.

CV는 달콤한 목소리가 참 마음에 들었는데… 다만 너무 빈약한 몸인게 아쉽다. 그리고 가슴 터치 등을 할 때의 반응이 너무 과장된 것 같다. 구체적으로 말하자면 너무 모션이 길어서 작위적인 느낌이 난다.

머리가 길어서 측정에 애로사항이 필… 줄 알았는데 의외로 왼쪽에서 찍으니 어려움이 없었다.

 

15. 나오미

B73 W56 H74

… 나오미 성우는 아메바에 항의해도 되지 않을까. 너무 버림패의 느낌이 강하게 드는데…

츠무기와 더불어 가장 낮은 곳에서 히토미 학원을 지…킨…다…. 여전히 뒤에서 2등을 지킨 나오미.

 

16. 츠무기

B70 W54 H69

역시 예상대로 최후는 츠무기. 이건 여동생 캐릭터의 숙명같은 게 아닐까…

가장 빈약한 몸의 츠무기지만 배덕감보다는 귀여움이 더 강조되는 불가사의. 역시 고양이 효과인가…

던전 타운 클리어

클리어 메시지는 캡처를 못한 관계로 도감의 최종보스라도.

총 클리어 시간 38시간. 상당히 오랫동안 재미있게 즐길 수 있었던 작품이었다.

서큐버스의 정기 흡수를 시스템으로 만들어 정기를 흡수당한다-> 레벨이 내려간다 라고 하는 구조를 만들어 RPG들의 고질적인 문제인 고레벨에서의 레벨업 적체 문제를 재미있게 해결했다. 경험치 업 버프를 받고 고레벨 몬스터를 잡으니 레벨업도 쑥쑥 이뤄지고.

흠 근데 38시간이나 했는데 아직도 빈 공간이 많다. 2회차를 해야 메꿔지나?

드래곤 10연승

포르테 10연승 기념으로 올려본 것.

로얄이 알베르로 잘나갈 때도 못했던 10연승을 이번에 드래곤으로 했다. 역시 이번 팩 드래곤이 사기인듯. 물론 그 위에 더 사기인 어그로네크가 있지만…

참고를 위해 덱도 올려본다.

달려용

무녀 프리미엄 카드 나온게 아까워서 무녀 3장만으로 만들 수 있는 덱을 구상하다가 질주덱을 만들었다. 젤은 1장이 어쩌다 나와서, 바하무트는 10코 팔로워가 제네시스만 있는게 답답해서 억지로 가루를 짜내서 껴봤고 카오스 드래곤은 짝퉁 용기병인데 콜라보 미션으로 주길래 껴봤는데 예상외의 시너지가 있는듯.

다만 드래곤이 언제나 그렇듯이 PP 펌핑이 하나도 안되면 그냥 진다. 아직 D랭이라 제대로 된 어글넥도 못 봤는데 아마 어글넥에게도 밀릴 듯. 아무튼 더 굴려봐야겠다.

얼터너티브 걸즈 전체화면 지원 유틸리티

https://bitbucket.org/archangel179/alternative-girls-fullscreen-support/overview

음.. 이거 쓰면서 생각난건데 이름을 “utility”로 끝낼 걸 그랬다는 생각이 든다. 뭐 이미 repo 도 만들었으니 그냥 냅둬야지.

설정 파일 연습 겸 만들어본 것. 설정 파일에 대한 지원을 연습하기 위해 처음엔 리세마라 에이전트에 settings.properties 추가하는 식으로 접근했었는데 이 경우 테스트하기도 복잡하고 반드시 roaming 프로필에 저장된다는 점이 마음에 안 들어서 이번엔 app.config 파일을 추가하는 식으로 접근해봤다.

뭔가 굉장히 복잡하고 손이 많이 가는데… 으음 원래 이런가? 거의 못 쓸 수준인거 같은데… 설정에 대응하는 클래스를 만들고 그 클래스의 get/set 도 손으로 써야하고 section name의 경우는 하드코딩까지 해야하고… 뭔가 좀 설계가 잘못되었단 느낌이 든다.

만약 더 작업하게 되면 argument 로 전체화면 on/off 랑 모니터 선택 정도를 설정하도록 해야겠다. 처음 생각보다 이 둘은 건드릴 일이 많은듯.