반응형

이번 겨울 세일은 에픽에서 무료로 받은 게임들도 많고 해서 별다른 게임은 구입하지 않았고, 오블리비언만 저렴하게 나온게 있어서 스팀라이브러리에 추가 해 줄 겸해서 구입했습니다.

 

오랜만에 설치하고 한글모드와 몇가지 모드를 설치해서 게임을 구동했는데 바디모드 하나가 적용되지 않는듯 하더군요. 아무리 이런 저런 수를 써 봤는데 안되서 검색을 해 봤더니 저와 비슷한 질문을 한 사람이 있었습니다.

 

답변을 봤는데, 정확하게는 모르겠지만 스팀용 오블리비언은 뭔가 날짜쪽을 어떻게 해 놨다는듯.....(정확히 뭔말인지는 모르겠습니다 ㅜ.ㅜ) 이러저러한 이유로 redating(?)을 해야 한다....뭐...대충 이런내용이었던.....(맞나..?)

 

어쨌든 중요한건 그 답변대로 한번 해봤더니 되더군요. 그래서 그 방법을 간단히 적어 봅니다.

 

>

 

오블리비언에서 모드를 쓰신다면 oblivion mod manager(obmm) 정도는 필수로 설치 하셨을 거고요.

obmm 에서 위에서와 같이 Utilities 버튼을 눌러서 Archive invalidation 을 선택해 줍니다.

 

>

 

 

1 이라고 표시해둔 Reset BSA timesatamps 버튼을 한번눌러줍니다. 별다르게 창이 뜨거나 메시지가 뜨지는 않으니 한번만 눌러줘도 됩니다.

2 BSA  redirection 은 특별히 건드리지 않았다면 기본으로 선택되어 있지만 한번 확인해 줍니다.

3 update now 를 눌러주고 작업이 끝나면  Done 이라고 나오는 다이얼로그 박스가 뜹니다. 확인을 눌러서 다이얼로그박스를 닫고 오른쪽위의 X 버튼을 눌러 창을 닫습니다.

 

그런후에 확인해 보니 제 경우에는 모드가 제대로 적용되더군요.

 

>

 

제 경우는 이 작업을 해 준 후에 영어로 나오던 메뉴 몇군데도 한글로 제대로 표시되기 시작했습니다.(물론 한글모드를 설치한 상태에서) 타이틀 화면의 메뉴와 게임중 ESC 눌렀을때 나오는 메뉴가 이작업을 해 주기전엔 영어로 나왔었거든요.

 

오블리비언의 모드 작업에 대해선 잘 모르는 관계로 더이상의 자세한 설명은 저도 할 수가 없고요. 요즘 이 게임을 새로 설치해서 하는 분들은 많지 않으실 테지만 그래도 늦게나마 해보고자 하시는 분들은 뭔가 이상하면 한번씩 시도해 보시길 바랍니다.

반응형

이런 게임을 탑다운 슈터 라고 분류를 하더군요. 제작사는 10tons 라는 회사로 탑다운 슈터 게임을 계속 만들어 온 회사라고 합니다. 나름 평가가 좋은 게임입니다.

 

타이틀화면

이 게임은 무려 한글화가 되어 있습니다. 게임 장르상 언어의 장벽은 그다지 없는 게임이긴 하지만 어쨌던 한글은 좋은것이죠. ^^;

 

>

 

스테이지

위와 같은 식으로 한 스테이지씩 하나하나 진행해 가면 됩니다.

 

>

 

스테이지 진행중

리스폰 되는 적을 계속 제거 하면 됩니다.

처음 무기는 권총이지만 리볼버, 기관총등 다른 무기들이 리스폰 되어 무기를 바꿔가며 싸울수 있습니다. 위에서 처럼 Y 버튼을 누르라고 나오면 특정 성능을 업그레이드 할 수 있는데요.

 

퍽 선택

Y 버튼을 누르면 위와 같이 선택화면이 나옵니다. 원하는 퍽을 선택해 주면 됩니다.

 

>

 

스테이지 클리어

무사히 스테이지를 클리어 하였습니다. 그러면 다음 스테이지로....

 

