학교에서 게임제작방법론이라는 수업을 들으며 XNA 3.0 을 약 한 달 정도 사용해 봤습니다.
확실히 기존 다른 환경에 비해서는 굉장히 편한 것은 사실입니다. 아무래도 C# 이라는 언어 자체가 C 나 C++ 에 비하면 설계 관점에서 훨씬 이해하기 쉽고 명쾌하다는 장점이 있고, 리플렉션과 같은 동적 타입에 대한 훨씬 유연성 있는 접근이 가능하기 때문입니다.
다만 이건 프로그래밍 언어 관점에서이고, 실질적으로 코딩을 하려면 여전히 많은 작업들이 필요한 것이 사실이라 (물론 기존에 비해 훨씬 손이 덜 갑니다만) 바로 뚝딱뚝딱 뭔가 괜찮은 물건이 나온다든가 하는 것은 어렵습니다.
기본적으로 여러 가지 미디어 파일 포맷들에 대한 임포팅 기능을 지원하는 것은 정말 편합니다만, 사실 이런 부분은 어지간한 게임 엔진에서도 지원하는 것이니, 플랫폼 관점에서 보면 좋지만, 저작도구 관점에서 본다면 딱히 메리트라 보기는 어렵겠죠.
그래픽 가속 렌더 기반의 게임 프로그래밍 구조 특성을 그대로 가지고 있어서, 액션 게임과 같이 사용자의 입력에 즉각적으로 반응하는 게임을 작성할 때에는 상당히 쉬운 편이지만, 우리가 Windows 등에서 쓰는 아이콘이나 버튼 식의 입력을 가진 게임을 작성하려면 꽤 많은 부가 코딩이 필요합니다 (WPF 와 연동 가능한 방법은 아직 잘 모르겠습니다. 되면 무지 편할텐데) 아시다시피 저런 방식이면 이벤트 드리븐 형식으로 처리되지 않기 때문에 상당히 다른 관점으로 개발을 해야 합니다. 아니면 라이브러리를 별도로 작성하든가 말이죠. (뭐 어려운 일은 아닙니다만 귀찮은 것은 사실)
픽셀 쉐이더까지 써 봐야 하는데 거기까지는 아직 건드려보지 못했네요. 작년에 배웠던 3D 그래픽스 이론도 다 까먹어서리 에구구...
연구하기/게임 개발
XNA 를 한 달 정도 써보고...
반응형