読者です 読者をやめる 読者になる 読者になる

QuestNotes開発日記

MMOTRPG「QuestNotes(クエストノーツ)」を開発しています。不具合や要望があればぜひご一報ください。 

コミュニケーション、レベル周り等のシステム修正

MMORPGはコミュニケーションツールとしての側面も強いので、
基本的な部分で快適かつ安心して楽しめるようにしたいと思っています。
そのため今回は以下の点を修正しました。

ログイン状態の表示
f:id:questnotes:20170518020907p:plain
とりあえずログインはしているが、すぐには反応できない、という状況はよくあるようでしたので、「退席中」、「取り込み中」とログインステータスを変更できるようにしました。
Skype等のコミュニケーションツールによくある機能になります。)
取り込み中にした場合は、ゲーム内効果音がミュートされます。
また、15分間操作がない場合は自動で退席中になります。

フレンド外からの個別チャットのデフォルト無効
f:id:questnotes:20170518021738p:plain

見ず知らずの人からいきなり個別チャットが飛んで来るのが苦手なプレイヤーもいるようでしたので、デフォルトではフレンド以外のプレイヤーからの個別チャットは非表示にするようにしました。
TwitterでもDMはデフォルトでは相互フォローのみのようでしたので、それに倣いました)
マスターの方など、フレンド以外からも個別チャットを受け取りたい場合には、設定より変更してもらえればと思います。

また、諸々コミュニケーションのシステムを調整したので、以前設定した「オープンボードでは30秒間公開チャットが連投できない」という制限を10秒に変更しました。

その他

レベルシンクまわり
以前取り入れたレベルシンクという機能をより活用できるよう以下の実装しました。
f:id:questnotes:20170518021958p:plain
ステータスの変更は修正してから確定するようにしました。
変更間違えを防ぐのと、シンクされるタイミングがわかるようになればと思います。
(シンクされるタイミングが生成されるたびに「+」が表記されるようになります)

また、レベルシンクは自分がする以外に
ランダムキャラクター呼び出しをする際に、レベルシンクを行った状態のキャラクターも現れるようにしました。
自分のレベル帯での指定クラスのキャラクターがいない場合もあったので、これでより希望したクラスのキャラクターとパーティーを組みやすくなればと思っています。


サイド(敵か味方か)をステータス修正エフェクトで変更できるようにしました。
f:id:questnotes:20170518022116p:plain
一時的に、敵を混乱させて、敵味方を反転させた行動をさせたりという表現ができるようになります。

また、プレイヤー同士でPvPを遊ぶときに、ナイトのスキル「ガーディアン」が正しく動かないという話があったので、このエフェクトをイベント等で予め付与して、サイドを変えてもらえればと思っています。

GoogleChrome向けタッチ版QuestNotesを公開しました。

f:id:questnotes:20170421011036p:plain
ブラウザ上でそのまま動作するJavascript製QuestNotesを公開しました。
http://www.questnotes.net/app/touch/
にて公開中です。(内容はスマートフォンで公開中のタッチ版相当になります)

ウェブサイトのトップページの中央からリンクがありますので、そちらからもご利用いただければと思います。
f:id:questnotes:20170421014830p:plain

ブラウザ版は、何もインストールしなくてもすぐ遊べるので、新規プレイヤー参入のハードルの低下につながればと思います。

今回このタイミングでブラウザ版に注力したのは、FireFoxでもSilverlightのサポートがなくなったことと、VisualStuddo2017にてSilverlightの開発サポートがなくなってしまい、もう少しHtml5に力を入れるべきだなと改めて思いはじめてのことでした。

ともあれ、まだ一部未実装/不具合/動作が重い等もあるままなのですが、移植ばかりに集中してサービス全体がおざなりになってしまうのも残念なので一区切りをつけて、ひとまず公開しました。。。
取り急ぎ並行して開発を進められるメドはできたので、今後、通常版、タッチ(アプリ)版と並行して更新していければと思います。

また対応ブラウザにつきましては、開発作業をGoogleChromeで行ってきたので、現在はGoogleChromeのみを対応とさせていただきましたが今後順次追加していければと思います。

