退職してからリハビリがてら細々と続けていたバベルの塔『TRPGURE』が、とりあえず使える段階までできたのでリリースしてみました。紆余曲折あったバベルの塔ですが、リリースしただけで誰にも触られずに終わっていくのは悲しいので、ここで記事として書くことで供養したいと思います。
作ろうと思った理由と内容の変遷
TRPGが好きでクトゥルフ神話TRPGのシナリオやキャラクターをシステムで管理出来たら便利じゃん?と思っていたので、退職後に腰の手術で入院していた時に作り始めたのがきっかけでした。うつ病のこともあってしばらく作る気力すらない時期もありましたが8割がた完成まで持っていくことができました。ですが、進むにつれてシステムのボロが見えてくるようになり、今の仕様ではいけないと思って見なおすことにしました。
そこで検討した結果、既存のサービスでできることはそっちに任せて、できないことを自分のサービスとして実装する方針でシステムのスリム化を目指すことにしました。つまり、キャラクターシートの管理は既存のwebサービスを使えばいいし、開催日の決定は調整さんで決めればいいということです。
..ぶっちゃけるとDiscordを使えば全部解決できるのですが、DiscordはTRPG用のシステムとして作られたわけではないのでTRPGを開催する回数が増えると管理が面倒になってきます。そこをサポートできたらな、という狙いがありました。
開発環境の変遷
- Windows10
- VirtualBox
- Ubuntu16.04
- Laravel8
- MySQL
- Bootstrap4
から、途中で以下に変更
- windows10
- WSL2
- Ubuntu20.04
サイトの使い方
この章の最下部にこのサイトの説明動画を掲載しているので、そちらを確認してください。簡単に述べると以下のようになります。
シナリオ参加者募集の場合
- アカウントを作成する
- シナリオ募集画面で募集したいシナリオを作成する
- シナリオ参加希望者にフレンドコードを発行し、相互フォロー関係になる
- シナリオ詳細画面で参加者のキャラクターシートなどを確認する
シナリオ参加者の場合
- アカウントを作成する
- 一緒に遊びたい人にフレンドコードを発行してもらい、相互フォロー関係になる
- トップページやセッション一覧画面から参加したいセッションを選択し、参加する
- セッション参加画面でキャラクターの情報を入力し決定する
- キャラクター管理画面から編集画面に遷移して、作成したキャラクターシートの情報を追加する
- シナリオ詳細画面で他の参加者がいればその人のキャラクターシートなどを確認する
サイトのメリット
このサイトを利用することで、シナリオの参加を募ることと、そのシナリオに参加したキャラクターの確認が容易になると思っています。なぜなら、現状はDiscordなどを利用してこれらの管理をしていると想定していますが、Discordでは発言をするたびにタイムラインが流れていくので、利用するたび欲しい情報が見つけづらくなるというデメリットを抱えているからです。ピン止め機能やチャンネルを分けることで緩和することはできますが、管理が面倒になっていきます。このサイトを利用すれはDiscordで行われる作業を分散させることができます。
改善案
シナリオ募集、キャラクタークリエイト、シナリオ参加、成長報告といったTRPGにおけるシナリオ1回分の作業をこのサイトで完結できれば良かったのですが、複数のTRPGを対象とする関係上諦めることになったのが改善案でしょうか。遊ぶゲームシステムに合わせてキャラクタークリエイトのテンプレートを切り替えたり、データベースへのキャラクター情報の格納方法を工夫すれば対応できるようになるのかもしれません。
感想
初めてLaravelというPHPフレームワークを触って実装しましたが、私の勤務経験上触ったどのPHPフレームワークよりも理解しやすく実装しやすかったです。いい勉強になりました。
コメント