>

 

탑다운 슈터 게임으로 잘 만들어 졌다고 소문이 난 게임입니다. 제가 별로 즐기는 장르는 아니지만 잠깐 해 본 바로는 괜찮은 게임인것 같습니다.

이것도 최근에 번들로 구한게임인데 이런 저런 번들에 포함되고 있으니 저렴한 가격에 즐기실수 있습니다.

반응형

게임을 구입할 수 있는 상점들은 여러개 있지만 가장 유명한 곳은 단연 스팀(Steam) 이라고 할 수 있습니다. 이러한 스팀의 경우에는 일반 Windows 뿐 아니라 MacOS 와 Linux 게임도 판매하고 있습니다.

 

리눅스에서 스팀클라이언트를 실행해서 보다 보면 다음과 같은 내용이 있는 게임이 있습니다.

 

게임을 Steam Play 를 통해 실행한다고 쓰여져 있습니다.

 

그렇다면 Steam Play란 무엇인가?

 

리눅스 사용자라면 Wine 을 들어본 적이 있을것입니다. Wine 은 리눅스에서 윈도우즈 라이브러리인 Win32 를 구현한 것으로 리눅스에서 윈도우즈 실행파일을 실행할 수 있게 해 주는 프로그램입니다.

이 Wine 을 Steam 측에서 수정하여 윈도우용 게임을 리눅스에서 좀 더 원할히 실행할 수 있도록 하는것이 바로 Steam Play 입니다. 스팀에서는 이 프로그램을 Proton 이라고 부르고 있고요. Proton 은 Wine을 해당게임이 더 잘 실행되도록 수정한것으로 소스도 공개되어 있고 자신만의 Proton 을 만들어서 게임을 실행하는데 적용하는것도 가능하다고 FAQ 에 써 있습니다.

 

하지만 Wine 으로 모든 윈도우 게임이 실행 가능하지 않은것 처럼 Proton도 그렇습니다. 따라서 모든 윈도우 게임이 스팀플레이로 리눅스에서 잘 실행되는 것은 아닙니다.

 

스팀에서는 스팀플레이로 잘 실행되는 게임을 리눅스 게임쪽에 표시해 주고 위에서처럼 그런 게임들은 스팀플레이로 실행된다고 알려주고 있습니다.

 

리눅스용 스팀에서는 스팀 플레이에 대한 설정부분이 있습니다.

 

위 스크린샷에서 보면 두개의 설정이 있습니다.

위의 설정은 스팀플레이로 플레이 가능한 게임을 표시해 주겠냐는 것입니다. 이 게임들은 Steam측에서  플레이 가능여부를 테스트 해 본 게임들이기 때문에 실행에 문제는 거의 없을 것입니다.

 

아래쪽 빨간색으로 표시해 놓은 곳은 모든 다른 게임들을 스팀플레이로 실행하겠냐는 설정입니다. 이 경우는 스팀에서 실행여부를 테스트 하지 않았거나 실행에 이런저런 문제가 있는 게임들이기 때문에 게임들이 잘 실행될지는 알 수 없습니다. 그냥 한번 시도해 보는 거죠. ^^;

제 경우는 아래쪽 설정을 사용해 보진 않았습니다. 하지만 리눅스에서 실행해 보고 싶은 게임이 있다면 한번 시도해 보는 것도 손해 볼 건 없겠지요.

 

>

 

스팀 플레이용 게임을 설치해 보면.....

 

이와 같이 Proton 을 함께 설치합니다. 게임이 77.4MB 인데 Proton이 354.3MB 네요. 게임보다 용량이 더 큽니다. 앞에서도 이야기 했듯이 Wine 은 Win32 라이브러리를 구현한 것이니 용량이 큰것도 이해가 갑니다.

 

 

설치가 끝나고 게임을 실행해 보면 위와 같이 Steam Play 로 게임을 실행한다고 알려줍니다.

 

 

실행해보니 잘 됩니다. ^^;

 

>

 

