4/4~4/8 XNA Game Programming 4 WP7

일단… 교재가 위의 책이다. 무려 25,000원 😈 책의 컨셉이 대학교재라 챕터도 딱 14개로 구성돼 한학기 진행할 목적으로 만들어진 교재라 한다. 강사님은 한국게임개발자협회에 계시다는 얘길 얼핏 들었는데 기사를 보니 이승훈님이 맞는듯… 상당히 차분하시다. 셋째날부턴 저자로 참여한 김대호님이 진행…  아직 경험이 별로 없어서인지 서툴긴 했지만 그의 열정 덕에 질문도 많이 하고 4시간동안 시간가는줄 몰랐다?

교육장 컴퓨터엔 VS2010 SP1 까지 설치된 상태라  XNA 개발환경을 구축하기 위해 App Hub 첫화면에 커다랗게 보이는 Download Free Tools 페이지에 있는 설치 파일 3개를 설치했다. 집에서 다시 설치해보니 SP1이랑 뭔가 충돌나는 부분이 있다. VS2010을 죄다 지우고 다시 SP1 없이 위의 과정을 진행하니 별 탈 없이 세팅완료 🙄

XNA의 기본 흐름은 아래 그림과 같다.

게임에 필요한 전반적인 설정은 Update에서 하고 Draw를 통해 화면에 출력하는 방식이다. 기본 프레임이 30이라 이론상으로는 1초에 Update와 Draw 메서드를 30번 실행하는 셈이라 한다. 작년 이맘때쯤 배웠던 openframeworks도 위의 구조와 비슷했던걸로 기억나는데… face.com API를 이용해 Twitter Follow 중 프로필 사진이 사람 얼굴이 아닐 경우 바꾸라고 멘션을 날리는 기능등을 생각만했던 그 시절이 떠오른다. 그 이후로 홍대 근처엘 가본적이…

XNA는 하나의 미니 게임 엔진이라고 볼 수 있다. 3D도 가능하긴 하지만 기존의 대작 게임들을 구현하기엔 어려움? 이 있어 DirextX로 구현해야 한다고 한다.

이튿날엔 실제 삼성 Focus를 받아 진행중인 게임을 돌려 봤는데 예전에도 한번 소개했지만 역시나 Focus가 얇고 가볍고 반응도 빨랐다. Apple의 iPad, iPhone과 컴퓨터를 연결하기 위해선 iTunes가 필요하듯 WP7을 컴퓨터와 연결하기 위해선 Zune 이라는 소프트웨어가 필요하다. 설치하고 나선 아래 영상이 나오는데 전혀 MS의 것이라고는 생각되지 않는 UI가 나와 놀랬다. 비슷한 UI의 Twitter Client인 MetroTwit도 있다.

httpv://www.youtube.com/watch?v=1qzos070rus

셋째날부턴 8장에 있는 소스코드 설명을 듣고 따라하기를 진행했는데, 기존에 게임을 만들어봤던게 아니라 중간중간 개념 챙기랴 코딩하랴 제대로 복습하기가 쉽지 않았다. 대략 파티클, WCF, 애니메이션, 스프라이트시트, 충돌처리, 터치 등의 내용이 들어있고 실습을 마치면 멋진 슈팅게임 하나가 완성된다.

방사능과 황사가 위협한 일주일이었지만 이제서야 게임 프로그래밍에 대한 강의를 들을 수 있어서 참 다행이라는 생각이 든다. 최적화 라는 단어가 나오는 강의 들어본게 대체 얼마만인지… 나 역시 수많은 개발자들과 마찬가지로 공부할게 너무 많다며 일단 떠벌리고 보던 습관이 있었는데 XNA에 대한 경험 외에도 앞으로 어느부분에 강약을 둬야할지 많은 생각을 들게했던 5일이었다.

한가지 더 얻은게 있다면, 학창시절 거의 매일 들락날락 거리던 오락실이 생각났다. 서유기부터 스트리트파이터, KOF,보글보글,카발,심슨가족,메탈슬러그 등 재미난 게임이 즐비한 지하 오락실에서 새로운 기술을 선보이는 친구녀석의 손놀림에 감탄하던 기억,  50원짜리로 게임하다 걸려 혼난 기억, 심부름으로 두부 한모 사러갔다가 저녁밥도 거른채 밤늦도록 게임하고 뒤지게 얻어맞은 기억… 쓰고나니 게임쪽으로 가지 않은게 이상한거 같네 :mrgreen:

너무 짧은 시간  교육을 받다보니 이 책으로 공부할 대학생들이 약간 부러워지기도 한다. 나 땐 왜 이런게 없었을까… 아쉬움도 들지만 그보다 1,2년 안으로 인디 게임개발자들이 얼마나 나올지가 더 기대된다. 단지 코딩에 그치지 않고 게임 기획서 작성하는 것부터 제대로 가르칠거라는 이승훈님의 말씀에 더더욱 그런걸지도 모르겠다.

마지막으로… 아래 그림은 xap 파일을 수동으로 포팅하고자 할때 사용하는 프로그램이다. Zune 과 연결된 상태에서 Application Deployment를 통해 설치가 가능하다고 하니 혹시라도 배포에 문제가 생길경우 떠올리면 되겠다.

Advertisements
%d bloggers like this: