0. 개발 완료 보고서
| 팀원 | 나윤성, 송권형, 이명진(팀장), 이왕신 | |||
| 활동일시 | 6/23~6/28 | 장소 | 공학 1관 드론융합실 | |
| 프로젝트명 | 다이스 RPG | |||
| 개발 환경 | Language : C / gcc OS : Ubuntu linux |
|||
| 구현기능 |
|
|||
| 예상문제점 |
|
|||
| 해결방법 |
|
|||
| 개발파트 | 나윤성 | 순서도, 전투 외 기능 구현 | ||
| 송권형 | 화면 구성도, 맵 및 아트 디자인 구성 | |||
| 이명진(팀장) | 개발계획서, 일정표, 총괄 및 서류작성 | |||
| 이왕신 | 유스케이스, 요구사항 분석서, 전투 및 이벤트 구현 | |||
1. 요구사항 분석서 체크리스트
| 유형 | 분류 | 중요도 | 세부내용 | USE CASE | 담당자 | 구현여부 |
| 화면 | 시작화면 | 중 | 게임 시작 시 출력되는 화면 | US1 | 송권형 이명진 |
⭕ |
| 마을 | 상 | 마을에서는 상점과 용병 구매를 할 수 있음 | US2 | 송권형 이명진 |
⭕ | |
| 일반상점 | 중 | 물약 구매와 전리품 판매 | US3 | 나윤성 이명진 |
⭕ | |
| 모험가 길드 | 상 | 동료 영입 및 강화 | US4 | 나윤성 | ⭕ | |
| 전투화면 | 중 | 전투 시 출력되는 화면 | US10 US16 |
송권형 | ⭕ | |
| 캠핑화면 | 하 | 캠핑 시 출력되는 화면 | US14 | 나윤성 이왕신 |
⭕ | |
| 승리화면 | 중 | 최종 보스를 처치하면 출력되는 화면 | US12 US17 |
송권형 | ⭕ | |
| 패배화면 | 중 | 보스 처치가 되지않고 모든 원정대가 사망하면 출력되는 화면 | US13 US18 |
송권형 | ⭕ | |
| 마을 | 일반상점 | 중 | 물약 구매와 던전 소모품을 판매 | US3 | 나윤성 | ⭕ |
| 모험가 길드 | 상 | 일정 재화를 소모하여 용병을 구매,및 해고, 강화 | US4 | 나윤성 | ⭕ | |
| 던전 이동 | 중 | 던전 입구를 통해 던전 이동 | US8 | 나윤성 | ⭕ | |
| 일반상점 | 구매 | 중 | 포션을 구매 | US3 | 나윤성 | ⭕ |
| 모험가 길드 |
동료 고용 | 상 | 용병을 구매 | US5 | 나윤성 | ⭕ |
| 동료 해고 | 상 | 용병을 해고 | US6 | 나윤성 | ⭕ | |
| 용병강화 | 중 | 용병을 강화 (강화수치는 체력 +5 모든스텟 +1) | US7 | 나윤성 | ⭕ | |
| 동료 | 전사 | 중 | 기본 용병 / 구매 100G 체력 20 / 피해 +5 / 명중 +3 / 회피 +0 |
US4 | 이왕신 | ⭕ |
| 도적 | 중 | 구매 150G 체력 10 / 피해 +3 / 명중 +3 / 회피 +5 |
US4 | 이왕신 | ⭕ | |
| 사제 | 중 | 구매 300G 체력 15 / 피해 +1 / 명중 +2 / 회피 +1 회복 부여 |
US4 | 이왕신 | ⭕ | |
| 궁수 | 중 | 구매 200G 체력 10 / 피해 4 / 명중 +5 / 회피 +3 |
US4 | 이왕신 | ⭕ | |
| 캠핑 | 치료 | 중 | 일정 체력 회복 | US14 | 나윤성 이왕신 |
⭕ |
| 던전 | 일반 | 중 | 일반 몬스터가 등장 | US10 | 송권형 이왕신 |
⭕ |
| 보스 | 중 | 보스 몬스터가 등장 | US16 | 송권형 이명진 |
⭕ | |
| 전투 | 전투 | 상 | 주사위를 굴려 판정(공격, 회피, 명중, 회복) D20 주사위 주사위 + 스탯 >= 판정값 |
US10 US11 US16 |
이명진 이왕신 |
⭕ |
| 적 | 중 | 일반용 스텟 적용 | US9 | 이왕신 | ⭕ | |
| 화면 | 상 | 간단하게 몬스터와 플레이어 표시 | US9 | 이왕신 | ⭕ | |
| 패배 | 하 | 모든 돈과 동료를 잃고 마을로 가기 | US13 US18 |
이왕신 | ⭕ | |
| 이벤트 | 골드 행운 | 중 | 판정에 따라 돈을 잃거나 얻는다 | US11 US15 |
이왕신 | ⭕ |
| 스탯 상승 | 중 | 판정에 따라 스텟을 올린다 | US11 US15 |
이왕신 | ⭕ | |
| 보스 | 보스 | 중 | 보스용 스텟 적용 | US16 | 이명진 | ⭕ |
| 화면 | 중 | 보스의 도트 아트 모션 출력 | US16 | 송권형 이명진 |
⭕ |
2. 수정문서
1) 순서도
<변경 전>