스팀 플레이로 실행되는 게임이(스팀측에서 테스트 완료한 게임) 아직은 그렇게 많지 않은 것 같습니다. 하지만 점점 늘어난다면 리눅스에서 즐길 수 있는 게임이 늘어나게 되니 어찌되었던 좋은일이 아닐 수 없습니다.

 

참....Steam 에서 이런 기능을 넣을지는 몰랐네요. 아무튼 박수를 보냅니다.

 

반응형

스카이림을 안한지가 좀 되었는데 이번에 한번 다시 시작해 봤습니다. 오랜만에 해도 할만하네요.

컴퓨터를 아직 업그레이드 하지 않아서 SE 는 좀 버거워 LE 로 하고 있습니다. 컴퓨터 업그레이드 할려고만 하면 무슨 일이든 터져 버리네요. ㅡㅡ; 사실 게임외에 특별히 불편한 점이 없어서 결국 업그레이드는 느긋하게 하기로....아직 안한 게임도 많고....

 

>

 

제가 스카이림 모드에 대한 글을 몇번 블로그에 썼었는데 이 모드를 여태 몰랐다는게 좀 의아 할 정도로 좋은 모드가 있더군요. 바로 Haven Bag 입니다. 이 Bag 안에 왠만한게 다 있습니다. 이 모드가 있으면 집이 크게 필요가 없습니다.

 

외부에서 본 haven bag

치트를 쳐서 바깥에서 본 haven bag 입니다. 정말로 Bag 입니다. 실제로 내부 공간은 넓지 않지만 이 안에 마법부여대, 도가니, 모루, 연금술대등 있을건 다 있습니다.

게다가 상자에 물건을 보관할 수 있어서 정말 편합니다. 스카이림의 무게제한은 다니다 보면 좀 너무 부족 하다는 생각이 들죠. 그래서 많은 분들은 치트로 무게 제한을 높여서 사용하기도 합니다. 하지만 이 모드가 있으면 그냥 Bag 에 들어가서 상자에 물건을 저장하고 나오면 됩니다.

 

>

 

내부의 모습입니다. 작지만 여기에서 모든 제작을 다 할 수 있습니다.  뒤에는 침대도 있습니다.

 

>

 

명칭이 다 잘 생각이 안나서 그냥 스크린샷으로....도가니도 축소되어 존재하고 있습니다.

 

>

 

왼쪽엔 이런것들이....

 

>

 

이 Bag의 사용법은 간단합니다. 모드를 적용하면 위의 스크린샷처럼 방어구에 Haven Bag 이 나타납니다. 방어구를 장비하는 것처럼 Haven Bag 을 선택하면 바로 이 Bag 안으로 들어 오게 됩니다. 시간과 장소에 구애를 받지 않고 말이죠. ^^;

그런데 저 같은 경우 처음에 이 Bag 에서 나가는 방법을 몰라 좀 헤맸었는데요. 오른쪽 설명에 보면 들어가고 나갈때 쓴다고 되어있습니다. 즉 이 Bag 에서 나가려면 방어구 해제 하듯이 한번 다시 선택해 주면 되는 거더군요.

 

>

 

이 모드를 쓰는 이유는 물론 편한점도 있지만 스카이림에 존재하는 버그인 세이브 파일 문제를 해결하기 위한 용도로 쓰기도 합니다. 세이브 하기전에 이 Bag 에 들어와서 세이브를 하면 됩니다.

이 Bag 안은 크기도 작고 별다른게 없어서 세이브 파일 문제(로딩중 CTD)를 해결하는데 도움이 된다는 이야기가 있습니다. 세이브 파일 정리도 된다고 하는 이야기도 있는데 제가 직접 확인할 방법은 없네요.

단점은 세이브 파일 이름이 모두 Haven Bag 으로 나와서 어디서 세이브 한건지 구분이 안된다는 건데...이것도 무슨 모드로 해결 할 수 있다고 하지만 저는 딱히 필요가 없어서 사용하지는 않고 있습니다.

 

>

 

저는 이 모드를 LE 에서 쓰고 있지만 찾아보니 SE 도 있더군요. SE 용은 써본적이 없지만 SE 를 플레이 하는 분들을 위해 같이 링크를 남겨둡니다.

 