名称について

スマートフォン向け、および、ブラウザ向けを「タッチUI 版」から「タッチ版」に変更しました。
「タッチUI(ユーザーインターフェース)版」と今ままで命名していましたが、「UI版」と略されることがしばしばあり、内容が伝わりにくくなる可能性があると思い"UI"を削除して、タッチ版に変更しました。

タッチ版に向けた仕様変更

将来的に用意したいタッチ版で機能として、ユーザー登録せずそのまま遊べる機能をつけたいと思っています。
ユーザー登録するのはやはり手間ですし、昨今のスマホゲームでは会員登録させるほうがめずらしいと思っています。
また、ゲーム紹介サイトの「ふりーむ」さんでは、ゲームの掲載条件としてユーザー登録不必要であることを明示しているので、ユーザー登録なしで遊べるようにすればゲームの公開先も広がるのかなと思っています。
(他プラットフォームでアカウントを共有したいとき、あるいはマスター作業をしたいときみユーザー登録を必要にできればと思っています。)

LV、CP、キャラクター作製の仕様変更

レベルシンク(レベルの同期)の実装

f:id:questnotes:20170312034926p:plain
現在、キャラクターのLV差ができてしまうと、他のプレイヤーと対等に遊ぶのが難しくなってしまったり、低レベル向けクエストが、バランスを楽しめない/楽しんでもらえない、という状況がありました。
そこで、自分のレベルを一時的に調節できる「レベルシンク」の機能を追加しました。

LV5ごとにそのときのステータス保存されて、クエストを引き受けていない時に、自由に切り替えることができます。
また、推奨レベル以上でクエストを引き受ける場合には、
レベルシンクを行わないと、追加報酬を得られないようにしました。
(これに合わせて、10分以上で追加報酬が得られる仕様は削除しました)

レベルキャップ(最大レベル)の引き下げ

レベルシンクというシステムがあったとしても、やはり最大レベルでのビルド戦略を立てたり、最大レベル向けの高難易度クエストをクリア、作成するのは楽しいと思います。
しかし、そこに至るまでの道が長すぎるせいで、その楽しみに触れれるプレイヤーが減ってしまうのはもったいないと思いました。
(レベリングはMMORPGというジャンルでの楽しみの一つではありますが、クエストノーツでの楽しみはレベリングよりもロールプレイやプレイヤーの創作を優先すべきと判断しました)

諸々鑑みて、レベルキャップを30に引き下げを行いました。
ただ、単純に引き下げてしまうと、総利用可能CPが減りステータス成長の幅が減ってしまう、というのは避けたいと思ったため、1LVごとに取得できるCPを5から8に増加させました。

これによって総利用可能CPは以下になるかと思います。
LV50で5CPごとの場合:49*5=245
LV30で8CPごとの場合:29*8=232
若干減ってしまっていますが、大きな減少は避けられればと思いました。

キャラクターメイキングの修正

上記修正によって、
LV30時の総CPは294(48(初期ステータスが全部10になる分のCP)+14(初期振り分けCP)+232(レベル上昇分の取得CP))
となります。
これが微妙に切りが悪かったので、初期振り分けCPを6増加させて、合計CPを300(48+20+232) に変更しました。

これによって、レベルシンクとなるCPもわかりやすくなったかと思います。

LV5(=CP100)、LV10(=CP140)、LV15(=CP180)、LV20(=CP220)、LV25(=CP260)、LV30(=CP300)

また、合わせて、キャラクターメイキング時の基本スキルをCPに変換させるシステム、余ったCPをルドに変換させるシステムを廃止しました。
(現状、ルドの価値がCPほどない&ステータスリセットで修正できないステータス差は好ましくないと判断しました)

ただ、基本スキルのCP変換がなくなったことによって、「イマイチ自分のキャラクターの個性に合わないスキルでも選択しないともったいないから3種類取得する」、というのもしっくりこなかったので、
基本スキルもレベルを上げられるようにし、スキルポイントの割り振りは、いろいろな個性のスキルをとるか、一つのスキルを特化するかを選べるようにしました。
f:id:questnotes:20170312034935p:plain
合わせて、基本スキルによる判定の補正値は+5固定だったものから、LVによって+3,+6,+10に変更しました。