<변경 후>

2) 추가 구현 보고
| 변경 항목 | 내용 요약 | 관련 기능 / 유스케이스 |
| 체력 하한 제한 | 체력이 0 이하로 내려가지 않도록 모든 피해 처리부에서 hp = 0 처리 추가 | 상태관리 / US13, US18 |
| 크리티컬 판정 함수 | critical_hit_check(int accuracy) 함수 생성, 난이도에 따라 판정 기준 변화 | 전투 / US10, US16 |
| 크리티컬 피해량 | 기존 1.5배에서 2배 피해로 상향 조정 | 전투 / US10, US16 |
| 퍼펙트 힐 추가 | 사제 치유 시 roll_d10() 결과가 9~10이면 체력 완전 회복 처리 | 전투 / 치유 / 사제 특성 |
| 패배 시 체력 회복 | 모든 동료가 쓰러졌을 때 체력 자동 회복 및 마을 귀환 로직 추가 | 패배 처리 / US13, US18 |
| 전리품 드랍 | 적 처치 시 40% 확률로 '몬스터의 정수' 획득, 상점에서 15G에 판매 가능 | 전투 / 인벤토리 / 상점 |
| 크리티컬 난이도 변화 | 던전 레벨(2~5)에 따라 크리티컬 판정 기준이 18 → 14까지 점차 완화 | 전투 / 난이도 반영 |
3. 스크린샷과 기능 설명

<시작화면>
1 을 입력하면 시작할 수 있도록 함

<마을 맵 및 기본 인터페이스>
마을 맵에서는 12시 상점, 6시 모험가 길드, 3시 던전입구를 출력함
인터페이스는 모험가 길드에서 고용한 모험가의 정보를 출력함

<상점>
상점에서는 포션을 구매하거나 전리품을 판매할 수 있음



<모험가 길드>
모험가 고용, 강화, 해고를 할 수 있음

<일반 던전(1층)>
1. 일반 몹(2종류)
2. 랜덤 이벤트(lucky, unlucky)
3. 텐트(40% 확률로 등장)
4. 마을포탈
5. 보스포탈

전투 화면은 공격 시 출력하고, 빗나갈 시 출력되지 않음


보스 맵과 보스 조우 시 출력화면

보스 클리어 실패 시 출력됨

