'c#'에 해당되는 글 2건

  1. 2009/05/25 osu! 와 C# & XNA (1)
  2. 2007/04/10 Windows Vista에 XNA Game Studio Express를 설치하자.

osu! 와 C# & XNA

Review/Games 2009/05/25 14:56

"C#으로 게임제작이 가능할까요?" 나 "XNA로 PC게임 만들면 어때요?"는 몇년이나 지난 떡밥이지만,
아직도 여러 게시판에서 덥썩 무는 쓰레드들이 많다.

이 떡밥이 오래가는 이유 중 하나는, 절대 도전과 모험을 하지 못하는 한국 업체들의 특징과
동인게임을 제작할 능력자도 극소수인 현실이 맞물려 명확한 답, 다시 말해 선례를 보여주지 못하는 탓이 아닐까 싶다.
(머, 남말할 필요도 없다. Rhea君 스스로조차 안하고 있으니... ㅠㅠ)

본론으로 돌아와 이 질문에 대답은 osu!로 충분할 것 같다.

osu!

osu!


osu!는 2007년(와!!)에 peppy(http://osu.ppy.sh/)나온 리듬게임으로 PC용은 놀랍게도 C#와 XNA로 제작되었으며 NDSL로도 출시되어 있다.

당연히 .NET Framework 2.0 이상이 필요하며, FFDShow필터를 이용해 오버레이를 사용, 동영상 위에서 리듬 액션을 가능하게 한다.
XNA!

XNA!


오버레이를 이용하였지만 비스타에서도 잘 작동된다.

오버레이를 이용하였지만 비스타에서도 잘 작동된다.


쉬운 곡부터 극악의 난이도까지 다양한 이 게임은, 실시간 채팅과 실시간 레이팅으로 전 세계를 상대로한 도전욕심을 불러일으킨다. 다만 게시판을 통해 제공되는 여러 곡들과 동영상에 대한 저작권은 의심된다.

다만 듀얼모니터에서 창모드로 실행시킬 경우, 드래그에서 모니터를 바꾸면 게임이 초기화되는 점은 아쉽다.
알기론 XNA에 이런 한계는 없었지 싶은데 렌더러와 씬매니져쪽을 보강했으면 한다.

또한 게임 내에서 새로운 곡에 대한 에디팅 기능이 제공되는데 놀라운 편의성과 UI가 게임 자체보다 더 대단하게 느껴진다.

마리사는 소중한 것을 훔쳐가버렸어... 내 마음도(/ㅜ_ㅜ)/;;;.

마리사는 소중한 것을 훔쳐가버렸어... 내 마음도(/ㅜ_ㅜ)/;;;


마지막으로 C#으로 만든 프로그램이면 누구나 한번 시도해보는 IL 디스어셈블!
osu!는 ILDASM.EXE에서 열리지 않는다!

마리사 x 앨리스를 지지합니다.

마리사 x 앨리스를 지지합니다.


C#으로 어떻게 하면 이게 가능한지 궁금하다. 제법 쓸만한 프로텍트 솔루션이 나왔는지 알아봐야겠다.

기술적으로 아쉬운 점은 네트워크 대전이 안된다는 점인데 게이머로써 아쉬운게 아니라 개발자로써 C#의 소켓 능력이 궁금하기 때문이다. 물론 OSU!는 레이팅 기록에 중점을 두는 게임이라 기획측면에서는 별로 아쉬움이 없을 것이다.

결론적으로 OSU!는 C#, 아니 XNA를 플랫폼으로 사용하였지만, 성능이나 보안에 있어 특별한 헛점이 없는 게임이다.
기존 Native 라이브러리에 대한 문제와 미련이 없다면, XNA로 게임을 개발하는 것에 대한 어떤 기술적 문제는 없다는게 개인적인 생각이다.
(다시 말해, 국내 업체들은 네트워크나 온라인이 대세인지라 소켓 라이브러리와 거기에 얽힌 패킷 라이브러리, 보안 솔루션이 걸림돌이지 렌더러나 메인 프로그램이 걸림돌이 아닌 것이다. XNA에서도 HLSL는 100% 호환되니까.)

최소한 렌더러 쪽으로 Native(결국 C++)에 비해 손해는 없는 것을 확인하기 위해서 몇가지 osu! 플레이 동영상을 올린다.


걍 동영상 오버레이를 설명하기 위해...

 
니코니코 조곡 때문에 중독된 가챠가챠 피규@메이트


마지막으로 극악을 자랑하는 마리사는 소중한 것을 훔쳐갔습니다.


크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Rhea君
TAG c#, Osu!, XNA

게임 개발자들 사이의 센세이션을 일으키고 있는 XNA, 보면 볼수록 쓸만하다.
그리고 그간 클라이언트 레이어에서 C#을 어디에 써먹나 싶던 의아심을 한번에 해결하였다.

오늘의 본론은, 선진적인 개발자를 위한 OS, Windows Vista에서 XNA Game Studio Express를 설치하는 것!
MSDN상에도 XNA Game Studio Express(너무 길다, 이하 XGSE)는 Windows XP/SP2에만 가능하다고 하고 있지만 지난 GDC 2007에서도 XGSE는 어엿하게 Windows Vista에 설치되어 있었다.

GDC 2007의 XACT 세션. 전부 Vista임에 주목.

GDC 2007의 XACT 세션. 전부 Vista임에 주목.


그렇다면 우리도 Vista에서 XGSE를 설치해보자, 그런데 이게 그냥 단순 설치만으로는 안된다.
(물론 기본 과정은 XP/SP2와 같다.)

1) 가장 먼저 빌 아저씨의 선물, 공짜 개발툴인 Visual C# 2005 Express를 설치하자.