この仕様変更によるゲーム内データの影響

  • 全てのキャラクターのステータスをリセットしました

お手数ですが、再度CPを割り振っていただければと思います。

  • 4つ以上基本スキルを取得していたスキルの削除

こちらはゲーム内で変更するための口を用意できませんでしたので、基本スキルを変更したい方は
https://goo.gl/forms/GH7hFveRBFAQVdqW2
より変更を変更を受け付けます。
(3つ取得している場合の変更も受け付けています。)
(後日、手動で変更対応いたします。)

  • クエストの推奨レベル分類の変更、

1~5、30以上、の分類を削除し、"-(指定なし)、初心者、~10、11~20、21~"に変更しました。
(初心者、初級者、中級者、上級者、という感じになったので、クエスト作成時の分類もしやすくなったかなと思います。)

わりと大きな仕様変更になってしまい大変恐縮です。
新規の人が入りやすく、既存のプレイヤーも楽しみかたが広がるシステムを用意できればと思っておりますので、ご理解とご協力いただければ幸いです。。。
今後ともよろしくお願い致します。

クエスト報酬と複数アカウントについて

今回はゲームが抱えるシステムの問題の対策を検討してみました。

クエスト報酬システムの調整

f:id:questnotes:20170207025157p:plain
以前、クエストの内容がないものが大量に公開されてしまうという問題が起こりました。
この問題をシステム的に防げないかと考え、以下の点を導入しました。
・新規クエストの公開は一日一回まで
・自身の作成したクエストからは報酬を取得できない

また、クエストのプレイ時間による報酬の調整を行うようにしました。

クエストの基本報酬は現在以下になっていますが、
20経験点 (+50ルド、報酬袋とクラス経験値と名誉点)

3分未満でクリアしたクエスト報酬を以下に制限しました。
10経験点 (+20ルド 、報酬袋とクラス経験値と名誉点はなし)

また、マスター条件による追加報酬を得られるのは10分以上のクエストに変更しました。(最大50点までで増減可能。)

これによって内容が伴わないクエストを遊ぶ/公開するメリットが少なくなればと考えています。
クエストを楽しむことと、キャラクターを成長させることが相反しないようなシステムにできればと思っております。

(追加報酬については、現在だとマスターが経験点を低くするメリットがないため、
もう少しトレードオフが生まれるよう調整をできればと思っています。)

複数アカウントについて

もう一つ昨今の懸念事項となっていた「1ユーザーが複数アカウント」の件について改めて考えてみました。
現在複数アカウント の禁止を明示しているのですが、そもそも複数アカウント 理由としては以下の4点になります。

・目的1・サーバーへの負荷対策
大量のリソースアップロードはサーバー負担につながるので防ぎたい。
・目的2・他のプレイヤーに快適に遊ぶのを妨げる行為を防ぐ
ランキングの意図的な操作等で、個人の意思がゲーム全体に影響をあたえるのは好ましくない。
・目的3・ゲームの進行度の公平性を保つ
複数アカウントによるリソースの共有で、ゲーム内を有利にすすめる行為を防ぎたい。
・目的4・パトロンのメリットの創出
不便の解消をパトロンの導線にする。

しかし、実際には複数アカウントを完全に防ぐためのはなかなか難しいという状況がありました。

例えば以下を検討してみましたが、どれも完全に防ぐのは難しそうでした。
・同一IPからの接続禁止を行う=>家族で同時に遊ぶ場合等にも制限がついてしまうのは好ましくない
・SMS認証をアカウント登録時に必須にする=>アカウント登録の敷居が高まってしまうのは好ましくない

そのため現在の規約違反の具体的な対応がとれず、黙認してしまっている現状でした。
(また、ゲームや他のプレイヤーに対して悪意を持っていないユーザー様に対してペナルティを与えるという行為も気が引けました。)

しかし、形骸化したルールは、その他のルールの軽視にもつながる可能性もあるので、少なくとも形骸化だけでも避けられないかと検討しました。