LE 용 https://www.nexusmods.com/skyrim/mods/21454

 

SE 용 https://www.nexusmods.com/skyrimspecialedition/mods/2809

 

>

 

스카이림이 나온지도 오래된데다. 사실 이 모드도 엄청난 뒷북이라 딱히 정보성이라기 보단 제 자신을 위한 기록으로 남겨 둡니다.

 

기록이라고 하니까 하나 생각나는데 최근 플레이 하다가 다른 공간으로 이동할때(로딩이 있는 경우) CTD 가 자주 발생해서 이런저런 모드들을 지우고 배열하고 하다 보니, 마법을 좀 편하게 쓰려고 설치해 놓은 Smart Cast 라는 모드를 지우니 CTD 가 좀 적어 지는것 같았습니다. 뭐....확신은 없고 좀더 써봐야 겠지만 그냥 기록으로 남겨둡니다.

 

 

반응형

 

발더스 게이트

발더스 게이트는 정말 굉장히 오래된 게임입니다. 이제는 고전 명작의 반열에 들어 가는 작품이죠. 최근에 리메이크 되어 발매 되기도 했습니다. 물론 제가 플레이 하고 있는건 리메이크된 발더스 게이트 입니다.

개인적으로 이것저것 대부분 장르를 가리지 않고 게임을 플레이 하는 편이지만 그럼에도 선뜻 손이 안가는 장르가 서양 RPG 입니다(보통 서양식 RPG를 그냥 RPG라고 하고 일본식 RPG를 JRPG라고 따로 말하기도 합니다만......). 복잡하기도 하지만 시간도 많이 필요하고 상당한 언어실력(?)을 필요로 하기도 하기 때문입니다. 상당한 언어실력이 필요한 게임임에도 사실 국내에선 크게 인기 없는 장르라(세계적으로도 이젠 좀 사양에 들어간 장르이기도 합니다만...) 한글화가 안되어 있는 경우가 많아서 제대로 즐기기 어렵기도 하고요.

그래도 요즘은 예전과는 달리 유저들이 직접 한글화 하는 경우도 있고, 게임 회사에서 직접 한글화 해 주는 경우도 있어서 예전에 비하면 좀 낫기는 합니다.

발더스 게이트의 경우는 1편과 2편, 총 두편이 있는데 1편만 한글이었지만 최근에는 두편 모두 제작사에서 한글을 포함해서 배포되고 있습니다. 따라서 게임을 즐기는데 언어의 장벽은 없는 편입니다.

하지만 이 게임은 D&D 룰을 따르는 게임들이라(테이블에서 직접 주사위를 굴리며 즐기는 RPG) 다른 게임들과는 좀 다른면들이 많이 있어 이러한 테이블 RPG 에 익숙하지 않는 상당수 국내 유저들은 즐기기 어려운 게임이기도 합니다.  저역시 여러 RPG 를 했다고 생각하는데(서양 RPG는 대부분 엔딩을 못봤지만...) D&D 룰 게임은 처음이라....

게임을 하고 있는 저도 아직 룰을 다 파악하지 않고 하고 있는 중입니다만...위 스크린샷으로 간단하게 예를 보여드리자면...

보시면 피해 부분이 "1d8" 이라고 되어 있습니다. 처음엔 이걸보고 뭔가 오타가 아닌가 생각했었습니다. ^^;

이건 이런거라고 합니다. 8 까지 새겨진 주사위를 1번 굴렸을때 나오는 수. 즉 이 칼로 공격했을 경우 데미지가 굴린 주사위에 따라 1~8 까지 나오게 됩니다. 데미지 계산이야 컴퓨터가 내부에서 열심히 주사위를 굴려서 해주겠지만 무기를 선택할때 저 내용 정도는 알아볼 수 있어야죠. 참고로..... 갑옷의 경우 숫자가 적을수록 방어력이 높은겁니다. ㅡㅡ;

마법이 제일 생소했는데....마법은 MP 같은걸 사용하는게 아니라 일정한 갯수의 마법을 암기 하고 있다가 사용하는 방식입니다.