모든 보스를 클리어하면 나오는 화면
4. 전체코드
5. 개인 개발 후기
나윤성
일일이 하는 방법을 찾아서 해야 했기에 구현 가능성과 난이도 등이 신경쓰여 처음에는 쉽게 주제를 정하지 못하고 망설이게 되었다. 잘 하지 못할까 하는 걱정이 앞섰는데 의외로 특별한 오류 없이 만든 게임이 잘 동작 했었고 팀원들과 협업을 통한 기능 추가도 수월했던 것 같다.
내가 주로 했던 게임이 어떻게 만들어지는지 잘 알게 된 시간이었던 것 같다.
구현하고 싶었던 모든 기능을 다 구현 한 것은 아니지만 주어진 시간에 대비해 많은 기능을 구현한 것 같다.
송권형
게임을 해보기만 했지 만들어 본 적은 처음이라서 되게 설레는 마음으로 시작했습니다.
처음부터 제가 생각했던 모든 부분들이 틀리고 어렵다 보니 제가 생각했던거랑은 많이 다르다는걸 깨닫고 하나부터 열까지 하나씩 찾아보면서 하게 되었고 , 그 점에서 많은 난관이 있었지만 끝맺음을 잘 했다는 점이 되게 후련하고 기분이 너무 좋습니다.
처음에 정했던 게임이 서로 의견 조율이 안되서 게임을 다시 정하고 시작을 했습니다.
비록 일주일이라는 짧다면 짧은 시간이였지만 , 깊은 고뇌와 많은 시련을 겪었다고 생각합니다.
처음이라 생각해야 하는게 더 많았지만 , 가장 첫 번째로 해야하는게 구상이라고 생각합니다.
초기에 구상을 잘 못하면 엄청나게 고생을 한다는 점을 뼈저리게 저희 팀원들과 나눴던거 같습니다.
다음에는 같은 실수를 안 해야겠다 라고 다짐을 하게 되었고 , 저는 맵을 담당했었는데 보기에는 간편하게 보였었지만 , 막상 해보니 정말 시간이 많이 들고 그만큼 생각도 많이 해야한다는 것을 몸으로 느꼈습니다.
그래도 개발자로 성장하는데 한걸음 더 다가가게 된 거 같아서 한편으로는 뿌듯하고 개발자라는 직업이 어떤 느낌을 주는지 조금이나마 느꼈던 시간이였습니다.
이명진
이번 팀에서 느낀 것은 의견 조율이였습니다.
처음에 구상했던 것과 사전에 협의가 잘되지 않아 한번 뒤엎게 되었는데, 이 때가 굉장히 고난이었다고 생각합니다.
그동안 RPG류의 게임을 해보기만 했지 만들어 본 적은 없는데, 시각적으로 보이는 곳은 사람들이 직접적으로 볼 수 있기에 중요하다고 생각했지만 실제 구현을 하면서 가장 어려울 부분은 밸런스 쪽이라고 생각합니다.
단순하게 만들어놓은 수치들도 후반부로 갈 수록 저희의 제어에서 벗어나 행동해서 그 부분을 고치는데 많이 시간을 썼던 것 같습니다.
이 부분도 TRPG 라는 랜덤을 기반에 스텟같은 고정상승치를 올려버리니 문제가 생긴 것인데, 이것도 팀원들과 제대로 된 사전협의를 거치지 않아 발생한 문제라고 생각합니다.
앞으로 더 팀원들의 이야기를 적극적으로 듣고 피드백을 할 수 있도록 성장하겠습니다.
팀원들 고생하셨습니다.
이왕신
월요일에 없어서 초기 구상에서 빠진게 아쉬운 시간이었습니다.
RPG를 만들면서 초기 구상이 얼마나 중요한지 알게되었습니다.
TRPG 기반을 생각해서 D20주사위를 생각했던것은 좋았지만 주사위를 판정한다던가 행동을 성공시키는 판정을 할때 밸런스를 잡을 것을 생각하지 못하고 각각의 숫자를 기준으로 잡았다가 나중에 다른 층을 생각하지 못해 적 유닛과 아군 유닛, 스텟같은 부분에서 다시 만들게 되고 전투 또한 7번의 전체 수정과 수많은 자잘한 수정을 하게되었습니다.
물론 그 후에도 게임 내에 직업 밸런스가 맞지 않은거 같아 사제의 체력 회복과 퍼펙트 힐 판정을 만들면서 퍼펙트 힐 부분을 기초로 더 잘만들수 있었을거란 아쉬움이 남았고 이벤트 부분도 이벤트 자체를 만드는 것은 어렵지 않았지만 그 후에 체력이나 스텟을 건들면서 생각하지 못한 부분을 같이 고치게 되는것을 보고 저번 프로젝트와 다르게 함수로 관리 하는 것이 수정과 관리가 쉽다는게 무엇인지 체감하게 되었습니다.
출처 입력
'C > Project' 카테고리의 다른 글
| [LMS7 10/28주차] 0714 C언어와 MySQL을 활용한, 채팅 구현 프로젝트, 5팀 + 완료 보고서 (0) | 2025.08.24 |
|---|---|
| [LMS7 10/28주차] 0714 C언어와 MySQL을 활용한, 채팅 구현 프로젝트, 5팀 + 개발 계획서 (0) | 2025.08.24 |
| [LMS7 07/28주차] 0623 C언어 콘솔 게임 프로젝트, 3팀 + 개발 계획서 (1) | 2025.08.11 |