同様の事例を調べようと思い、他社のオンラインサービスを見てみましたが意外と オンラインゲームやCGMサイトでは複数アカウントを禁止していないサービスもあったので、必ずしもMMORPGやユーザー創作サービスの健全性を保つために複数アカウント禁止は必要ないのでは、と思いました。

個人が楽しむ分で数個アカウント作る分にはサービス全体に悪影響を与えるとは考えつらいので
目的 1,2については大規模な複数アカウントのみを制限すればよく、
目的 3についてはゲームシステム的に防げるようにできないかを随時検討できればと思います。(「名誉点」のようなアカウント間で共有できない資産の価値を高める等で 、単一のアカウントでプレイしたほうが効率がよくなるようにできればと思います。)
目的4については、別途メリットを用意できればと考えています。(現在考えているのは、新システムや新規ゲームデータ(クラス、ボード、クエスト)の先行公開になります。)

以上のことから、完全な複数アカウントの禁止をしなくてもよいのではないかと判断しました。
そこで複数アカウント自体は許可するが、複数アカウントを利用した悪質な行為(ランキング操作やリソースの大量保有等)があった場合には、運営はアカウント停止の措置を行える」ように規約を変更させてください。

  • 改定前

■第10条 アカウントの保有
ユーザーは1人につき1つのアカウントを保有するものとします。1人が複数のアカウントを保有すること、1つのアカウントを複数人が共同して保有することはできません。但し、当社が特に認めた場合は除きます。 ユーザーはいかなる場合においても、アカウントを第三者に譲渡又は貸与することはできません。

  • 改定後

■第10条 アカウントの保有
本サービス及び関連サービスでの活動に必要性がある場合においては、その他の利用規約に反しない範囲において複数のアカウントの保有を認めるものとします。1つのアカウントを複数人が共同して保有することはできません。 ユーザーはいかなる場合においても、アカウントを第三者に譲渡又は貸与することはできません。
および
■第14条 禁止行為 から 「( 11 ) 複数のIDを取得する行為」の削除

(また、この変更によって「マスターでの名義はプレイヤーのものと分離したい」、「マルチプレイの動作確認作業を自分ひとりで行いたい」という要件にも対応できるかと思います。)


ゲームを安全に楽しく遊べる環境を、規約とシステムの面から用意できればと思うので、
今後もいろいろと変更があるかもしれませんが、ご理解とご協力のほど、よろしくお願い致します。

明けましておめでとうございます&クラス「ドルイド」追加、等

明けましておめでとうございます!
年末に更新をしようとしていたのですが、
もろもろ間に合わず年明けになってしまいました。。。
遅くなりましたが、本年もよろしくお願いいたします。

今回の更新内容

f:id:questnotes:20170108224524p:plain
クラス「ドルイド」の追加
補助よりの魔法職です。
スキルは以下になります。
http://www.questnotes.net/Reference/Skill/Druid
味方の間接的サポートと敵の行動阻害を中心としたスキルセットになっていので、ぜひ触ってみていただければと思います。


新しいギミックとしてはダイス操作エフェクトと地点指定スキルになります。
f:id:questnotes:20170108225002p:plain
ダイス操作はTRPGでよく見るエフェクトな気もします。
その他のTRPGでは、ダイス目をみてからダイス操作を行うかを決定するものが多い気がしますが、QuestNotesのエフェクトでは実装上常に変更してしまいます。ただ、それでも表現できる幅は広がったかなと思います。

地点指定は行動の宣言時に場所しか選択できないため、対象の移動先を意識して行動を宣言する必要があります。
使いにくくなる分、その分性能をよくする等のトレードオフを表現できればと思います。

■ゲームデータの調整
「アンブッシュ」
AP4->AP5
アンブッシュとは「待ち伏せ」という意味なのですが、AP4だと移動+アンブッシュと自分から能動的に仕掛けることができてしまうので修正しました。
(対象がAP4以上の行動をしたときのみできるリアクションにしようとしたのですが、現状だと表現することができませんでした。。)