암기할 마법을 미리 선택해 놓고 휴식을 취하면(노숙을 하던 여관에서 자던) 마법이 암기가 되고 전투에서 사용할 수 있도록 되어 있습니다. 초기에는 암기할 수 있는 마법의 수가 적어서 마법을 몇번 쓰면 휴식을 취할때 까지 마법을 사용할 수 없는 경우가 많았습니다. 이 마법을 조합하는거에 따라 전략적 전투가 가능하다고 합니다만....초기에는 암기할 수 있는 마법의 수가 적어서 유용하게 쓰기는 좀 어렵습니다. 적을 움직이지 못하게 묶어 놓거나 공포에 질리게 하는 건 일단은 쓸만하다고 생각은 됩니다만....마법에 대해선 좀 더 플레이 해 봐야 알 수 있을 것 같습니다.

이것 저것 설명하자면 길고 위에서도 이야기 했듯이 저도 모든 룰을 파악하지는 않고 게임을 하고 있습니다. 한마디로 게임을 제대로 즐기기 위한 사전지식이 조금은 필요한 게임입니다.

>

게임은 전체맵이 하나로 되어 있는게 아니고요. 위 스크린샷에서 처럼 특정 지역으로 가면 그 지역맵이 열리는 식입니다.

한 맵에서 끝까지 이동해서 맵 밖으로 나오면 새로운 지역이 나타나고....그런 식으로 진행됩니다. 덕분에 지역에서 지역으로 이동할땐 위 지도에서 클릭해서 이동이 가능하기 때문에 빠른 이동이 가능합니다. 가끔은 이동중 적의 습격을 받아 전투를 벌이기도 합니다.

>

사실 이 게임을 하는데 가장 피곤한건 바로 멍청한 동료 AI 입니다.

제가 플레이 하고 있는 게임은 분명 리메이크 된 게임임에도 동료들이 현명하게 이동을 못합니다. 탁트인곳은 그나마 좀 낫지만 위 스크린샷 에서 처럼 좁은 던전에선 문제가 많습니다. 스샷에 보면 캐릭터들이 이동하고 있는데 아래에 있는 캐릭터들은 어디에 걸렸는지 따라오지 않고 계속 저 자리에 서있습니다. 이동중에 다른캐릭터가 길막하면 엉뚱한 곳으로 돌아 오는 경우도 있고...ㅡㅡ; 이런 경우 한명씩 클릭해서 뭔가 이동에 장애가 되는 상황을 직접 해결해 줘야 합니다.

다른건 뭐....그냥 옛날 게임이니 그러려니 하겠는데 그래도 리메이크면 위에처럼 사소한(?)것 정도는 좀 해결해 줬으면 좋았지 않았을까 싶습니다.

>

솔직히 이 게임은, 요즘의 스마트폰 게임들을 주로  즐기는 사람들에겐 안맞는 게임입니다. 캐릭터들도 별로 안예쁘고 이동도 불편하고 마법 사용도 불편하고...

뭣보다 요즘은 스카이림 조차도 퀘스트 해결하려면 어디어디로 가라고 맵에서 다 알려주는 시대인데 당연히 이 게임은 그런 친절함은 없습니다. 뭐....예전에 웨이스트랜드 때도 한 이야기지만...요즘 게임이 좀 지나치게 친절한 감이 없지 않긴 하지만요.

인터넷에 이 게임을 검색해보면, 요즘 게임을 주로 즐기는 사람들은 이 게임을 이해하지 못하는 경우도 많이 봅니다. 뭐...확실히 요즘게임에 비하면 구식이라고 생각할만한 게임이기는 합니다.  하지만 구식이라기 보단 게임의 "룰" 이 다르다고 보는게 맞다고 봅니다.

저 "룰"에 재미를 느끼면 좋아하게 되는거고 그렇지 않으면 그냥 재미없는 게임인거죠.

일단은 한글이라 스토리를 따라 진행하기에 좋고 전투가 너무 어렵다 싶으면 가벼운 마음으로 전투 난이도를 낮추고 스토리를 따라 즐기면 되게 되어 있어서 D&D 게임을 안해본 분이라면 경험해 보기는 괜찮은것 같습니다. 나중에 D&D 게임의 매력을 알게 되면 푹 빠지게 될지도 모르죠. ^^;

반응형

저는 패스오브엑자일 공식 홈페이지 클라이언트를 사용합니다.

오늘 실행해 보니 패치 내역까지 한글로 나오는 군요.

패치 이후에 영어로 나와서 한글로 다시 설정해야 했던 버그도 없어졌고요.

예전엔 64비트 클라이언트로 실행하면 한글이 안나오고 영어로만 나왔었는데요. 이번에 다시 실행해 보니 이제는 한글로 잘 나옵니다.

이제 한글패치 작업은 거의 완료된것 같네요.

 

반응형

이하 내용은 공식 홈페이지 버전의 경우 입니다. 별거 아니고 단순한거니까 간단하게 씁니다.

한글이 잘 나오다가 패치를 다운받고 난 후에 영어로 나오는 증상이 있습니다.

언어설정은 "한국어" 로 되어 있는데 말이죠.

해결 방법은 언어설정을 "English" 로 바꿨다가 다시 "한국어" 로 바꿔주면 됩니다.

제대로 되었으면 언어설정을 바꾸려면 게임을 재시작해야 한다는 메시지가 뜹니다. 그런후에 게임이 재시작 되고 나면 한글로 잘 나옵니다.

 

반응형

패스오브엑자일을 이제 한글로 즐기실 수 있습니다. 카카오에서 서비스 하면서 한글화가 되었습니다.

제 경우는 공식 홈페이지에서 계정을 만들어 즐기고 있는데요. 업데이트 하니 한글로 나옵니다. 카카오 서비스를 이용하지 않아도 한글로 게임을 즐기는데는 문제가 없습니다.

로그인 화면

다만 공식 홈페이지에서 다운받아 설치한 경우 한국서버는 보이지 않았습니다.

제일 핑이 좋은건 일본 서버였는데요. 실제 접속해서 게임을 해보니 일본서버가 더 랙이 심했습니다. 혹시나 업데이트 이후 사양이 높아졌나...해서 순간 당황 했는데 핑이 더 높은 미국서버쪽에 접속해 보니 랙이 없더군요.

카카오에선 계정 이전을 1회에 한해 해 주고 있는데 제 경우는 그냥 공식 홈페이지의 버전으로 즐길 생각입니다.

>

핵앤 슬래시 게임이라 딱히 영어가 어려운것도 아니고 대충 내용을 알아 볼 정도는 되었었는데 그래도 역시 한글로 보이니 좋긴 합니다. 뭔가 다른 게임을 보는 듯한 느낌까지 들었습니다.

>

젬 설명 부분인데요. 위와 같이 번역이 아직 안되있는 곳도 종종 보입니다.

무기의 경우도 몇몇 번역이 덜 되있는 경우가 있었습니다.

>

NPC 와의 대화 부분도 제가 진행해 본 부분은 번역이 괜찮았습니다. 전체를 다 확인 해 보지는 못했습니다만....

뭐...사실 제 경우는 NPC 와의 대화 부분은 크게 신경을 안쓰는 부분이라....퀘스트 설명만 제대로 되어 있어도 뭐......^^;

>

예전에도 한번 포스팅 한적이 있는 게임입니다. 디아블로의 모드를 제작하다가 아예 별도의 게임을 제작하게 되었다고 하죠.

다른 과금 유도형 게임들과 달리 과금 부분은 창고를 늘리고 창고의 기능을 더 좋게 한다거나...캐릭터를 꾸미는 경우 정도에 쓰이고 실제 게임 진행에 영향을 주는 부분은 없는 게임입니다. 리그제로 운행되며 계속 새로운 컨텐츠를 만들어 주고 있고요.

개인적으로 이런 게임을 무료로 즐길 수 있다는건 정말 고마울 다름입니다.

카카오로 게임을 즐기실 분들은 http://poe.game.daum.net/

공식 홈페이지에서 게임을 즐기실 분들은 https://www.pathofexile.com

를 이용하시면 됩니다.

