저 게임은 그래픽스 수업 텀프로젝트 과제물입니다.


결론부터 말하면 한학기 프로젝트를 무에서 유까지 20시간 정도 걸려 끝냈습니다.


월요일 저녁 11시 50분까지 제출인데.. 모종의 이유로 실의에 빠져서 그 전날까지 술을 퍼마셨습니다.


잠자고 있는데 룸메가 저를 깨우더군요..


"형.. 형.. 일어나세요.. 이제는 진짜 게임을 만들때 입니다..."


일어나서 시계를 보니 일요일 오전 10시더라구요..


일단 2인 팀작이라 동갑내기 모델러를 전화로 인천에서 불렀습니다.. 2시간 후에 도착하겠다더군요.


2시간동안 일반적인 게임 프레임워크를 작성했습니다.. 


glut 특성상 객체지향적인 게임로직이 안되서 걍 람다식으로 때려박았습니다.


디자이너가 집에 도착해서 열심히 모델링을 합니다..


애니메이션을 띄울려면 요즘 많이 사용하는 파일 스펙이 fbx입니다. 그러나 저는 시간도 열의도 없습니다..


obj 파일로 받았습니다. 파일을 까보니 v, vt, t 등의 문자열 형식이네요. 구글 검색을 해보니 정점, 노말, 텍스쳐등의 위치랍니다.


파일처리와 파싱 로직을 만들고 opengl의 고정된 파이프라인에 때려박습니다.


모델러가 텍스쳐 만들기 귀찮다고 하루만에 어덯게 만드냐고 찡찡대서 그냥 조명을 이용해서 심플하게 단색으로 처리햇습니다.


문제는 애니메이션인데 짱구를 존~나 굴려 그냥 2d 게임기법처럼 obj 여러프레임을 만들어놓고 바꿔주는식으로 애니메이션 처리를 합니다.


이게 은근 노가다라 모델러가 존나 짜증을 냅니다.


정점버텍스가 몇개없는 로우폴리곤이다보니 훌륭하게 애니메이션 처리가 됩니다.


이렇게 키보드 입력에 따라 캐릭터를 움직이는데 성공합니다.


문제는 몬스터 드랍인데.. 이 몬스터 드랍을 일일히 패턴으로 해야할지 랜덤으로 생성하게 해야할지 고민을 잠깐합니다.


결론은 그냥 1000px을 100m 단위로 생각해서 100m마다 레벨을 증가시켜 레벨에 맞게 뜨는 주기를 바꿉니다.


이렇게 몬스터를 4방향에서 랜덤으로 생성하고 움직이게 합니다.


다음으로 총알을 만듭니다. 그냥 생성해서 쏩니다.


다음은 충돌처리입니다. 3차원 게임이지만 y축은 고정이므로(이당시는 점프가 없습니다.) 그냥 2d게임처럼 bounding box collision, AABB collision에 기반하여 금방합니다.


충돌결과후 총알, 몬스터가 터져야합니다. 이부분은 사각형을 랜덤한 크기로 존나 만든후 xyz 3방향으로 랜덤처리 이동을해서 터트립니다. 나름 예뻐서 스스로 만족했습니다.


다음으로 모델링 하니라 짜증이 날대로 난 디자이너를 구슬려서 점수판, 다시하기 UI를 만듭니다.


색깔과 컨셉으로 존나 싸웁니다.


이렇게 행복하게 잡니다. 이때가 저녁 11시30분쯤 됐습니다.


다음날 일어나 학교를 가니 오전반 수업 친구들이 교수님은 점프와 시점변경을 아주 좋아한다는 정보를 줍니다.


제 발표시간은 5시30분 현재시간 12시..


v키에 따라 시점변환을 줍니다. 이때 조금 해맸지만 결국 카메라 위치와 바라보는 지점을 어덯게 세팅하냐가 관건이었습니다.


점프를 줍니다. 이때 물음표라는 아이템이 필요해서 또 모델링을 닥달합니다. 


물음표를 먹으면 점프가 가능한 게이지를 주어지는데


요런? 점프를 주니 y축이 바뀌네요 충돌처리에 y축도 검사하는 로직을 추가합니다.


게임을 좀 더 역동적으로 보이기 위해 피격후 일정시간동안 카메라를 흔드는 방식으로 떨림효과를 추가합니다.

이제 사운드를 너을차례입니다. 비쥬얼스튜디오의 훌륭한 도구인 nuget에서 사운드 라이브러리를 하나 찾아 그냥 집어넣습니다.


그리고 구글을 이용해 대충 API사용법을 익혀 재생시킵니다.


이때 모델러에게 게임에 어울리는 사운드를 찾으라고 윽박질렀다가 또 싸웁니다.


이제 4시가 되었습니다. 발표할 ppt를 만들어야합니다. 이때 모델러가 나에게 싸여진 불만을 존나 호소합니다.


하지만 제 주장은 이랬습니다


"아니 시발 다른팀은 1달전부터 존나 준비하는데 넌 나만나서 꼴랑 1~2일 고생한거밖에 더있냐?"


결국 존나싸우다가 ppt 만들고 제 수업시간에 들어갑니다.


하필 1빠로 발표를 하는군요.


발표끝나고 뒤에팀들 구경할 틈도없이 술먹으러 ㄱㄱ 


술맛이 참 좋았습니다.