WinAPI - 아이작의 번제 리버스

김주현·2021년 11월 22일

포트폴리오

목록 보기
2/2

WinAPI 포트폴리오로 준비했었던 기록을 남기기위해 글을 써봅니다.

개발 게임 선정

WinAPI를 이용해 만들 포트폴리오 게임을 선정할때 역시 아이작을 만들고 싶다는 생각을 했습니다.

학창 시절 플래시로도 즐겼던게임이 굉장히 흥행했고 최근 또 하나의 후속작이 나온다고 들은 굉장히 유명한 게임입니다.

저도 플레이를 해봤었지만 생각보다 어려웠고 대신 다른 크리에이터의 영상같은걸 보면서 완주를 했던 기억이있습니다.

그래서 원래 이게임을 한번 모작해보고 싶었고 난이도도 적당한거같아 아이작을 한번 모작해보기로했습니다.

개발 과정

개발 기간은 2~3주 정도 걸렸던거 같습니다. 아무래도 본격적으로 만들어보는 첫 게임이였고 여러 컨텐츠를 개발하려다보니 시간이 생각보다는 오래 걸린거같습니다.

개발기간동안으 거의 노는날 없이 매일 코드를 짯던거 같습니다. 이 기간 동안 느낀점은 정말 반복문과 조건문만있으면 게임을 만들수있겠구나라고 느꼈습니다. 내가 플레이하던 게임이 이런과정을 통해 만들어진다니 정말 대단하다..라는 생각을 굉장히 많이한것같습니다.

구현하기 어려울것같다라고 생각한 맵,미니맵,방,툴 같은 부분은 의외로 짧은 시간안에 구현했지만 플레이어와 보스에서 꽤 많은 공을들인거 같습니다.

은근 아이작 게임의 플레이어 조작은 디테일한 부분이 있습니다 모작이다보니 이를 구현하지 않고 대~충 퉁칠수도있었겠지만 저는 그런 성격이 아니다보니 제 눈에 보이는 디테일들은 모두 구현해보고싶었습니다.

우선 플레이어 이동 부분에선 실제 인게임에서 뭔가 말로표현할수없는 그런 불편한 가속도와 미끄러짐? 이있습니다. 이게 눈으로 뭔가 보이는 점은 아니라서 실제 조작을 해보면 느껴집니다. 이를위해 처음에 짜놓은 코드를 거의 뭉개고 다시 가속도를 이용해 플레이어를 조작하고 이에 맞춰서 애니메이션을 맞춰주는 부분에서 굉장히 애를 먹었습니다.

또한 눈물을 발사할때 현재 플레이어의 이동방향이 영향을 미치는점도 놓치지않고 Tear 클래스에 가속도와 시간값을 다르게 넣어줘서 인게임과 최대한 비슷한 방식으로 구현했습니다.

그외에도 Z정렬이나 폭탄등 여러 디테일들을 잡아주고 보스 패턴에도 많은 공을 들였습니다.

또 좋은 디테일은 Room클래스입니다. 처음 방에 입장할때나 열쇠로 열어놓은 문등 신경쓸 요소가많고 이미지들을 바로 사용하기보다는 포토샵으로 한번 만져줘야할부분이 많아서 굉장히 애를먹었습니다. 중간엔 그냥 없애버릴까 하다가도 상점등 다양한 룸등은 아이작의 매력적인 요소중 하나 이니 포기할수없었습니다.

그래서?

그래서 기본적인 플레이어 조작과 미니맵과 룸시스템,폭탄,픽업아이템,몬스터,보스,컷신,엔딩씬,사운드,HP시스템,그림자 그리고 기본적인 맵툴까지 처음 구현하고자 하는 요소를 모두 구현했습니다.

https://www.youtube.com/watch?v=Xo5La0enVbc&t=348s

소감

API를 이용해 처음만들어본 게임이고 꽤 많은 공을 들여서 기능을 하나하나 완성해가며 꽤 즐거웠던 게임이였습니다. 실제로 완성후 주변 지인들에게 보여주며 정말 괜찮지 않냐고 자랑을 많이하고다녔습니다. 앞으로 게임개발자의 꿈을 키워나가면서 이번 게임을 만들면서의 기억이 많이 날것같습니다. 긴글 봐주셔서 감사합니다.

0개의 댓글