새로 게임을 즐기실 분들은 카카오를 이용하시는게 더 원할히 게임을 하실 수 있지 않을까 하는 생각도 듭니다.

카카오가 잘 운영해 줬으면 좋겠네요.

 

반응형

https://store.steampowered.com/bundle/8133/Borderlands_The_Handsome_Collection/

보더랜드 핸썸 콜랙션을 이번에 구입했습니다. 97%할인입니다. ㅡㅡ;

구성품은 보더랜드 2 와 보더랜드 프리시퀄의 모든 DLC 를 포함한 풀셋입니다. 가격은 고작 6620원...

뭐....원래 할인폭이 큰 제품이긴 한데 3편이 곧 나올거라 그런지 헐값에 파는군요.

스팀의 경우 이런 묶음 상품의 경우에는 기존에 구입한 상품이 있으면 제외해서 구입할 수 있습니다.

제 경우에 보더랜드2 GOTY 와 프리시퀄 본편이 있기때문에 제가 가진 제품들을 제외하면

3510원 이더군요. 그래서 샀습니다. ^^;

뭐....사실 제가 게임을 깊게 파는 스타일은 아니라 보더랜드 2의 경우 GOTY 만으로 충분했어서 그것때문에 산건 아니고요. 프리시퀄의 Claptastic Voyage DLC 가 괜찮다는 이야기가 있어서 그거 하나 해보려고 샀습니다. 3510원 이면 뭐.....살만하쟎아요.

보더랜드 1 리마스터도 본편엔딩은 봤으니 DLC 한번씩 돌아보고 그 다음에 프리시퀄 DLC 한번 돌아보면 될 것 같습니다.

97%세일인데 더이상의 세일은.......없겠죠? (94% 세일때도 그 이상은 없겠지 하긴 했었지만.......)

 

반응형

pygame  의 스프라이트 충돌체크에 대해서는 한번 간단하게 정리를 따로 해야 할것 같아 따로 정리를 해 둡니다. 전부 상세하게 적지는 않고 중요한 몇가지만(내가 필요한거만....아마도....?) 정리를 해 봅니다.

 

일단 기본적으로 스프라이트 b1 과 b2 는 다음과 같이 만들었습니다. 변수 정리를 좀 더 하면 보기 좋겠지만 귀찮으니 그냥 합니다.

pic = pygame.image.load("images/ball.png").convert_alpha()
pic2 = pygame.transform.scale(pic,(200,200))
pic3 = pygame.transform.scale(pic,(100,100))

b1 = Block(pic2)
b1.rect.center=(400,400)
b1.radius=100

b2 = Block(pic3)
b2.radius = 50

b1 스프라이트는 (400,400) 위치에 고정되어 있고, b2 스프라이트는 마우스를 클릭하면 그 위치로 이동하는 스프라이트 입니다. 따라서 b2 의 경우는 좌표의 초기 값은 없습니다.

 

1. Rect(사각형) 체크

 

가장 기본적인 방법입니다.

    if(pygame.sprite.collide_rect(b1,b2)):
        print("Hit!")

두 스프라이트가 충돌하는지를 검사해서 충돌하면 bool 값 True 를 리턴합니다. 
사용시 주의할 점은(사실 당연한 겁니다만...) 스프라이트의 rect 에 제대로된 값을 넣어줘야 제대로 작동한다는 점 입니다. 
rect.x ,rect.y 혹은 rect.center 에 제대로된 스프라이트의 위치값이 있어야 제대로 작동합니다.

 

위의 스크린샷을 보면 실제로 두개의 스프라이트는 충돌하지 않았습니다. 하지만 사각형체크 방법은 사각형 형태로 충돌을 체크하기 때문에 위와 같은 상황도 충돌로 판정합니다.

 

2. Circle(원) 체크

    if(pygame.sprite.collide_circle(b1,b2)):
        print("Hit!")

원의 형태로 충돌을 체크 합니다. 위의 이미지와 같이 충돌 체크할 부분이 원인 경우 이 방법을 사용하면 됩니다.

제대로 작동시키기 위해선 sprite 객체에 radius(원의 반지름) 값을 넣어줘야 합니다.

