Discordbot

    [RPG 개발] 48일차

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 최근 메시지 접근 구조를 완전히 바꿨습니다. 이제 데이터의 키는 상호작용의 id입니다. 최근 메시지에 대한 의존성을 제거하면서 유닛과의 의존성 역시 많이 제거했습니다. ​ 불필요한 파일들을 대거 정리했습니다. 대개 게임 개발 이전에 테스트 용도로 만들어뒀던 파일들입니다. 이참에 gitignore도 업데이트하고 config.json에서 불필요한 값들을 모조리 제거했습니다. Content.ts의 수많은 클래스들은 content/ 딕셔너리 안에서 모두 모듈이 되었습니다. 게임과 관련된 모듈은 모두 game/ 딕셔너리 안으로 이동되었습니다. ​ 번들 적용 범위를 디스코드 locale에 맞춰 확장했습니다. 해당 프로퍼티 파일이 없을 경우 기본값인 e..

    [RPG 개발] 근황

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. buy 버튼을 누르면 BuyManager에서 임베드를 다시 렌더링 한다. sell 역시 동일하다. ​ ​ 만약 마지막 인자를 생략한다면 "뒤로가기" 버튼이 등장하지 않는다. ​ 고블린은 알루미늄 검을 지닌다.

    [RPG 개발] 디스코드 봇 개발(2)

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 개선 이전 이후 ​ 사실 코드를 짜고 테스트를 할 때마다, 이 약간의 컴파일 딜레이가 굉장히 거슬렸습니다. 어느 부분에서 얼마나 걸리는지 확인을 했고, 스크립트 초기화 과정만 약 5초가 걸린단 사실을 알아냈습니다. 먼저 불필요한 명령어 초기화를 걷어냈습니다. 이들은 애당초 디코 봇 개발 초기, 게임 기획 이전부터 약간의 연습과 슬래시 커맨드 등록 자동화를 위해 만들었던 일종의 샘플들이었기에 굳이 지금 사용할 필요가 전혀 없기 때문입니다. 두 번째로 명령어 초기화도 최적화를 했습니다. 이 초기화 과정은 게임을 재시작할 때마다 실행되는 초기화 과정과 달리, 디스코드 API 요청을 통해 소스코드에 저장된 명령어들을 디스코드에 업로드하는 과정입니다..

    [RPG 개발] RPG 개발중

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 구조적 개선. 이를테면.. • 한 아이템 스택에서 모든 아이템이 하나의 내구도를 공유 • 유저와 엔티티가 자체적인 공격 쿨타임을 지녀 공격 책임이 분산 • 자신의 인스턴 스을 인자로 받는 정적 메서드 ​ 게임 개선 • 기존에 존재하던 불규칙적인 런타임 DiscordAPI 에러 • 제대로 적용되지 않는 번들 시스템 • 불필요한 계정 생성 단계(다중 계정) • 매우 불필요한 전투/교환 이벤트 책임 분산 ​ ​ 게임 시스템에서 유저에 대한 의존성을 크게 낮췄습니다. 다중 계정을 깔끔히 포기하고 대신 번들 시스템을 부활시켰습니다. ​ 각 이벤트들을 Manager 클래스로 묶었습니다. 각 Manager 클래스에서 그 이벤트와 관련된 모든 것들이 처리..

    [RPG 개발] 신나는 로컬라이징

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 인터렉션의 언어 속성 지원이 짐을 많이 덜어준 것 같습니다. 반쯤 내려놓던 기능이었는데 다중 계정을 깔끔히 덜어내니 바로 눈에 보이네요. 다중 계정과의 의존은 없었지만 그걸 계기로 새롭게 달성한 것이니 아이러니하죠.

    [RPG 개발] 26일차

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 선택지 임베드 개선: 전/후 선택지 결과 메시지를 임베드에 포함시켰습니다. ​ ​ ​ 전투 임베드 개선: 전/후 ​ 체력 바와 부분별 제목을 추가했습니다.

    [RPG 개발] 25일차

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 유저 상태창을 크게 개선했습니다. canvas 모듈을 통해 임베드 썸네일 자리에 경험치 바를 넣었으며, 유니코드 바를 통해 일부 스탯을 표현했습니다. 이후에도 표시할 정보가 늘어날 때마다 개선을 거듭할 생각입니다. ​ 전투 시스템을 완벽히 고쳤습니다. 업데이트 동기화 문제와 전투 결과가 씹히는 문제를 해결했습니다. ​ 교환 시스템을 완벽히 고쳤습니다. 이제 아이템이 0인 항목 버튼은 자동으로 사라지며 정상적으로 저장됩니다. 저 첫 번째 발견 알람 역시 저장 오류로 인한 문제였으며, 오늘 고쳤습니다. ​ 이제 콘텐츠 구조를 크게 개선할 차례이지만, 학생의 신분으로 인해 불안정한 개발 시간에서 구조 설계를 온전히 해내는건 힘들거라 봅니다. 때문..

    [RPG 개발] 24일차

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. https://github.com/Sharlottes/nodejsbot/commit/ca04caef374b5efbee73a4e12950249d9fba0e2a update · Sharlottes/RealTimeRPG@ca04cae Show file tree Showing 20 changed files with 5,667 additions and 6,887 deletions. github.com 이동한 새 개발환경의 변경점을 모두 푸시했습니다. 다음에도 일지마다 커밋 기록을 올릴 생각입니다. 게임 진입점 격인 rpg_. ts에서 굳이 처리할 필요가 없는 코드들을 모두 다 정리했습니다. 대표적으로 전투, 교환, 명령어, 유저 관련 함수 및 변수들..