「ガーディアン」
公開範囲を距離1のみから距離1以下に変更しました。またスピード+1を追加しました。
重なった場合に機能しなくなるのは使い勝手も悪く、イメージにもそぐわないためもう少し守護の対象を広げました。
合わせて、ブランディッシュ(範囲1にダメージ)とも相性がよくなったので、
味方を側に引き寄せ、庇いながら敵を薙ぎ払うということができるようになったかと思います。

「スリーピング」
レンジ4→レンジ3
単体を無力化できる強力な魔法なので、少し弱体化させました。
今回追加したドルイド用の状態変化スキルに合わせました。

(スキルの変更のため、クラスが『メイジ』『ナイト』『アサシン』のキャラクターは1/31まで、キャラクターリセットが200ルドになります)

今年の話

年明け最初の開発ブログ投稿なので、開発の方針や検討中の予定について書いてみようかと思います。


まず、QuestNotesのコアは「創作」だと思っているので、
ひとまずクエスト制作環境の設備を重視していきたいと思っています。

クエストを作りやすくするのはもちろん、公開した後のプレイされている反響確認をもっとしやすくし、マスターの楽しさを伝えやすくしたいと思っています。
また、プレイヤーの面からもたくさんのシナリオから自分が遊びたいシナリオ・マスターを見つけやすくなるようシステムの改修を考えています。
既にいくつか提案がありますが、そちらも参考にシステム面からサポートをしていきます。

その他では、去年実装が間に合わなかった以下の点は引き続き実装したいと思っています。。
・「オープンボード」
クエストと関係なくでQuestNotesの世界を冒険できるようにします。
・「アイテム制作」
素材からアイテムをできるようにします。(こちらはシステム自体は実装済みなのですが、素材の入手経路をどうしようかと検討中です・・。)
・「セッション」
一般的なTRPGのオンラインセッションをできるようにします。

また、新しいクラスを考えるのは個人的にも楽しいので、
折を見て追加していければと思っています。

システム外

ゲームの中身と直接関係ない部分では、以下を検討中です。

・「英語化&Steamリリース」
Steamは海外専門売り切り有料ゲームだけというイメージを持っていましたが、
最近では日本の個人でも公開できたり、FreeToPlay型のゲームも公開されていたりと
あまり堅苦しく考えなくてもよいのかもしれません。
PCゲームといえばSteamという認識もあるので、ここにリストアップはいつかされてみたいと思っています。
(言語圏ごとにサーバーを分割必要する必要もありそうですが、先日サーバーをクラウド化したので気軽に北米にサーバーを設置できるようになったのも検討し始めた理由のひとつです)

・「オープンソース化」
RPGツクールがコア部分をオープンソース化するということで、QuestNotesもオープンソース化することが開発を加速させられるのかなーとも考えています。
すべてのオープンソースはセキュリティ的な面から厳しいですが、クライアントのコア部分だけでも公開するのは面白いかなーとも考えています。

・「Unity化」
昨年のUnity5.5アップデートで.NETFramework4.6相当になったらしいので、Unityを敬遠していた最大の理由がなくなりました。
特にUnityはマルチプラットフォームに強いので、あわよくばNintendo SwitchでQuestNotesを動かせたら楽しそうです。

・「ブラウザ化」
やはりインストールなしですぐ遊べるというのは大きいのでブラウザ版の開発はしたいと思っています。(もしかしたらUnityを採用すればこのあたりも解決できるのかもしれません。)


どれも少し重要な選択になると思うので、実際の予定は未定です。

パトロンについて謝辞&周知

去年はパトロンの募集を始めさせていただいて、アイコンの作成依頼やサーバーのクラウド化といった実費が必要な面を支援者の皆様の力を借りて、改善していけるサイクルをつくれたのは大きな一歩となりました。
フリー素材だけに縛られる必要がなくなったりと、選択肢の幅が広がっていくのは楽しいものなので、今後もQuestNotesが支援してもらえるよう魅力的な空間にしていければと思っています。
支援者の皆様、昨年は本当にありがとうございます。もしよろしければ本年もお付き合いいただければ幸いです。
(今回の新クラス用スキルアイコンが用意できたのもパトロンの皆様のお陰です!)