위에 b1,b2 를 보면 radius 값을 넣어준걸 보실 수 있습니다.

 

3. Mask 체크

위의 두가지 방법은 사각형과 원의 특정형태로만 충돌체크가 됩니다. 하지만 스프라이트의 경우 더 다양한 모양이 있을 수 있습니다. 즉 특정 도형의 형태가 아니라 스프라이트의 이미지와 이미지가 직접 충돌하였을때(투명한 알파영역 제외), 이미지와 이미지가 서로 겹쳤을때 충돌로 판정해 줍니다.

 

mask 충돌 체크 방법을 쓰기 위해선 sprite 에 mask 를 만들어 줘야 합니다.

    b1.mask = pygame.mask.from_surface(b1.image)
    b2.mask = pygame.mask.from_surface(b2.image)
    if(pygame.sprite.collide_mask(b1,b2)):
	    print("Hit!")

b1 과 b2 이미지를 이용해서 각각 b1 과 b2 의 스프라이트에 mask 를 만든 다음 스프라이트 b1 과 b2 의 충돌체크를 검사합니다.

 

위에선 이해를 위해 저렇게 mask 값을 생성한것이고 실제코딩시에는 sprite 클래스의 생성자에서 이미지를 넘겨 받으면서 mask 를 만들면 됩니다.

mask 체크 방법을 사용할때 주의할 점이 하나 있는데요. 바로 이미지를 컨버트할때 convert_alpha() 를 사용해야 한다는 것입니다.

pic = pygame.image.load("images/ball.png").convert_alpha()

이미지에 특별히 투명한 부분이 없더라도 위와 같이 convert_alpha() 로 해 주지 않으면 mask 체크가 제대로 작동하지 않더군요. 이것때문에 좀 헤맸습니다. ^^;

 

4. SpriteGroup 과 Sprite 의 충돌체크

pic = []
pic.append(pygame.image.load("images/bb.png").convert_alpha())
pic.append(pygame.image.load("images/gb.png").convert_alpha())
pic.append(pygame.image.load("images/pb.png").convert_alpha())
pic.append(pygame.image.load("images/rb.png").convert_alpha())
pic.append(pygame.image.load("images/yb.png").convert_alpha())

block_list = pygame.sprite.Group()

for j in range(0,5):
    for i in range(1,9):    
        block = Block(pic[random.randrange(5)])
        block.rect.x = i * 91 - 50
        block.rect.y = 50 + 37*j
        block.mask = pygame.mask.from_surface(block.image)
        block_list.add(block)

ball_pic = pygame.image.load("images/ball.png").convert_alpha()
ball_pic = pygame.transform.scale(ball_pic,(15,15))
ball = Block(ball_pic)
ball.rect.center = (410,680)
ball.mask = pygame.mask.from_surface(ball.image)

스프라이트 ball 과 스프라이트그룹 block_list 를 위와 같이 만들어 줬습니다.

 

hit_list = pygame.sprite.spritecollide(ball,block_list,True,pygame.sprite.collide_mask)
for h in hit_list:
    score +=1

위와 같이 충돌체크를 하면 됩니다.

 

리턴값 hit_list 는 충돌한 스프라이트들의 리스트입니다. 각 인자들을 설명하자면...
첫번째가 스프라이트, 두번째가 스프라이트 그룹, 세번째는 충돌한 스프라이트를 스프라이트 그룹에서 제거할것인지, 마지막이 충돌을 체크하는 방법입니다. 위의 예는 mask 를 이용한 체크 방법이고 collide_rect 나 collide_circle 도 가능합니다.

 

이 테스트 프로그램은 공을 마우스로 마음대로 움직일수 있게 했습니다. 마우스로 공을 이동시켜 블럭과 충돌시키면 해당 블럭은 스프라이트 그룹에서 삭제되기 때문에 위와 같이 공과 충돌된 블럭은 사라지게 됩니다.

 

>

 

모든 충돌체크를 다 설명하지는 않았지만, 나머지는 이 정도만 이해하면 이해하기 어렵지 않을거라 생각합니다.

+ Recent posts