[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
(雛´-`).。oO(ステラナイツ向けのツール開発、始めました。Discord とルールブックがあればステラナイツできるぜ!をとりあえず目指してみる。
— しゅんしゅんひよこ (@Shunshun94) June 17, 2019
とりあえず現状の見た目とか。https://t.co/7Bs56P7a6w ) pic.twitter.com/FqsmtneyzJ
とりあえずリポジトリ切って開発を始めた。リポジトリ
今まで小物を除けば jQuery でごりごりつくってばかりだったが、今回は Vue で最初から最後まで作ってみようと思う。また、どどんとふにはとりあえず対応しない予定。Discord のみ対応。
AWS Summit 2019 に先週はお邪魔してきた。
その中の「AWSのイノベーションカルチャーとは?社員の声」なるセッションで興味深い話を聞いた。 "AWS では社内向けのプロジェクトであっても開始するときにプレスリリースと FAQ のページを作る" らしい。EC2 なら EC2 の紹介ページがあるが、こういうのを作るのだと。
面白そうなのでどこかで真似してみたいものだ。
また、Amazon のリーダーシッププリンシプルなるものの紹介もあった(カルチャー | AWS Japan Recruitmentでも紹介されている)。これに合致する人が Amazon に入れるようだし、恐らくはこれに合致する人が同社内で高い評価を得ているのではないだろうか。これに同意するか否かはさておき、こういう文化は興味深いなぁと思う。
飲み会の場で話題に挙がったのでメモ的に。
ここまで、TRPG のオンラインセッション向けツールを色々と作ってきた。ただし、私はオフラインセッションから入った身である。
オンラインセッションとオフラインセッションの違いは色々あるが「GM が出目をごまかしにくい」というのはオンラインセッションの特徴だと思う。オフラインセッションの GM はマスタースクリーンの裏でダイスを振り、出目が大変に都合が悪い場合はこっそりごまかしたりできるのだ(その是非はここでは考えないこととする)。オンラインセッションはダイスの結果がログとして出るためこれが難しい。
では。出目をごまかせなくても「出目が 1,2,3 しか出ないサイコロを使える」ならどうだろうか? CoC みたいな 1d100 パーセントロールなら「出目が 50 以上しか出ないサイコロを使える」でもいい。GM はこれを必要に応じて切り替えて使用するのである。これで「やっべぇ、強すぎる敵を出しちゃった……!」という時も安心である。
ただ、これって存在が公になった途端信用度がゼロになるので作っても公開できないんだよな……
キャラクターシート倉庫のデータに jsonp でアクセスするでも紹介したがキャラクターシート倉庫のキャラクターデータは外のアプリから利用できる。これをサクサクやるためのユーティリティを書いた。
このご時世に jQuery 使うのもなぁという話もあるので生 JavaScript である。
<script src="https://shunshun94.github.io/shared/other/io/github/shunshun94/trpg/characterSheetsMasashige/client.js"></script>
const client = new io.github.shunshun94.trpg.characterSheetsMasashige.client();
client.sendRequest('scenario', 'ahVzfmNoYXJhY3Rlci1zaGVldHMtbXByFgsSDUNoYXJhY3RlckRhdGEYlvL4Nww').then(console.log, console.error);
Discord 上でオンラインセッションをするに際していくつか難しい点がある。その中の1つが視覚的マップの共有が難しい、という点だ。
これを解決するべく、以下のようなものを作ってみた。
この画像は http://hiyo-hitsu.sakura.ne.jp/sn/map.cgi?place=Aさん,,敵,,Bさん, を表示したものである。URL と画像を比較するとお分かりいただけると思うが、これは URL によって誰がどこにいるのかを管理し、サーバ側で動的に画像を作成している。
サーバサイドは CGI で perl を動かしている。サーバは以下のようなコードとなっている。ただし、同じディレクトリに「font.ttf」と「garden.png」を配置している。前者の font.ttf は「適当なフォントをアップロードしてくれ」と言いたいが私が使っているレンタルサーバだとアップロード可能なサイズの制限にひっかかってしまった。なのでサブセットフォントメーカーを使って記号とひらがな、カタカナ、JIS第一水準漢字のみにしぼっている。一覧はググれば割と出てくる。第一水準漢字+記号+ローマ字+カタカナ+ひらがなとか。
#!/usr/bin/perl
use Image::Magick;
use CGI;
$cgi = CGI::new();
$place = $cgi->url_param('place');
@places = split(/,/, $place);
@xPos = (100, 280, 400, 260, 130, 20);
@yPos = (100, 100, 250, 400, 400, 250);
$filename = "garden.png";
my $image = Image::Magick->new;
$image->Read("$filename");
for ($count = 0; $count < 6; $count++) {
$image->Annotate(
text=>@places[$count],
x=>@xPos[$count],y=>@yPos[$count],
fill=>"#000000",
strokewidth=>3,
antialias=>true,
font=>"font.ttf",
pointsize=>40
);
}
print ("Content-type: image/png\n\n");
binmode STDOUT;
$image->Write("png:-");
print "\n\n";
undef $image;
exit();
後はこの URL を容易に操作・ポストできるツールがあれば現実的に Discord 上でセッションできるかもしれない。