さて、支援は上記のようなゲーム全体としての改良につながるのと同時に、パトロン様自体への直接な特典(キャラクタースロット増加等)もあります。
その特典の設定が若干おざなりだったので、支援終了してくださった方向けのアカウントの棚卸しとID紐づけ方法の修正を行いました。
(支援終了した方が一般会員に戻るような処理がありませんでした)
もし該当される方がおりましたら、お手数ですがゲームにログインしてご確認いただければと思います。


[QuestNotesでは開発を支援してくださるパトロンを募集しています]
http://www.questnotes.net/Topic/Patron/


今後ともQuestNotesの発展させていければと思いますので、本年もどうぞよろしくお願いいたします。

他のプレイヤーキャラクター呼び出しのデータ固定化

今までは常に、呼び出したキャラクターの最新の情報を見に行っていました。
そのため、プレイヤーAが他のプレイヤーBのキャラクターをNPCとして参加させ、
次の日にプレイヤーAがログインしたときに、プレイヤーBのステータスが変わっている可能性がありました。
f:id:questnotes:20161203042411p:plain
これはシナリオのクリアの障害にもなりうるし(次の日ログインしたら、呼び出していた仲間NPCキャラクターのクラスが変わっていた、等が起こりえました)、
不具合の温床になっているような気もしたので、今回仕様を修正しました。

呼び出し時のキャラクターのステータスを固定化して、呼び出し以降に、呼び出し先のプレイヤーキャラクターの装備・ステータス・スキルが変わっても影響しないように修正しました。

サーバー移転しました!

先日ですが、サーバーをクラウドに移転しました。
これによって自宅サーバーと比べて、安定したサービス提供ができるかと思います。
また、将来ユーザー数が増えたときにも柔軟に拡大できるのが強みになりそうです。

諸問題がないわけでなく、クラウド環境になれていないためご迷惑をおかけすることもあるかと思いますが、安定した運営を続けていければと思うので、今後ともよろしくお願いいたします。。

今回の外部クラウド移転は基本有償ですが、パトロン様方の支援のおかげで試してみるという決断ができました。
活動の選択肢が広がるは本当に助かります!
今後共よろしくお願いいたします。

[QuestNotesでは開発を支援してくださるパトロンを募集しています]
http://www.questnotes.net/Topic/Patron/

ログアウト中のキャラクターを非表示に変更

f:id:questnotes:20161028043840p:plain
オープンボード(クエストに参加していないときのボード)にて、
ログアウトしているキャラクターは非表示に変更しました。
(アクティブシーンだった場合、シーン終了時に非表示に変更)

もともとログアウトしてもキャラクターを残していたのは、ログイン・ログアウトを繰り返して敵の攻撃を避けるようなことができないようにするための仕様でしたが、常に残しておくとごちゃごちゃしすぎる&通信量が増えるということで、基本的には非表示に変更しました。

そろそろオープンボードの着手をしたいところ・・・。

ログの表示について

f:id:questnotes:20161028043306p:plain
ログを特定の内容のみを表示するフィルター機能と文字サイズの変更を変更できるようにしました。

フィルターの機能はプレイヤー自身のためのシステムの改善ですが、文字サイズの変更は遊んでいるプレイヤー以外にそのゲーム画面を見ている第三者への改善にもなっていればと思います。


もともとTRPGはプレイする人たちによって物語が大きく変わってくるので、リプレイ(セッションを文字に起こしたもの)というのが、ひとつのTRPGの楽しみ方として根付いています。
昨今では、動画配信と組み合わせて、TRPGを実況をする/見るという楽しみ方も増えてきたと思います。

そして、なんと先日ありがたいことにQuestNotesでも実況動画を作ってくださる方がいました!

今後はクエストノーツも動画配信との相性も考慮した開発もしていければと思いました。
今回はまず初めにクエストノーツは文字ベースのゲームなのでメッセージの読みやすさがほしいなと思い、「ログの文字サイズ変更」をできるようにしました。

その他にも、もし動画制作・配信している上で欲しい機能等があればぜひ提案していただければと思います。
今後共よろしくお願いいたします。