5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ユドナリウム用にD&Dモンスターのキャラコマ作成した

Last updated at Posted at 2020-05-06

#概要
D&D5版 SRDのモンスターデータについて、ユドナリウムのキャラクターデータを自動生成したのでその覚書。
ほぼ自分向けのメモ。

コマは以下にあるよ。
https://direboar.github.io/githubpage-test/dist/#/udonarium

#この記事書いた人のバックグラウンド

  • Javaばっかりやってきた
  • 最近は検証用のソースを書くことが多く、ちょこちょこNode.jsで書くようにしていた(がそこまで文法詳しくない)

#使った技術

  • Node.js
  • TypeScript
  • Google Apps Script

#TypeScript
このへん見たりしながら導入してみた。以前仕事で少し使った程度だったがそんなに違和感なく使えた。nullに厳格だったりするあたりは最初ウザイなと思っていたが、慣れてくるとここにnullくる可能性あるのね、と気づくことができて良きってなった。

テストをjestでちょこっとだけ書いたんだけど、この辺参考にしたけどimportする際にエイリアスを設定する方法がうまくいかずハマった。
とりあえずエイリアス使わずにやってるんだがなんでだろこれ?

#XML解析
ユドナリウムはXML形式のファイルなので、XMLのパーサーが必要。また入力データ内にHTNLの断片が残っていて、これを解析するためにXMLのライブラリが必要。libxmljsが割と使いやすそうだったのでとりあえずこれを使った。

#翻訳APIの呼び出し
英文データの自動翻訳をしてみたかったので遊んでみた。DeepL翻訳はそこそこ課金がかかりそうだったので、このへんの記事を参考に、Google Apps Script経由でGoogle翻訳を呼び出して自動翻訳を行った。
これ結構いいね、個人用途で膨大ってわけじゃないデータ量だったら十分さばける。(今回だと1回の変換で、1000回以上は呼び出してそうだけど特に制限かからなかった。)遊びに使うには十分って感じか。

#ユドナリウムのコマに表示する画像ファイルの指定
imageIdentifierに、画像ファイルのSHA256ハッシュを指定するとよい模様。

<data name="image">
  <data name="imageIdentifier" type="image">5dee937f4839d5c922bdd51ca80502ea3355e1bb29f69b214e78b936bf45f290</data>
</data>
5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?