달리는 자들을 위하여 #5
안녕하세요, 이뿡식입니다. 8월에는 수정된 기획에 따라 엔진을 변경하는 큰 변화가 있었습니다. 재미있게 읽어주시면 감사드리겠습니다. 엔진을 바꾸기로 했다 그리드 인벤토리가 아닌 일반 인벤토리를 사용하기로 하면서 게임에는 인벤토리, 퀘스트, 대화 기능만 남게 됐고, 이 정도는 다른 비주얼 노벨 툴로 구현할 수 있다고 판단해서 개발 초기에 빠르게 엔진을 교체하기로 결정했습니다. 물론 지디벨롭으로도 위의 기능 구현에 큰 문제는 없지만, 대화 스크립트 작성에 yarn spinner 클래식을 사용해서 기능이 제한적이고+파서에 버그가 있어 명령어가 빠르게 실행됐다가 느리게 실행됐다가 종잡을 수가 없다는 점에 불만을 가지고 있어 더욱 엔진 교체의 필요성을 느꼈습니다. 어떤 툴을 사용할까 렌파이 https://www.renpy.org/ 비주얼 노벨 툴로 바꿔야겠다고 생각했을 때 가장 먼저 떠올린 것은 단연 렌파이입니다. 파이썬을 사용해서 다양한 기능을 추가할 수 있다는 확장성, 두터운 커뮤니티, 상세한 도움말 문서 등의 장점이 있습니다. 하지만 제가 파이썬을 몰라서 버그가 발생했을 때 스스로 해결하기가 어렵다는 점 때문에 후보에서 탈락하게 됐습니다. 라쿠고, 다이얼로직 https://github.com/dialogic-godot/dialogic 둘 모두 고도 엔진 비주얼 노벨 라이브러리입니다. 렌파이와 마찬가지의 이유로(GD스크립트를 몰라서 버그를 스스로 고칠 수 없다) 탈락했습니다. 투스데이 https://kirill-live.itch.io/tuesday-js 투스데이는 5년 전에 출시됐는데도 업데이트가 활발하고 생각보다 커뮤니티 규모가 있어서, 조용히 치고 올라오는 강자라는 인상입니다. 스크립트가 아닌 노드를 사용해서 스토리를 쓸 수 있고, JS 엔진이라 html css js를 알고 있다면 쉽게 수정할 수 있습니다. 하지만 이미지가 엄청나게 깨져서 픽셀아트 그래픽에 치명적이라 탈락했습니다. 트와인 https://twinery.org/ 서양권에서는 렌파이는 물론 알만툴(!) 이상의 인기를 가진 인터렉티브 픽션 엔진입니다. 투스데이처럼 JS 기반의 엔진이라 웹 개발 지식이 있다면 쉽게 수정이 가능하고, 노드로 대화문 사이를 이어서 스토리를 쓸 수 있습니다. 또 알만툴처럼 커뮤니티에서 다량의 스니펫과 테마를 배포하고 있기 때문에 이것들만 사용해도 근사한 게임을 만들 수 있습니다. 다만 근본이 인터렉티브 픽션 엔진이라 이미지 사용이 제한적이고 그마저도 깨지는 경우가 많아서 탈락했습니다. 티라노빌더 https://tyranobuilder.com/ 티라노 스크립트의 GUI 빌더로, 연출부터 스크립트까지 코드 한 줄 없이 블럭만 쌓아서 개발할 수 있어 매우 쉽습니다. 그러나 성능, 보안 문제가 있고 게임의 규모가 커지면 가독성이 크게 떨어져서(사실 이쪽은 모든 이벤트/블럭 기반 툴의 고질적인 문제) 탈락했습니다. 나랫 https://narrat.dev/ 디스코 엘리시움 스타일의 CRPG를 만들 수 있는 엔진입니다. 인벤토리, 퀘스트, 스킬 체크 등 CRPG에서 흔히 보이는 기능을 기본으로 제공하고, 엔진의 설정 파일 또는 CSS로 UI를 수정할 수 있지만 새로운 UI를 추가하기 위해서는 vue를 써야 하는 등 다른 JS 기반 엔진에 비하면 약간의 난이도가 있습니다. 비교하자면 렌파이 > 나랫 > 기타 JS 엔진 > 티라노 빌더 순서로 쉬워진다고 생각합니다. 제가 원하는 기능이 이미 만들어져 있고, 스스로 버그를 고칠 수 있기 때문에 최종적으로는 나랫 엔진으로 교체하기로 결정했습니다. 진행 상황 모달과 배경을 제외한 UI를 다듬고, 나랫에는 없는 기타 기능(미션의 남은 턴을 표시하는 게이지 등)을 만들고 있습니다. 특히 지디벨롭에서는 성능 코스트가 심해서 쓰지 못했던 연출을 CSS로 가볍게 적용할 수 있어서 만족하고 있습니다. 그리고 플라이의 디자인을 다시 리파인했습니다. 아무리 그래도 서부극, 로드트립을 레퍼런스 삼은 게임에 하라주쿠 스트릿을 입은 캐릭터는 좀 아닌 것 같아서 작품의 톤에 맞게 펑키하게 바꿨습니다. 호불호가 갈릴 수 있을 것 같아 좀 걱정입니다만... 그건 예전에도 그랬어서(ㅋㅋ) 별다른 문제가 없다면 이대로 픽스할 듯 합니다.
- 달자여
- BBUNSIK