전체 글

전체 글

    [RPG 개발] 14일차

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 개발을 하면서 생긴 불편 중 하나가 명령어 새로고침 딜레이가 너무 길다는 점이였습니다. REST API로 디스코드에 요청해서 값을 넣고 가져오는 게 기본 원리인데, 84초나 걸립니다. 대체 왜그럴까 코드를 읽어보니 모든 명령어를 삭제하고 모든 명령어를 다시 등록하던 것이었습니다. 이건 변경되지 않은 명령어도 불필요한 삭제•재생성 과정을 거치기 때문에 명령어 추가와 정보 편집 효율에 너무나도 큰 영향을 끼칩니다. 200 요청 제한을 다 사용할 정도였으면 말 다했죠. 그래서 직접 고치려 했으나 구조를 직접 짠 당사자도 아니거니와 정작 이 구조는 미완성이기도 해서 그만뒀습니다. ​ ​ PvE 시스템을 개발 중입니다. 이걸 완성하면 머지않아 PvP..

    [RPG 개발] 13일차

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 슬레쉬 명령어를 통한 함수 사용에 성공했습니다. 이전에 구조를 잘 짜둔게 정말 큰 도움이 되었습니다. 디스코드는 봇이 보낸 메시지를 스스로 수정할 수 있는 .editText 메소드가 있으니 임베드 기능과 함께 도배 방지에 집중..하기 전에 일단 모든 명령어를 포팅해야 합니다. 계정 등록이나 로그인 명령어는 DM에서 해야 하기 때문에 그부분도 만들어야죠. ​ 슬레쉬 명령어의 가장 큰 장점이라면 이걸 뽑을 수 있겠습니다, 바로 옵션 기능이죠. 굳이 원하는 매개변수가 아닐 경우를 생각하지 않아도 됩니다, 옵션에서 다 제시해주니깐요! 필수 인자를 생략하면 슬로우 모드처럼 화면이 흔들립니다. ​

    [RPG 개발] 12일차

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 언어적으로 Rhino.js -> Node.js + Typescript, 플렛폼적으로 카카오 -> 카카오 + 디스코드 전환을 병행하다 보니 일부가 아니라 정말 모든 명령어에서 문제가 생겼습니다. 고질적인 버그까지 저를 동시에 괴롭혀서 오늘 게임적 버그 대부분을 퇴치했습니다. ​ 위 사진을 보다시피 게임 대부분이 번역되었습니다. 또한 내구도 시스템 역시 정상 궤도에 올랐습니다. 짱돌이 드디어 제대로된 내구도를 가졌네요! 고블린 인벤토리가 고루 분포되었습니다. 물가 역시 올랐고요, 아직 게임 콘텐츠와 구조에 몰두할 때라 밸런스에 소홀히 다룰 생각입니다. 그나저나 고블린 출현율이 정말 드물게 나와서 만족스럽습니다. 유저가 어느정도 아이템이 모였을 ..

    [RPG 개발] 11일차

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 한 스크립트에서 디스코드 봇과 카카오톡 봇을 동시에 돌리는 데 성공했습니다. 게임 모듈을 공유하면서 생긴 가장 큰 문제가 모듈로 전달할 Message 객체는 remote-kakao의 인터페이스인데 이를 디스코드와 어떻게 공유하는가 였습니다. 답은 의외로 간단했습니다. remote-kakao의 인터페이스를 쓰지 않고, 대신 새 타입을 선언하고 카카오와 디스코드 두 서버 콜백함수에서 타입에 맞는 객체를 생성하여 onMessage 함수로 전달하는 것이였죠. ​ 테스트를 해본 결과 외국인도 도배 본능은 똑같나 봅니다.

    [RPG 개발] 10일차

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 요즘 많이 바빠서 글을 올리지 못했습니다. 타입스크립트 포팅 + 구조 개편 + 언어 분리 + 번역 + 이로인해 발생된 버그 수정을 한번에 다 할려니 이리 치이고 저리 치였습니다. 심지어 한번은 깃 문제로 파일이 하나 날라가서 멘탈도 손상을 입었고요. ​ 그래서 하루씩 띄엄띄엄 근황을 전해드리고자 합니다. 대충 번역이 끝나고 기존 기능이 모두 다 정상적으로 작동될 때 다시 일일 글을 올리도록 하죠. ​ 그리고 이참에 깃허브로 새로 만들었습니다. 별총을 쏴주세요! https://github.com/Sharlottes/RTTRPG

    [RPG 개발] 9일차

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 디스코드 서버와의 연동에 대해 알아볼려 했지만 고난과 역경 앞에 그냥 지인분이 공수해올 라즈베리파이 서버를 사용하기로 결정짓고 소스코드의 전반적인 개편을 시작했습니다. ​ 알다시피 라이노는 짭바스크립트입니다. node.js가 지원하는 es6의 기능 다수를 지원하지 못합니다. 하지만 타입스크립트는 자유로운 버전 호환과 더 엄격한 타입, 새 기능들과 변태급의 모듈화 편의 등의 다양한 장점이 있었고, 즉시 rhino js를 typescript(es5)로 변환하기 시작했습니다. ​ 단순히 타입만 선언해서 될 게 아닙니다. node.js로 갈긴 갈건데 현재는 라이노 js이기 때문에 어쨋든 자바패키지를 참조할려는 뒤틀린 욕망이 자아낸 구조 약 280개..

    [RPG 개발] 8일차

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 사실 개발을 하던 일주일동안 미루고 미루던 과제들이 있었고, 분할 처리를 하여 과제 누락을 해결하려 했으나 정신나간 코딩욕으로 어제 TODO를 다 끝내고 과제를 다 안해버렸습니다. 자잘한 핫픽스를 제외하곤 오늘은 새로 만든게 별로 없네요. 그럴만한게 제대로 개발을 한 시간이 1시간 채 안되니깐.. 아무튼 오늘과 내일은 개발이 매우 저조할 것 같습니다. 이번 TODO는 규모와 양이 말해주듯이 하루로 감당하는 양이 아닙니다. 일주일마다 TODO에서 완료한건 지우고 필요한건 새로 추가하여 그 주 일요일에 모든걸 끝내는 방식을 갖출겁니다. 이번 주 목표는 전투 시스템의 완성입니다. 밸런스와 여러가지 버그가 종합적으로 방해를 하기 때문에 이참에 타입..

    [RPG 개발] 7일차

    참고: 이 일지는 네이버 카페로부터 옮겨진 레거시 게시물입니다. 어제의 TODO. ​ 원래 주먹은 1데미지입니다. 전투 보상은 적 레벨에 따라 양과 질이 다릅니다. 최소 2개의 아이템을 받습니다. 이후 아이템의 질을 구분하기 위해 아이템에 등급을 매겨야 할 것 같습니다. 새 무기들을 추가하면서 공격 시스템을 약간 변경했습니다. 매 공격마다 무기의 내구도가 하락하고 0에 도달할 경우 파괴되어 다시 주먹으로 변경됩니다. 차후 "전환하기" 선택지를 추가하여 가방에 있는 다른 무기로 바꿀 수 있도록 할 생각입니다. 내구도 뿐만이 아니라 치명타 역시 추가되었습니다. 일정 확률로 데미지의 n배만큼의 데미지를 가하는 치명타는 가끔 전투를 더 빠르게 종결내기도 합니다. ​ 점선까지 모자이크해 버렸네요 미발견 아이템은 ..