본문 바로가기

전체 글213

게임개발 중급(87) - Monster Killer(49) Monster Killer 헌트모드(Hunt Mode)이 모드를 구현하기 위한 핵심은 두 가지로 나눠서 살펴볼 수 있습니다. 첫번째는 모든 모드에서 사용가능한 기본적인 모드 설정에 따른 레벨의 변화를 구현하는 것과, 두번째로 몬스터가 스폰될 수 있도록 하는 몬스터 스포너(오브젝트 풀)을 구현하는 것입니다. 이번 글에서는 첫번째에 대해서만 이야기 하도록 하겠습니다. 모드 구현일단 확장성이 높은 1~10 까지의 데이터를 가지고 레벨을 로드하기 위해 모드를 구현하기로 했습니다. 그래서 GameManager와 StageLoader를 사용하게 되었습니다. 위와 같은 방식으로 스테이지에 데이터를 담는 클래스를 만들고 해당 데이터를 가지고, 스테이지를 로드할 수 있도록 하는 스테이지 로더를 사용했습니다. 데이터 정보.. 2024. 7. 18.
게임개발 중급(86) - Monster Killer(48) Monster Killer 중간 점검오늘은 킬러모드를 어느정도 정리한 뒤에 게임의 방향성과 더불어 다음 모드를 어떻게 설계해야 할지 점검하는 시간을 갖도록 하겠습니다. 킬러모드를 비롯한 모든 모드의 구현 방향성을 정리해보겠습니다. 모드 구현 계획[킬러모드 : Killer Mode]게임을 처음 기획할 때부터 개발하기 시작한 가장 기본이 되는 모드입니다. 처음엔 단순하고 짧게 즐기는 모바일 게임의 컨셉에 맞게 단순하게 기획되었으나, ID로 로그인하여 접속하는 PC 웹게임으로 기획이 바뀌면서 좀 더 체계적인 시스템을 갖춘 모드로 변경이 되었습니다. 킬러모드의 현재 기조는 여전히 게임의 가장 기본이 되는 플레이 모드로, 키워드로 표현하자면 (노가다, 돈 벌이 수단, 반복 수행 등)이 있습니다. 한 마디로 게임을.. 2024. 7. 15.
게임개발 중급(85) - Monster Killer(47) Monster Killer 데미지 계산기존에 데미지를 계산할 때, 무기 공격력과 부위 별 데미지를 합산하는 과정을 거쳤는데, 그 과정이 조금 엉켜있어서 약간의 분리하는 과정을 진행해주었습니다. 아직 완벽하게 개선된 것은 아니지만, 일단 모든 데이터를 관리하는 GameManager에서 damage의 기본값을 가져와 설정해주고, 강화 수치는 currentDamage, 몬스터 부위 별 데미지는 PartsDamage로 나뉘어서 순서대로 합산 시키는 방식을 사용하도록 했습니다. 기존에는 데미지가 한가지의 변수로 합쳐지는 방식이라 어떤 데미지가 어디서 사용되는지 구별하기 어려웠지만, 3개로 나뉘어 구별하기 편하게 구성하였습니다.  현재 능력치 설정이 공격력 강화 수치가 100인 상태로 킬러모드에 입장하여 몬스터를 .. 2024. 7. 15.
게임개발 중급(84) - Monster Killer(46) Monster Killer 데이터 연동 첫번째는, 데이터 연동입니다. 기존에 여기저기 찢어져서 구현되어 있던 각종 데이터에 대한 정보와 UI들을 업그레이드 버튼, 디스플레이 컴포넌트를 통해 문제 없이 연동하였습니다. 기본적으로 모든 데이터는 GameManager에 정의되어 있는 값을 초기화 하고, 플레이어가 게임을 플레이하면서 강화되는 수치가 지속적으로 저장됩니다. 위 이미지는 게임을 처음 시작하여 초기화된 플레이어 데이터 값 입니다.  킬러모드에서 몬스터를 처치해 골드를 벌 수 있는데, 기존에는 해당 모드에서도 강화가 가능했지만, 기능을 수정하면서 모드 안에서는 강화를 하지 않고 오직 메인화면의 업그레이드 페이지를 통해서 강화를 진행할 수 있도록 바꿨습니다.  골드를 벌고, 제한 시간이 끝나거나, 플레.. 2024. 7. 9.
[로스트아크] - 로스트아크 7월 10일 시즌 3 개막! 로스트아크 7월 10일 시즌 3 개막!안녕하세요 이 페이지도 다시 찾아오게 되었습니다. 사실 조금 늦은 소식이지만, 그냥 넘길 수는 없는 사안이라 작성하게 되었습니다. 국내 RPG 대장의 격돌 이 소식을 전하기 전에, 지난 6월 8일 오후 4시에 로스트아크는 쇼케이스를 진행했습니다. 그런데 같은 날 같은 시각에 넥슨의 메이플스토리도 쇼케이스가 예정되어 있었습니다. 여태까지 이런 적이 없었기 때문에 사람들의 많은 이목을 집중시켰고, 과연 어떤 게임이 더 좋은 쇼케이스 결과를 가져와 승리할 지 눈여겨 보았습니다. 결과를 말씀드리면, 딱히 승리자가 있는 것 같지는 않았지만, 로아가 좀 더 좋은 민심을 보였던 것 같습니다. 메이플은 6차스킬이 나오지 않아 메인디쉬 없는 반찬 모음이라는 말을 들었고, 로아는 내용.. 2024. 7. 7.
게임개발 중급(83) - Monster Killer(45) Monster Killer 안녕하세요 오늘부터는 개발 내용을 주로 이야기하도록 하겠습니다. 이제 상단에 시작하는 인사말은 특이사항이 있는게 아니라면 스킵하도록 하겠습니다. 구조 개선가장 첫번째로는, 너무 오랜만에 프로젝트를 다시 찾아와보니 구조가 상당히 엉망이었다는 것을 알아챌 수 있었습니다. 이 또한 제가 성장했다는 증거겠죠? 간략하게 말씀드리면 기존에 게임의 구조는 정말 러프하게 구현되어 있었고, 객체지향과는 거리가 먼 형태를 띄고 있었습니다. 그 중 특히 심한 것은 플레이어와 몬스터 간의 상호작용, 각종 업그레이드 수단 등이 대부분 UI에 기능이 결합되어 있는 상태였습니다. 한 가지 예시로 플레이어가 형태는 없더라도 하나의 객체로서 플레이어와 관련된 내용을 묶어야 하는데, 플레이어의 공격은 무기쪽에.. 2024. 7. 6.
게임개발 중급(82) - Monster Killer(44) Monster Killer 안녕하세요. 오랜만에 이 글을 다시 쓰게 되었습니다. 거의 1년만에 이 Monster Killer를 다시 들고 왔는데 그 이유는 그동안 1인 개발로 만들던 이 게임을 학교 졸업작품으로 개발하게 되었습니다. 그 말은 즉슨 더 이상 혼자 개발하는 것이 아닌 팀원을 꾸려서 개발한다는 것입니다. 개요 스마일게이트 UNSEEN 2기 수료 후기스마일게이트 UNSEEN 2기 수료 후기 UNSEEN 2기 합격 후기UNSEEN 2기 합격 후기 2022년도에 해커톤을 마치고, 23년도에는 학교에서 졸업작품을 만들며 시간을 보냈습니다. 졸업작품으로도 게임을 만jypgamepro.tistory.com 우선 어떻게 된 것인지 설명을 드리면, 그동안 저는 다른 카테고리에 있는 글에서 말했듯이 학교 생활.. 2024. 7. 5.
스마일게이트 UNSEEN 2기 수료 후기 스마일게이트 UNSEEN 2기 수료 후기 UNSEEN 2기 합격 후기UNSEEN 2기 합격 후기 2022년도에 해커톤을 마치고, 23년도에는 학교에서 졸업작품을 만들며 시간을 보냈습니다. 졸업작품으로도 게임을 만들었는데, 유니티 3D로 만든 어드벤처 게임으로 게임이jypgamepro.tistory.com 어제는 UNSEEN 2기 합격 후기를 작성했는데 이어서 수료 후기를 바로 작성하게 되었네요. UNSEEN 프로그램은 3월부터 6월 말까지 약 3~4개월 간 진행되었고, 6월 28일에 최종 시연을 끝으로 정식 프로그램은 종료가 되었습니다. 정말 많은 일과 배움이 있었는데 그 내용을 차근차근 풀어볼까 합니다. UNSEEN 2기 시작 처음에 UNSEEN의 시작을 알리는 오리엔테이션과 온보딩 시간은 이틀 간 하.. 2024. 7. 3.
스마일게이트 UNSEEN 2기 합격 후기 스마일게이트 UNSEEN 2기 합격 후기 2022년도에 해커톤을 마치고, 23년도에는 학교에서 졸업작품을 만들며 시간을 보냈습니다. 졸업작품으로도 게임을 만들었는데, 유니티 3D로 만든 어드벤처 게임으로 게임이름은 입니다. 아직 출시를 하진 못했지만 시간이 된다면 완성 시켜 출시할 생각이 있습니다. 참고로 이 졸업작품으로 학교 경진대회에서 장려상을 수상했습니다. UNSEEN 2기 지원서론은 이제 마무리하고 이제 가장 최근에 있었던 24년도의 활동에 대해 이야기를 해볼까 합니다. 졸업작품을 마무리하고 졸업을 앞두고 있어서 뭘해야 할까 생각하던 중, 스마일게이트에서 진행하는 UNSEEN이 눈에 들어왔습니다.  UNSEEN unseen.futurelab.center 이 프로그램은 언리얼 개발자를 양성하기 위한.. 2024. 7. 2.
MapleStory Worlds X SUPER HACKATHON 2022 수료 후기 MapleStory Worlds X SUPER HACKATHON 2022 수료 후기 일단 너무 오랜만에 글을 쓰게 되어서 굉장히 낯설게 느껴집니다. 최근에 있던 바쁜 일이 끝나서 글을 쓰게 되었는데 이 글에 해당되는 내용은 아니고 추후에 글을 작성하게 될테니 그때 최근의 일을 이야기 할 생각입니다. 이 글의 내용은 2022년도의 활동이지만, 그 당시에는 블로그를 하지 않았던 터라 이제라도 남겨야 할 것 같아서 작성합니다. 아무래도 시간 순서대로 작성하는 것이 불편하지 않을 것 같아서 과거에 있던 일을 끄집어냈습니다. 그럼 이제 본론으로 넘어가겠습니다. MSW X SUPER HACKATHON 2022 일단 이게 무엇인지부터 살펴보자면, 넥슨(NEXON)과 멋쟁이 사자처럼(LIKELION)이 협업하여 진행한.. 2024. 7. 2.
[스팀 게임] - 파피 플레이 타임 챕터 3, 과연 몇 시리즈까지 나올까? 파피 플레이 타임 챕터 3, 과연 몇 시리즈까지 나올까? 이번에 알아볼 게임은 챕터 3로 다시 돌아온 공포게임 파피 플레이 타임 입니다. 유튜브나 인터넷 방송을 자주 보는 사람이라면 이 공포게임을 하는 것을 한번 쯤은 보셨을 것입니다. 파피 플레이 타임이 뭘까? 파피 플레이 타임(Poppy Playtime)은 1인칭 호러 생존 게임으로 챕터 3까지 나오긴 했지만, 생각보다 세상에 처음 나온지 얼마 안된 게임입니다. 2021년도 10월에 처음 게임이 공개되었고, 스팀에서 큰 인기를 얻으며 계속 게임을 출시해 이번엔 챕터 3까지 나오게 된 것입니다. 게임에 전체적인 스토리는 버려진 장난감 공장에서 펼쳐집니다. 주인공은 그곳에서 다양한 퍼즐과 기믹을 수행하며 스토리를 진행해 나가고, 그 과정에서 수 많은 괴물.. 2024. 2. 22.
[자료구조 4장] - 연결리스트(4) 연결리스트(4) 원형 연결리스트 구조와 구현방법 단순 연결리스트의 마지막 노드 포인터 : NULL 이 마지막 노드 포인터를 첫 번째 노드(head node)의 주소를 가리키도록 할 때 이 리스트를 원형 연결리스트 라고 한다. 원형 연결리스트의 장점 : 어느 하나의 노드로부터 다른 모든 노드로 접근 가능, 검색 시 처음부터 찾지 않고 현재 노드부터 검색 가능, 리스트 결합도 효율적 주의 : 검색을 끝낼 수 있는 노드가 있어야 한다. 없으면 무한루프에 걸릴 수 있다. 학생번호와 학점을 노드에 저장한 자기참조구조체 struct cnode를 다음과 같이 정의하고 이를 기본으로 원형 연결리스트의 구조와 구현방법에 대하여 알아보자. typedef struct cnode *npointer; struct cnode {.. 2024. 2. 18.