見出し画像

ストーリーエディタ NoveLand 2024年3月〜7月の活動報告

お久しぶりです!
長らく開発のみに注力していたため、前回から5ヶ月ぶりの活動報告となります。
Xでの投稿もあまりしておらず、そろそろ皆さんに忘れられてしまっているのではないかと思ったため、記事を書くに至った次第です。
また、今後の方針についてもある程度固まってきたので今回はそういった情報の共有もします。


振り返り

3月以降のおよそ70回ほどアップデートにより、NoveLandも結構変わりました。
細かいアップデート内容は以下のリリースノートにありますので、目立った変更点のみピックアップします。

正式版リリース

NoveLandはこれからも長い期間、ストーリーを作る方々の創作活動を支えるべく運営を続けます。
その運営を持続させるためにプレミアムプランを実装し、そのリリースのタイミングでサービスのバージョンを正式版 Ver. 1.0.0 としました。

登録可能な作品数、キャラクター/オブジェクト数の上限など、もともと無料プランに対してはもっと厳しめな制限を貸そうと思っていたのですが、取っ払えるものは全部取っ払って無料でも複数作品書き上げられるようにしました。

詳細は以下のページで紹介しています。

個人的にイチオシなのはメモタグですね。
自分が使う時はTODOリストとして使うことが多いです。

エディタ設定

文字の大きさなどを調節できるようにしました。

ツールバーやフッター部分を隠すこともできたりして、本文以外の情報を完全に排除して執筆することが可能です。

ダークモード

ユーザーの方から要望があったことと、僕が仕事終わりの夜中に開発することが多いため、目の負担を和らげるためにダークモードを実装しました。
右上のユーザー設定から変更することができます。

個人的には少し青すぎるかなぁと思っているので、いつかもっと純粋な黒に近づけるかもしれません。

執筆記録

執筆した文字の量を毎日記録する機能を追加しました。
カウント方法については迷ったのですが、追加した文字数と消した文字数と分けてカウントすることにしました。

アウトライン

ストーリーの流れを執筆画面から見やすくするために、アウトライン機能を実装しました。
各エピソードに登場するキャラクター/オブジェクトのアイコンが表示されているため内容を思い出しやすくなっています。

この機能が実装されるまでは執筆するエピソードを変更するためにはいちいちプロット画面に移動しなければなりませんでしたが、これにより目的のエピソードをすぐに発見 & 移動できるようになったはずです。

モバイル対応

現在画面のスマホ表示対応を着々と進めており、残すはプロット画面のみです。
モバイル対応が一部未対応のモーダル表示もそろそろ見飽きてしまった方もいるかと思うので、早く対応しきっちゃいたいですね💦

メモ・セクション・エピソードのリッチエディタ化

UI的に少し分かりづらいため気づいていない方もいるかもなので紹介します。
作品のあらすじ以外の各種説明欄で、太字やリストを使えるようにしました。

これにより、整理がつきやすくなったはずです。

執筆補助機能

読みやすい文章を書くための執筆補助機能をいくつかリリースしました。
一番直近で言うと、自動校正機能がそうです。

他にも執筆画面右側のインスペクタの「分析」タブを充実させたりもしており、これらの詳細は以下の記事にまとめてあります。


今後について

ちょっと開発事情のお話

技術的な話になるため、飛ばしちゃってもOKです。
要約すると、1ヶ月くらいは大きな機能追加の変更はしないよ、と言う感じです。

プロジェクトの開始から2年近くが経ち、ベータ版のリリースから数えて来月で一周年となるNoveLandですが、実際に運用しながらサービスの特性もだいぶ見えてきたため、バックエンドの言語を他の言語からTypeScriptにまるっと書き換えることを計画しています。

執筆画面で使用しているエディタライブラリがあるのですが、エクスポートしたJSONをバックエンドでいじりたいみたいなことが結構あって、別言語でそれをパースする処理を書いたりしていました。

現状はまだ大丈夫ですが、流石にこれをいつまでも続けるのは大変だし、その別言語というのが結構マイナーな言語なので、仮に新しい人が加入したときに学習コストが大きくなってしまいます。

もう少しフッ軽に開発を進めたいのでそういう意図で言語の移行作業を行うことにしました。
そのためしばらくはバックエンドには大きな変更を入れられず、機能追加とかは少し先の話になりそうです。
自動校正機能の設定情報がサーバーに保存されずにブラウザごとに保存ってなっているのもこれが理由です。

バグ修正などをしつつ、移行作業が終わったら以降で紹介する機能を計画しています。

バックアップ機能

現状執筆中の本文はctrl+zを押すことで前の状態に戻すことができるのですが、例えば操作を誤って消してしまった後に画面遷移などをしてしまうともう復活させることができません。

NoveLandは発言者や本文の埋め込みなど少し普通のエディタと比べて作業が多いためダメージがでかいです。

そこで、n日前に保存した文章の状態に戻せるようなバックアップ機能を実装する予定でいます。

実はもうすでにバックアップ自体はとられており、あとは細かい調整をするだけなので他の機能と比べて早く追加されそうです。

AI機能の改善

NoveLandには生成AIを用いた機能がいくつか実装されているのですが、あまり改善できていないため使いづらい場面が多々あります。
原因はAI機能は用途を限定しているため柔軟性が足りておらず、もっとこうできたらいいのになぁとなってしまいます。

下手にプリセットを用意するのではなく、ユーザーが自由にプロンプトを入力できるような形に変えたりする予定です。
そして、このAI機能の改善は次の検索機能へとも繋がっています。

検索機能の追加

現状NoveLandで本文の特定の箇所を探し出す機能は、ブラウザの検索とキャラクター/オブジェクトの登場シーン一覧機能のみです。
ストーリーが長くなってくるとやや物足りなくなってきます。

そこで、ストーリー全体に対する検索機能を実装することを計画しています。
ここでいう検索機能は2種類の意味があります。

1つは単純な文字列検索です。
特に説明はいらないと思います。

もう一つはセマンティック検索というやつです。
どういうことかというと、意味やニュアンスを検索することが可能であり、例えば「キャラクターAとBが初めて出会うシーン」みたいな入力を行うと、実際にそのエピソードが検索で引っかかる、みたいなイメージです。

最近はAIの発展が目覚ましく、この機能が割と現実的に実現可能なんじゃないかと考えています。
そして、この機能が仮にうまくいったら将来的に小説投稿サイトとして、小説自体を雰囲気で検索することができるようになるかもしれません。

準備がちょっと大変ですが個人的に一番楽しみにしている機能です。

キャラクター/オブジェクト一覧画面のUIを改善

オブジェクト一覧画面はオブジェクトの種類を登録することができるのですが、現状キャラクターはできません。

発言者を設定する都合上、モブキャラも登録しないといけないので、主要キャラと同じ階層に置いてあるのはちょっと見通しが悪くなってしまいます。

なので、キャラクターを何かしらの方法でグルーピングできるようにしようと考えています。
今の所オブジェクトと同じ感じになりそうです。

あとは、カスタム設定項目に文字列以外の数値とかセレクトボックスとかそういうのでも選択できるようにしたり、テーブルをソートできるようにしたりしてもいいかなと考えています。



以上が今回の活動報告でした!
また次回はある程度内容が溜まったらやります🙋

この記事が気に入ったらサポートをしてみませんか?