SMAIVNN
article thumbnail
레벨업과 경험치 적용-2
Project 2023. 11. 17. 10:13

이전 게시글에서 레벨업, 경험치를 관련해서 어떻게 구현을 할지 기초적인 설계를 진행했다. 추가적인 설계를 조금 진행한 후 구현에 들어가려고 한다. 데이터베이스 구조 설계 캐릭터 생성 시 그 캐릭터는 약 4~5개의 스텟을 지닌다. 또한 이 스텟은 추가되거나 삭제되거나 등의 변동성을 갖는다. 문제는 나의 요구사항에 따르면 각 스텟별로 레벨과 경험치가 존재하여 각 스텟의 변동 사항을 개별적으로 관리하여야 한다는 것이다. 따라서 캐릭터 내에 스텟을 임베디드 시키는 것과 참조 시키는 것 중에서 어떤 방식이 더 나을까를 판단했을 때, 참조 방식이 더욱 적절하다고 판단하였다. 따라서, 캐릭터와 스텟은 One to Many 관계를 갖는 참조 방식으로 설계를 진행하였다. 실행 흐름 설계 간략히 생각해본 경험치 상승과 레..

article thumbnail
[unknown-epic] 레벨업과 경험치 적용 -1
Project 2023. 11. 15. 23:45

캐릭터를 육성하는 프로젝트를 하나 진행하고 있다. 퀘스트와 같은 행위를 완료할 경우 경험치가 증가하는 알고리즘을 작성해야하는데, 이를 위해 고려할 것이 조금 있다. 요구사항 특정 행동을 완료 했을 때 해당 행동의 카테고리에 속한 능력치의 경험치가 상승한다. 예를 들어 팔굽혀펴기를 하면 근력 경험치가 상승한다. 레벨이 상승할수록 행동에 대해 요구하는 역치가 증가한다. 예를 들어, 근력 레벨 1이 팔굽혀펴기 10개를 하면 힘들어 하지만, 레벨 3이 팔굽혀펴기 10개를 하면 쉬워한다. 이러한 것을 기반으로, 내가 구현할 것에는 다음과 같은 고민이 필요했다. 유저 행동은 정말 다양한데, 어떻게 카테고리화 시킬 것인가? 마찬가지로, 사람의 행동은 정말 다양한데 이것에 대한 경험치는 어떻게 정의할 것인가? 레벨 상..