본문 바로가기

로그라이크

들어가며

"그래픽 말고 시스템에 대해 설명하는 게임 서적은 없는거야?"


필자는 게임을 좋아한다. 그중 특히 넷핵과 같은 로그라이크 게임을 좋아한다. 그런데 게임을 즐기기만 하던 어느 날 '이 게임들 재미 있지만 다들 뭔가 2%씩 부족해. 내가 만들어 보면 어떨까?' 라는 생각으로 나만의 로그라이크를 만들기로 결심했으나...너무 마이너한 장르였기 때문일까? 딱히 이거다 할만한 서적을 찾을 수 없었다. 엔진을 사용하는 방법이라던지, 애니메이션과 쉐이더 같은 고급 그래픽 기술에 대한 자료들은 넘쳐났으나 퀘스트 시스템은 어떻게 만들어야 하는지, 아이템에 붙는 마법 효과들은 어떻게 만들어야 하는지와 같은 시스템에 대한 설명은 참으로 희귀했다.


그래서 이곳을 빌어 필자가 로그 라이크 게임을 만들어 가는 과정을 기록해 보고자 한다. 그래픽과 엔진에서 제공하는 기능에 대한 것들은 이미 다른 유수의 책과 인터넷이 충분히 설명하고 있으므로, 여기에서는 엔진에 대한 사용법과 그래픽을 표현하는 방법에 대해서는 최대한 자제하고 시스템을 어떻게 구축하면 되는지에 대해 집중적으로 연구해 볼것이다.


어떤 게임을 만들까?


필자가 만들려고 하는 게임은 타일 기반의 2D 턴제 게임이다. Unity를 이용하여 UI와 그래픽들을 표현 할 예정이지만 게임 내부의 로직과 데이터는 최대한 엔진과 구분하여 독립적으로 구현할 예정이다. 게임 내 오브젝트에 대한 표현은 넷핵과 같이 간단한 아스키 코드로 표현하고 퀘스트, 아이템, 레벨, 스킬등과 같은 게임 내 '시스템'에 무게를 두고 개발 할 것이다.


먼저 게임의 핵심인 주인공을 만들고 주인공을 조종할 수 있게 만들어 볼 것이다. 다음엔 주인공이 캄캄한 허공만 방황하게 할 수 없으니 탐험할 맵을 만들고, 맵 안에는 주인공과 싸울 몬스터와 각종 보물 상자들을 만들어 넣어 줄것이다. 주인공이 험악한 몬스터들과 맨손으로 싸울 순 없으니 칼과 방패도 만들어 주고, 다치면 치료하라고 회복 물약, 배고프면 먹으라고 고기 같은 아이템도 만들어 주면 좋을것 같다. 혹여나 몬스터가 진귀한 아이템이라도 떨구면 담아둘 인벤토리도 만들어 주고, 주인공 홀로 싸운다면 너무 외로울 테니 대화를 나눌 npc도 주자. npc는 주인공의 좋은 대화 상대이기도 하지만 주인공에 성장에 도움이 되는 퀘스트도 줄 수 있도록 하는 것을 끝으로 제작을 완료 하도록 하겠다.


부디 이 글들이 여러분의 가려운 곳을 조금이라도 긁어 줄수 있기를 기원하며..

유익한 글이었다면 공감(❤) 버튼 꾹!! 추가 문의 사항은 댓글로!!