감사히 쓰겠습니다~!




2) 필수 패치, Visual Studio 2005 Service Pack 1 Update for Windows Vista

C# 설치가 끝났다면 반드시 Visual Studio 2005 Service Pack 1 Update for Windows Vista( http://www.microsoft.com/downloads/details.aspx?familyid=90E2942D-3AD1-4873-A2EE-4ACC0AACE5B6&displaylang=en) 를 잊지 말아야 한다.
이것이 설치되지 않으면 XGSE 가 설치되지 않는다!!!

서비스팩

서비스팩


3) XGSE 설치
이제 XGSE를 설치한다.
XGSE 설치시 필요한 파일들이 설치되며 C#의 환경변수들을 등록하게 된다.
그리고 XNA 게임 개발시 필수적인 Template을 만들어 주는데,
문제는 개발툴상에서 Template이 Admin 권한이 아니면 등록되지 않는다는 점이다.
2) 까지 찾아온 개발자들이 이 과정에서 막혀 쩔쩔매는 것을 여러번 목격했다.

게다가 XGSE는 xnagse_setup.msi 라는 설치파일로 제공되므로 강제로 Admin 권한을 줄수가 없다!

따라서 변법이 필요한데, 개발자의 친구인 Command Prompt를 Admin으로 실행시켜야 한다.


Admin으로 Command Prompt를 실행시킨다.

Admin으로 Command Prompt를 실행시킨다.


그후 Command Prompt에서 xnagse_setup.msi를 실행시키면 권한 상속으로 인해 Admin 권한으로 설치된다.

사용자 삽입 이미지


4) C#도 Admin 으로

이렇게 설치된 C# Express는 비스타에서 Admin으로 실행시켜달라고 항상 메시지를 나타낸다.
이것을 보기 싫다면, 그리고 당연히 Admin으로 실행시켜야 한다.

개발자라면 Admin~




5) 설치 끝, 개발시작!

이제 이 과정을 다 마쳤을때, 우리는 Vista와 C# Express 에서 XNA 관련 Template을 볼수 있고, 게임을 만들수 있다.

사용자 삽입 이미지





자, 이제 Vista에서도 재미있는 XNA 게임을 만들자!!!!!!!!

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Rhea君