본문 바로가기

C#97

게임개발 중급(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.
게임개발 중급(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.
[프로그래머스] - 신고 결과 받기(C#) 신고 결과 받기 오늘은 프로그래머스 코딩테스트 레벨1에 정답률 순으로 정렬한 문제 중 마지막 문제인 2022 KAKAO BLIND RECRUITMENT "신고 결과 받기" 문제를 풀어보도록 하겠습니다. 이 문제의 정답률은 36% 이며, 이번 문제를 풀면 프로그래머스의 레벨1 문제를 전부 다뤄본 것이 됩니다. 바로 문제 살펴보도록 하겠습니다. 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1.. 2023. 9. 29.
[프로그래머스] - 공원 산책(C#) 공원 산책 이번 문제는 "공원 산책" 입니다. 정답률은 40%이고 이제 해당 문제를 풀고나면 레벨1의 마지막 문제만 남게 됩니다. 문제 설명 지나다니는 길을 'O', 장애물을 'X'로 나타낸 직사각형 격자 모양의 공원에서 로봇 강아지가 산책을 하려합니다. 산책은 로봇 강아지에 미리 입력된 명령에 따라 진행하며, 명령은 다음과 같은 형식으로 주어집니다. ["방향 거리", "방향 거리" … ] 예를 들어 "E 5"는 로봇 강아지가 현재 위치에서 동쪽으로 5칸 이동했다는 의미입니다. 로봇 강아지는 명령을 수행하기 전에 다음 두 가지를 먼저 확인합니다. 주어진 방향으로 이동할 때 공원을 벗어나는지 확인합니다. 주어진 방향으로 이동 중 장애물을 만나는지 확인합니다. 위 두 가지중 어느 하나라도 해당된다면, 로봇 .. 2023. 9. 27.
신뢰를 잃은 유니티.. 정책변경 하려다가 개발자들 분노 신뢰를 잃은 유니티.. 정책변경 하려다가 개발자들 분노 게임을 개발하는 사람이라면, 모두가 아는 엔진 두가지가 있습니다. 바로 유니티랑 언리얼 엔진 입니다. 유니티는 가벼운 환경과 높은 범용성 및 다앙한 장점을 두루 갖추고 있어 많은 게임 개발자들이 지금까지도 많이 사용하고 있는 대표엔진 중 하나입니다. 그런데 이런 유니티가 최근에 가격정책에 변화를 주면서 큰 논란이 일었습니다. 변경 예정 사항 유니티에는 라이센스가 총 3가지가 있습니다. Personal, Plus, Pro 이 중에서 Personal은 개인과 학생이 사용하는 무료 라이센스로 게임개발을 공부하는 학생이나 인디 게임 개발자에게 무료로 엔진을 제공하기에 큰 장점이 되었습니다. 하지만 이것도 완전하게 무료는 아닙니다. 여기서 문제가 발생합니다... 2023. 9. 25.
[프로그래머스] - 달리기 경주(C#) 달리기 경주 오늘은 "달리기 경주" 문제를 풀어보도록 하겠습니다. 이 문제의 정답률은 41%로 30퍼대도 얼마 남지 않았습니다. 바로 문제를 살펴보도록 하겠습니다. 문제 설명 얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 1등인 "mumu" 선수를 추월했다는 것입니다. 즉 "soe" 선수가 1등, "mumu" 선수가 2등으로 바뀝니다. 선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 players와 해설진이 부른 이름을 담은 문자열 배열 callings가.. 2023. 9. 24.
[프로그래머스] - 개인정보 수집 유효기간(C#) 개인정보 수집 유효기간 오늘은 2023 KAKAO BLIND RECRUITMENT 출제문제인 "개인정보 수집 유효기간" 문제를 풀어보도록 하겠습니다. 이 문제의 정답률은 41%입니다. 바로 문제 살펴보겠습니다. 문제 설명 고객의 약관 동의를 얻어서 수집된 1~n번으로 분류되는 개인정보 n개가 있습니다. 약관 종류는 여러 가지 있으며 각 약관마다 개인정보 보관 유효기간이 정해져 있습니다. 당신은 각 개인정보가 어떤 약관으로 수집됐는지 알고 있습니다. 수집된 개인정보는 유효기간 전까지만 보관 가능하며, 유효기간이 지났다면 반드시 파기해야 합니다. 예를 들어, A라는 약관의 유효기간이 12 달이고, 2021년 1월 5일에 수집된 개인정보가 A약관으로 수집되었다면 해당 개인정보는 2022년 1월 4일까지 보관 .. 2023. 9. 22.