참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다.

구조적 개선. 이를테면..
• 한 아이템 스택에서 모든 아이템이 하나의 내구도를 공유
• 유저와 엔티티가 자체적인 공격 쿨타임을 지녀 공격 책임이 분산
• 자신의 인스턴 스을 인자로 받는 정적 메서드
게임 개선
• 기존에 존재하던 불규칙적인 런타임 DiscordAPI 에러
• 제대로 적용되지 않는 번들 시스템
• 불필요한 계정 생성 단계(다중 계정)
• 매우 불필요한 전투/교환 이벤트 책임 분산
게임 시스템에서 유저에 대한 의존성을 크게 낮췄습니다. 다중 계정을 깔끔히 포기하고 대신 번들 시스템을 부활시켰습니다.
각 이벤트들을 Manager 클래스로 묶었습니다. 각 Manager 클래스에서 그 이벤트와 관련된 모든 것들이 처리됩니다. 유저 클래스의 필드였던 battleLog, enemy, interval 등 특정 이벤트에서만 쓰이는 필드들은 모두 각 Manager 클래스로 이전되었습니다.
저장하기/불러오기 구조를 크게 바꿨습니다. 이제 User의 모든 데이터를 강제로 stringify 하여 저장하지 않습니다. 원하는 데이터만 선택적으로 저장합니다. 이는 의도치 않은 자신을 참조하는 구조체의 stringify 시도를 가려낼 수 있음 뿐만이 아니라 불필요한 데이터를 저장하지 않음으로써 최적화를 노렸습니다. User 클래스의 save, read 메서드는 이때 무슨 데이터를 어떻게 처리하여 내보낼지, 받은 데이터를 어떻게 처리하여 적용할지 능동적으로 수행하는 메서드입니다.
교환 시스템도 개선했습니다. 상대방이 npc일지라도 보유금을 가지게 되며, 유저가 팔려는 아이템의 금액보다 보유금이 더 적다면 구매할 수 없게 됩니다.
상대방의 상태창을 더 이상 조회할 수 없게 만들었습니다. 옵션 개수 제한으로 모든 유저들을 힌트로 선택할 수 없게 되었을 뿐만이 아니라 근본적으로 타인 정보 조회는 좋지 않다고 보았기 때문입니다.
자동 저장을 추가했습니다. 저장은 이벤트가 발생할 때마다 실행되지만 이벤트의 지속 시간이 너무 길 경우 의도치 않은 서버 종료에 취약해질 수 있기 때문입니다.
아직 완벽하게 로컬라이징이 끝나지 않았습니다. 일부는 여전히 영어라 지속적인 개선이 필요합니다. 또한 너무 적은 아이템은 아무리 구조가 개선된다 한들 확보된 다양성을 밖으로 표출할 수 없게 만듭니다. 더 많은 콘텐츠가 필요합니다.
전투 시스템은 이게 끝이 아닙니다. 다양한 스킬과 아이템, 부가 효과가 미구현 상태에 머물러있습니다. 당장 눈앞에 있는 상태 이상은 지금까지 정의로만 존재했던 개념입니다. 이제 더 많은 아이템과 함께 이들을 구현할 차례가 왔습니다.
사실 고등학교 졸업까지 이 게임을 완성하는 건 어렵다고 봅니다. 하지만 졸업하면 유니티도 해볼 생각이 있기 때문에 그 이전까진 적어도 누군가에게 적극적으로 홍보할 수 있을 정도로 안정화하여 만들 생각입니다.
'프로젝트 > RTTRPG' 카테고리의 다른 글
[RPG 개발] 근황 (0) | 2022.12.05 |
---|---|
[RPG 개발] 디스코드 봇 개발(2) (0) | 2022.12.05 |
[RPG 개발] 신나는 로컬라이징 (0) | 2022.12.05 |
[RPG 개발] 26일차 (0) | 2022.12.05 |
[RPG 개발] 25일차 (0) | 2022.12.05 |