본문 바로가기

스테이지8

게임개발 중급(96) - Monster Killer(58) Monster Killer 보스 세팅이제 마지막 컨텐츠인 보스 모드 입니다. 보스 모드는 다른 게 어려운게 아니라 10 마리의 보스를 다 특색있게 만들어야 한다는 것이 어렵습니다. 제가 유료로 에셋을 구매하여 게임을 만드는 것이라면 멋진 보스몬스터를 구하는 것은 그렇게 어렵지 않을 수도 있지만, 일단 저는 무료로 사용할 수 있는 리소스만 활용하기 때문에 쉽지 않을 것으로 보입니다. 보스 개념 정의보스를 세팅하려고 보니 한 가지 걸리는 것이 있었습니다. 바로 보스의 개념이 정립되어 있지 않았다는 것입니다. 무슨 말이냐면 이 게임의 이름은 "Monster Killer"인데 현재까지 등장하는 모든 몬스터는 '드래곤', '용'의 형태를 띄고 있습니다. 그래서 아예 드래곤으로 10마리를 전부 채울 지 아니면 딱히.. 2024. 9. 10.
게임개발 중급(91) - Monster Killer(53) Monster Killer 보스 모드(Boss Mode)이제 보스 모드를 만들어 볼 것 입니다. 우선 기획은 스테이지에 입장 시 한 마리의 보스만 등장하고 다른 몬스터와 마찬가지로 부위 별로 공격할 수 있게끔 할 것입니다. 그리고 킬러 모드의 헌트 모드에서는 몬스터가 존재하기만 하면 자동으로 공격을 시전하고 플레이어의 위치와 상관없이 데미지가 들어오지만 보스는 좀 다르게 할 예정입니다. 맵 디자인가장 먼저 스테이지를 제작해 보겠습니다. 에셋스토어에서 무료로 이쁜 맵을 구하면 좋겠지만 역시나 맘에 드는 것을 찾기 힘들어 스케치팹을 통해 3D 맵을 선정하여 가져왔습니다. 보스 맵이기 때문에 웅장한 분위기를 조성하기 위해 멋있는 맵을 찾았습니다. 실제로 사용되는 공간은 가운데 원형으로 되어 있는 곳입니다. 현.. 2024. 8. 11.
게임개발 중급(89) - Monster Killer(51) Monster Killer 스테이지 관리이전에 구현했던 헌트모드에 대한 스테이지 정보를 불러오는 기능을 모든 모드에서 사용할 수 있도록 확장했습니다. 킬러모드를 제외한 총 3개의 모드가 있는데 각 모드 별로 플레이에 필요한 정보가 다르기 때문에 각각의 모드에 대한 정보가 다르게 저장되어 사용되도록 만들 생각입니다. 게임 매니저에서 관리를 위해 정의해둔 각 스테이지 데이터를 Base를 만들고 그것을 상속받아 파생시킨 각 모드에 대한 데이터를 모두 만들어 줍니다.  그리고 이전에 스테이지 정보를 불러오기 위해 싱글톤으로 작성한 StageLoader에서 사용할 수 있도록 각 인덱스 별로 스테이지를 불러오는 GetStageData함수를 만들어 줍니다. 이제 각 모드는 모드에 맞게 설정된 인덱스 번호를 바탕으로 .. 2024. 8. 1.
게임개발 중급(87) - Monster Killer(49) Monster Killer 헌트모드(Hunt Mode)이 모드를 구현하기 위한 핵심은 두 가지로 나눠서 살펴볼 수 있습니다. 첫번째는 모든 모드에서 사용가능한 기본적인 모드 설정에 따른 레벨의 변화를 구현하는 것과, 두번째로 몬스터가 스폰될 수 있도록 하는 몬스터 스포너(오브젝트 풀)을 구현하는 것입니다. 이번 글에서는 첫번째에 대해서만 이야기 하도록 하겠습니다. 모드 구현일단 확장성이 높은 1~10 까지의 데이터를 가지고 레벨을 로드하기 위해 모드를 구현하기로 했습니다. 그래서 GameManager와 StageLoader를 사용하게 되었습니다. 위와 같은 방식으로 스테이지에 데이터를 담는 클래스를 만들고 해당 데이터를 가지고, 스테이지를 로드할 수 있도록 하는 스테이지 로더를 사용했습니다. 데이터 정보.. 2024. 7. 18.
게임개발 중급(56) - Monster Killer(18) Monster Killer(18) 이전에는 데미지 UI 버그수정 및 3차 코드정리를 진행하였습니다. 오늘은 다음 몬스터를 연결해주는 작업을 알아보도록 하겠습니다. 몬스터 연결 과정 현재 스크립트를 통해 다음몬스터를 소환하고, 이전 몬스터의 모든 정보들을 이어주기 때문에 사실 아웃렛 접속을 통해 다음 몬스터 프리팹을 연결해주기만 하면 소환이 가능합니다. 하지만 몬스터가 기존 몬스터처럼 사용되어지게 하려면 많은 과정을 거쳐야 합니다. 1. 사용할 몬스터 프리팹에 컴포넌트 추가 저희가 사용하고 있는 모든 몬스터 프리팹에는 오디오 소스와 몬스터 컨트롤러 컴포넌트가 들어가 있습니다. 이 두개는 꼭 추가를 해주어야 합니다. 2. 몬스터 연결 설정 추가한 컴포넌트를 통해 아웃렛 접속을 하여 다음 몬스터를 연결해주고,.. 2023. 6. 17.
게임개발 중급(50) - Monster Killer(12) Monster Killer(12) 저번에는 데미지 텍스트를 구현하는 과정에 대해 다뤄보았습니다. 이번에는 플레이어에게 스테이지에 대한 정보를 알려주기 위한 UI를 만드는 과정을 다뤄보겠습니다. 스테이지 UI 생성 스테이지 UI는 다양한 방식을 통해 사람들에게 다음 스테이지를 안내해 줄 수 있습니다. 저는 매우 간단하게 체력바와 같은 슬라이더를 사용하여 UI를 만들겠습니다. 체력바 밑에 작게 슬라이더 하나가 생겼습니다. 근데 이 슬라이더는 점이 4개가 존재합니다. 이 스테이지바에서 점은 몬스터의 개수 및 단계를 시각적으로 표시해줍니다. 저는 이 UI에서 체력과 마찬가지로 빨간색으로 된 슬라이더의 value값을 사용하여 진행도를 표시해 주겠습니다. Monster Controller using System.C.. 2023. 6. 11.
게임개발 중급(43) - Monster Killer(5) Monster Killer(5) 어제는 체력바에 텍스트로 현재,최대체력 표시와 애니메이션 컨트롤러를 통한 애니메이션 조작에 대해 다루었습니다. 오늘은 간단한 레벨디자인에 대해 이야기 해보겠습니다. 레벨디자인 단어 자체만 보면 뭔가 어렵고 복잡한 것처럼 들리지만, 실제로는 게임을 해본 사람이라면 거의 대부분이 경험해봤고, 어떻게 해야 하는지 어느정도 알고있습니다. 정말 단순하게 보면 레벨을 설계하여 단계별로 게임을 플레이하는데 재미를 느낄 수 있도록 만들어주는 것입니다. 하지만, 해당 분야에는 전문가들도 존재하는데 그 이유는 쉽게 디자인하는 건 누구나 할 수 있지만, 이 레벨디자인은 게임의 전반에 밸런스, 난이도 등에 영향을 끼치므로 더 재밌고 잘 만든 게임을 만들기 위해선 상당히 복잡하고 어려워질 수 있.. 2023. 6. 3.
게임개발 중급(29) - 3D 게임 만들기(9) 3D 게임 만들기(9) 저번에는 아이템의 랜덤위치 리스폰에 대해 알아보았습니다. 이번에는 말했던 것처럼 게이지를 사용해 일정 개수마다 스테이지를 넘어갈 수 있도록 만들어 보겠습니다. 그리고 특정 스테이지 이상을 넘어가면 게임을 클리어하도록 하겠습니다. Stage UI 일단 스테이지를 알려줄 UI를 만들어줍니다. 간단하게 텍스트로만 표현해 줄 것이기 때문에 스코어 텍스트 처럼 만들어주고, 왼쪽 상단에 배치하겠습니다. 이제 스크립트를 작성하여 아이템을 먹은 갯수와 게이지의 양에 따라 스테이지가 바뀌도록 해주겠습니다. 새로운 스크립트를 만들지 않고 게이지를 컨트롤 했던 GameDirector에 코드를 추가로 작성하겠습니다. GameDirector using System.Collections; using Sys.. 2023. 5. 20.