新規記事の投稿を行うことで、非表示にすることが可能です。
2017年07月02日
RPGアツマール コメント削除申請手順について
◆RPGアツマール コメント削除申請手順について
■はじめに
RPGアツマールで修正済みの過去の不具合コメントが表示されて困っている……という方向けにコメント削除申請の手順をまとめてみました。
所要時間は数分程度、かんたんです。
[必要条件]
・作品投稿者本人の操作(要niconicoアカウント)
・PC環境(スマートフォンでは困難)
■手順
1)RPGアツマールのサイトから、投稿者ページへログインする
https://game.nicovideo.jp/atsumaru/
2)「コメントダウンロード」のリンクからコメントファイルをダウンロードする
[コメントファイルの例]
[コメントファイルの意味]
commentNo:おそらくRPGアツマール側で識別しているコメントの番号です
leafCode:作品のどの部分で投稿されたコメントなのかが判別できます
mapXX→コメントされたmapIDを示します
btlXX→バトル中のコメントであることを示します
__title→タイトル画面のコメントであることを示します
command:コメント投稿時のコマンド内容を示します
content:コメント内容を示します
createdAt:コメント投稿日時をYYYY/MM/DD HH:mm:ss形式で示します
(例:2017年7月1日2時3分45秒→2017/07/01 02:03:45)
3)画面下の「コメント削除申請」のリンクに進む
4)コメント削除申請のフォームを入力する
[入力項目]
ゲームID:作品URLの「gm数字」の「数字部分」
例)重力ルーペの場合「3311」
https://game.nicovideo.jp/atsumaru/games/gm3311
削除希望のコメント:
2でダウンロードしたコメントファイルの一行(commentNo、leafCode、command、content、createdAtのセット)を貼りつける
入力が完了したら「入力内容を確認する」に進む
5)申請内容のプレビュー画面が表示されるので問題がなければ「この内容で応募する」をクリック
次の画面が表示されたら申請完了となります。
反映は1〜数営業日内とのことです。
■ご参考
コメント内容をより追跡する方法
例)
「map7 お洒落( 'ω' و(و"♪」
これはmap7で「お洒落( 'ω' و(و"♪」と入力して頂いたことを示します。
(これは実際に頂いたコメントです。ありがとうございます)
次の手順で、map7がどこのマップでどのBGMなのかを調べることができます。
作品→dataフォルダ→Map007.jsonを開く
jsonファイル内
bgmのname内にbgm:bgmファイル名
displayName:マップの名前
嬉しいコメントを追跡してニヤニヤする場合にお役立てください。
これらの方法で感想を活かしたり、作者さんの励みになれば幸いです。
あ、あとよろしければ、お洒落なBGMの作品はこちらです。
[重力ルーペ]ポップテイストのBGMが中心。気分を上げたいときに。
https://game.nicovideo.jp/atsumaru/games/gm3311
[地図の時間]JazzyなBGMが中心。良い雰囲気に浸りたいムッシュやマドモアゼルに。
https://game.nicovideo.jp/atsumaru/games/gm868
■はじめに
RPGアツマールで修正済みの過去の不具合コメントが表示されて困っている……という方向けにコメント削除申請の手順をまとめてみました。
所要時間は数分程度、かんたんです。
[必要条件]
・作品投稿者本人の操作(要niconicoアカウント)
・PC環境(スマートフォンでは困難)
■手順
1)RPGアツマールのサイトから、投稿者ページへログインする
https://game.nicovideo.jp/atsumaru/
2)「コメントダウンロード」のリンクからコメントファイルをダウンロードする
[コメントファイルの例]
[コメントファイルの意味]
commentNo:おそらくRPGアツマール側で識別しているコメントの番号です
leafCode:作品のどの部分で投稿されたコメントなのかが判別できます
mapXX→コメントされたmapIDを示します
btlXX→バトル中のコメントであることを示します
__title→タイトル画面のコメントであることを示します
command:コメント投稿時のコマンド内容を示します
content:コメント内容を示します
createdAt:コメント投稿日時をYYYY/MM/DD HH:mm:ss形式で示します
(例:2017年7月1日2時3分45秒→2017/07/01 02:03:45)
3)画面下の「コメント削除申請」のリンクに進む
4)コメント削除申請のフォームを入力する
[入力項目]
ゲームID:作品URLの「gm数字」の「数字部分」
例)重力ルーペの場合「3311」
https://game.nicovideo.jp/atsumaru/games/gm3311
削除希望のコメント:
2でダウンロードしたコメントファイルの一行(commentNo、leafCode、command、content、createdAtのセット)を貼りつける
入力が完了したら「入力内容を確認する」に進む
5)申請内容のプレビュー画面が表示されるので問題がなければ「この内容で応募する」をクリック
次の画面が表示されたら申請完了となります。
反映は1〜数営業日内とのことです。
■ご参考
コメント内容をより追跡する方法
例)
「map7 お洒落( 'ω' و(و"♪」
これはmap7で「お洒落( 'ω' و(و"♪」と入力して頂いたことを示します。
(これは実際に頂いたコメントです。ありがとうございます)
次の手順で、map7がどこのマップでどのBGMなのかを調べることができます。
作品→dataフォルダ→Map007.jsonを開く
jsonファイル内
bgmのname内にbgm:bgmファイル名
displayName:マップの名前
嬉しいコメントを追跡してニヤニヤする場合にお役立てください。
これらの方法で感想を活かしたり、作者さんの励みになれば幸いです。
あ、あとよろしければ、お洒落なBGMの作品はこちらです。
[重力ルーペ]ポップテイストのBGMが中心。気分を上げたいときに。
https://game.nicovideo.jp/atsumaru/games/gm3311
[地図の時間]JazzyなBGMが中心。良い雰囲気に浸りたいムッシュやマドモアゼルに。
https://game.nicovideo.jp/atsumaru/games/gm868
2017年06月18日
ゲーム制作者向け自分専用プラグインの作り方
◆ゲーム制作者向け自分専用プラグインの作り方
ゲーム制作者の方が作品単位で管理するためのプラグイン自作方法をまとめました。
学習コストを最小限にした内容なので、関数の説明やカスタマイズ性は除外している点をご理解ください。
[この記事で想定している読者]
・ツクールMVのゲーム制作者
・コアスクリプトの編集ができる
テキストエディタで「コピー」「ペースト」「半角/全角」の正確な操作が行える
[メリット]
・プラグイン1ファイルでコアスクリプトの変更箇所を管理できる
・コアスクリプトがバージョンアップをしても影響を受け辛い
[この記事で扱う内容]
・ランダムエンカウントでエンカウントしない歩数をカスタマイズしてプラグイン化する
[この記事で扱わない内容]
・パラメーター設定などのカスタマイズ(プラグイン側の直接編集を想定)
[準備]
例として扱うので、以下の記事を一読ください。
ツクールMV エンカウント率を調整
https://fanblogs.jp/tabirpglab/archive/343/0
■手順
【プラグインファイルの作成】
1.テキストエディタを開き、以下の内容をコピーして貼り付ける
2.次の条件で保存する
・ファイル名:半角英数字.js
・文字コード:UTF-8
保存したら、いったんプラグインファイルはそのままにしておいてください。
【コアスクリプトから編集対象のコピー】
ここからコアスクリプトを対象にした作業です。
3.ツクールMVのプロジェクトから変更したいコアスクリプトを開く
例)エンカウントしない歩数を設定するためrpg_object.jsを開く
4.コアスクリプト内の編集対象をCtrl+Fで検索して探し出す
例)「this._encounterCount = Math.randomInt(n) + Math.randomInt(n) + 1;」をキーに検索
5.『Game〜』から始まり『};』で終わる部分までを漏れなくコピーする
例)
ここまででコアスクリプトの作業は終わりです。
【プラグインファイルの作業】
6.2で保存したプラグインファイルの『//コピペ用スペース』と書いた位置に5のコピー内容を貼りつける
例)
ここまでできたら、プラグインファイルをバックアップしておくと良いと思います。
7.6で貼りつけた内容を編集する
例)
変更前:運が悪いと1歩でエンカウントが発生する
Game_Player.prototype.makeEncounterCount = function() {
var n = $gameMap.encounterStep();
this._encounterCount = Math.randomInt(n) + Math.randomInt(n) + 1;
};
変更後:最低15歩はエンカウントが発生しない(上の1の箇所を15に編集)
Game_Player.prototype.makeEncounterCount = function() {
var n = $gameMap.encounterStep();
this._encounterCount = Math.randomInt(n) + Math.randomInt(n) + 15;
};
機能としては、ここまでで完成です。
8.プラグインとしての体裁を整えるため、必要情報を加筆する
自分専用であれば、エラー発生時にわかるようプラグイン名だけ他と区別するだけでも良いです。
プラグイン管理ではこのように表示されます。
9.プロジェクトの\js\plugins配下にプラグインファイルを保存し、プラグイン管理で有効にする
ここまでで導入は終わりです。
【応用】
上記の例の場合、効果が分かり辛いため、すぐに判別できる変化を追加します。
まずルールとして、次の2つを覚えておいてください。
1.プラグインファイル内では、5のように『Game〜』から始まり『};』で終わる部分までであれば、複数の変更を追加することが可能
2.先頭行に『//』を記述した場合、ソースコードとして実行されない(人がソースを読むためのテキストとして使われる)
上記を踏まえて、ソースを次のように編集しました。
『this.addGameEndCommand();』箇所を『//』を先頭行につけることで無効化しています。
(単純にこの行を削除でも同じことになります)
変更前:
変更後:「ゲーム終了」コマンドをメニューから消す
メニュー画面を開くだけで、プラグインが機能していることが分かります。
■補足
ここまで読み進められた方は、トラブル予防/解決のために次の内容も参考になさってください。
[プラグインの基本知識]
・変更箇所はコアスクリプトより先に読み込まれる(=置き換え箇所が反映される仕組み)
・プラグイン内の記述は上から下へ順番に実行されている
・プラグイン管理に表示されているプラグインは上から下へ順番に実行されている
・記載するコード、文字列は多いほど読み込みが生じる(機能面を追求するならば説明文、ヘルプの文言は少ない方が良い)
プラグインには2種類「改変タイプ」と「機能追加タイプ」があり、今回の2つの機能は「改変タイプ」です。
改変内容がどのソースコードを編集すればよいかさえ分かれば、自分でプラグイン化して管理できるというのが真のメリットでもあります。
[失敗する場合の見直す箇所]
・編集後のプラグインファイルが上書き保存されているか
・『Game〜』から始まり『};』で終わる部分までが正しくコピーできているか
・ソースコード部に半角英数字以外を使用していないか(特にスペースなど)
・変更点より優先して実行されるプラグインが上位にないか(前述の内容)
[より理解を深めたい場合]
以下のサイト様にて関数の概念を交えた解説をしてくださっています。
プラグインを配布する想定の方は、ご覧になると良いでしょう。
RPGツクールMVで感動ものを作る。様-プラグインの作り方
http://ktnhmv.jugem.jp/?eid=12
スマイル工房様 ブログ室-簡単なプラグインを作ってみよう
http://blog.livedoor.jp/trb_surasura/archives/8763286.html
■最後に
制作者さんの中には、プログラミング部分は他の方にお願いして、ゲーム部分の制作やシナリオ、素材選定に注力されるスタンスの方もいらっしゃると思います。
私自身、典型的なそのタイプです。
この記事は自分のためのメンテナンス性向上を目的としたものですが、これをきっかけとしてプラグイン作者さんの作業内容に理解が深まり、エラーの切り分けが進んだり、自己解決できる場面が増え、結果として制作現場全体のコスト削減に貢献できたなら幸いです。
ゲーム制作者の方が作品単位で管理するためのプラグイン自作方法をまとめました。
学習コストを最小限にした内容なので、関数の説明やカスタマイズ性は除外している点をご理解ください。
[この記事で想定している読者]
・ツクールMVのゲーム制作者
・コアスクリプトの編集ができる
テキストエディタで「コピー」「ペースト」「半角/全角」の正確な操作が行える
[メリット]
・プラグイン1ファイルでコアスクリプトの変更箇所を管理できる
・コアスクリプトがバージョンアップをしても影響を受け辛い
[この記事で扱う内容]
・ランダムエンカウントでエンカウントしない歩数をカスタマイズしてプラグイン化する
[この記事で扱わない内容]
・パラメーター設定などのカスタマイズ(プラグイン側の直接編集を想定)
[準備]
例として扱うので、以下の記事を一読ください。
ツクールMV エンカウント率を調整
https://fanblogs.jp/tabirpglab/archive/343/0
■手順
【プラグインファイルの作成】
1.テキストエディタを開き、以下の内容をコピーして貼り付ける
//=============================================================================
// プラグインの名前(半角英数字が基本)
//=============================================================================
/*:
* @plugindesc 『プラグイン管理』で表示される説明文(日本語可)
* @author 作者名(日本語可)
*
* @help
* 『プラグイン管理』の『ヘルプ』で表示されるテキスト(日本語可、改行可)
* 2行目
* 3行目
*/
(function() {
//コピペ用スペース
})();
2.次の条件で保存する
・ファイル名:半角英数字.js
・文字コード:UTF-8
保存したら、いったんプラグインファイルはそのままにしておいてください。
【コアスクリプトから編集対象のコピー】
ここからコアスクリプトを対象にした作業です。
3.ツクールMVのプロジェクトから変更したいコアスクリプトを開く
例)エンカウントしない歩数を設定するためrpg_object.jsを開く
4.コアスクリプト内の編集対象をCtrl+Fで検索して探し出す
例)「this._encounterCount = Math.randomInt(n) + Math.randomInt(n) + 1;」をキーに検索
5.『Game〜』から始まり『};』で終わる部分までを漏れなくコピーする
例)
Game_Player.prototype.makeEncounterCount = function() {
var n = $gameMap.encounterStep();
this._encounterCount = Math.randomInt(n) + Math.randomInt(n) + 1;
};
ここまででコアスクリプトの作業は終わりです。
【プラグインファイルの作業】
6.2で保存したプラグインファイルの『//コピペ用スペース』と書いた位置に5のコピー内容を貼りつける
例)
=============================================================================
// プラグインの名前(半角英数字が基本)
//=============================================================================
/*:
* @plugindesc 『プラグイン管理』で表示される説明文(日本語可)
* @author 作者名(日本語可)
*
* @help
* 『プラグイン管理』の『ヘルプ』で表示されるテキスト(日本語可、改行可)
* 2行目
* 3行目
*/
(function() {
Game_Player.prototype.makeEncounterCount = function() {
var n = $gameMap.encounterStep();
this._encounterCount = Math.randomInt(n) + Math.randomInt(n) + 1;
};
})();
ここまでできたら、プラグインファイルをバックアップしておくと良いと思います。
7.6で貼りつけた内容を編集する
例)
変更前:運が悪いと1歩でエンカウントが発生する
Game_Player.prototype.makeEncounterCount = function() {
var n = $gameMap.encounterStep();
this._encounterCount = Math.randomInt(n) + Math.randomInt(n) + 1;
};
変更後:最低15歩はエンカウントが発生しない(上の1の箇所を15に編集)
Game_Player.prototype.makeEncounterCount = function() {
var n = $gameMap.encounterStep();
this._encounterCount = Math.randomInt(n) + Math.randomInt(n) + 15;
};
機能としては、ここまでで完成です。
8.プラグインとしての体裁を整えるため、必要情報を加筆する
自分専用であれば、エラー発生時にわかるようプラグイン名だけ他と区別するだけでも良いです。
//=============================================================================
// test.js
// Version: 1.00
// Copyright (c) kuro
// This software is released under the MIT License.
//=============================================================================
/*:
* @plugindesc 重力ルーペ用プラグイン
* @author kuro(https://fanblogs.jp/tabirpglab/)
*
* @help
* 非エンカウント歩数調整
*/
(function() {
Game_Player.prototype.makeEncounterCount = function() {
var n = $gameMap.encounterStep();
this._encounterCount = Math.randomInt(n) + Math.randomInt(n) + 15;
};
})();
プラグイン管理ではこのように表示されます。
9.プロジェクトの\js\plugins配下にプラグインファイルを保存し、プラグイン管理で有効にする
ここまでで導入は終わりです。
【応用】
上記の例の場合、効果が分かり辛いため、すぐに判別できる変化を追加します。
まずルールとして、次の2つを覚えておいてください。
1.プラグインファイル内では、5のように『Game〜』から始まり『};』で終わる部分までであれば、複数の変更を追加することが可能
2.先頭行に『//』を記述した場合、ソースコードとして実行されない(人がソースを読むためのテキストとして使われる)
上記を踏まえて、ソースを次のように編集しました。
//=============================================================================
// test.js
// Version: 1.01
// Copyright (c) kuro
// This software is released under the MIT License.
//=============================================================================
/*:
* @plugindesc 重力ルーペ用プラグイン
* @author kuro(https://fanblogs.jp/tabirpglab/)
*
* @help
* 非エンカウント歩数調整、メニューから「ゲーム終了」を削除
*/
(function() {
//エンカウント最低保証歩数を15歩
Game_Player.prototype.makeEncounterCount = function() {
var n = $gameMap.encounterStep();
this._encounterCount = Math.randomInt(n) + Math.randomInt(n) + 15;
};
//「ゲーム終了」コマンドをメニューから消す
Window_MenuCommand.prototype.makeCommandList = function() {
this.addMainCommands();
this.addFormationCommand();
this.addOriginalCommands();
this.addOptionsCommand();
this.addSaveCommand();
// this.addGameEndCommand();
};
})();
『this.addGameEndCommand();』箇所を『//』を先頭行につけることで無効化しています。
(単純にこの行を削除でも同じことになります)
変更前:
変更後:「ゲーム終了」コマンドをメニューから消す
メニュー画面を開くだけで、プラグインが機能していることが分かります。
■補足
ここまで読み進められた方は、トラブル予防/解決のために次の内容も参考になさってください。
[プラグインの基本知識]
・変更箇所はコアスクリプトより先に読み込まれる(=置き換え箇所が反映される仕組み)
・プラグイン内の記述は上から下へ順番に実行されている
・プラグイン管理に表示されているプラグインは上から下へ順番に実行されている
・記載するコード、文字列は多いほど読み込みが生じる(機能面を追求するならば説明文、ヘルプの文言は少ない方が良い)
プラグインには2種類「改変タイプ」と「機能追加タイプ」があり、今回の2つの機能は「改変タイプ」です。
改変内容がどのソースコードを編集すればよいかさえ分かれば、自分でプラグイン化して管理できるというのが真のメリットでもあります。
[失敗する場合の見直す箇所]
・編集後のプラグインファイルが上書き保存されているか
・『Game〜』から始まり『};』で終わる部分までが正しくコピーできているか
・ソースコード部に半角英数字以外を使用していないか(特にスペースなど)
・変更点より優先して実行されるプラグインが上位にないか(前述の内容)
[より理解を深めたい場合]
以下のサイト様にて関数の概念を交えた解説をしてくださっています。
プラグインを配布する想定の方は、ご覧になると良いでしょう。
RPGツクールMVで感動ものを作る。様-プラグインの作り方
http://ktnhmv.jugem.jp/?eid=12
スマイル工房様 ブログ室-簡単なプラグインを作ってみよう
http://blog.livedoor.jp/trb_surasura/archives/8763286.html
■最後に
制作者さんの中には、プログラミング部分は他の方にお願いして、ゲーム部分の制作やシナリオ、素材選定に注力されるスタンスの方もいらっしゃると思います。
私自身、典型的なそのタイプです。
この記事は自分のためのメンテナンス性向上を目的としたものですが、これをきっかけとしてプラグイン作者さんの作業内容に理解が深まり、エラーの切り分けが進んだり、自己解決できる場面が増え、結果として制作現場全体のコスト削減に貢献できたなら幸いです。
2017年06月17日
ツクールMV 敵キャラクター/敵グループ/バトル行動パターンについて
◆ツクールMV 敵キャラクター/敵グループ/バトル行動パターンについて
私がRPG作品のバトルを作るにあたり、意識しているポイントをまとめました。
私の作品「重力ルーペ」でも実装しておりますので、よければ参考も兼ねてプレイして頂けると嬉しいです。
■重力ルーペ
RPGアツマール版
https://game.nicovideo.jp/atsumaru/games/gm3311
PLiCy版
http://plicy.net/GamePlay/40437
■お役立ち知識
・戦闘テスト中にF5キーを押下すると、戦闘テストのリトライができる
・1ターン目でスキルを使用するためには「ターン0」(ターン『「0」+「0」*X』)を設定する必要がある
例)3ターンでローテーションする場合の設定
1ターン目の行動(A):ターン0
2ターン目の行動(B):ターン1+3*X
3ターン目の行動(C):ターン2+3*X
4ターン目の行動(A'):ターン3+3*X
この通りに設定すると敵キャラクターはA→B→C→A'→B→C→A'→B→C→……と行動します
■雑魚バトルで意識したこと
・敵の見た目と能力や行動を一致させる
例)鈍重な外見のオークはHP、力が強い、敏捷性が低い
剣を持つ甲冑の敵は剣技をスキルとして使う など
見た目と能力や行動を一致させることで、プレイヤーには対策や想像の余地が生まれます。
(「鎧で物理防御高そう…!魔法撃っとこ」みたいな。)
・敵キャラクターのクラス分け
敵キャラクターにもクラス(職業)のような役割を持たせることで、敵グループを作成するときの目安になります。
「前衛タイプ」
HP:通常攻撃3〜4発分
攻撃力:最大HPの1〜3/10分の単体攻撃
敏捷性:適正レベルではプレイヤーが先手をとることができる
「後衛タイプ」
HP:通常攻撃2〜3発分
攻撃力:最大HPの1〜3/10分の全体攻撃、状態異常
敏捷性:適正レベルではプレイヤーが先手をとることができる
「スピードタイプ」
HP:通常攻撃2〜3発分
攻撃力:状態異常※、HP/MP吸収などのいやらしい攻撃
敏捷性:適正レベルでも互角または先手をとられる
※状態異常はステージ(ダンジョン)やテーマにあわせたり、回復手段が用意できる状況であることが望ましいですね
例えば前衛タイプを複数体集めた兵団のような敵グループ
前衛1体に後衛3体といった戦略が垣間見える敵グループ
とにかく先手をとられっぱなしのスピードスターな敵グループ などなど。
敵グループの構成も掘り下げると奥が深いです。
・敵グループは初期カーソル(左)に前衛キャラを配置
プレイヤーがボタンを押したままと、そうでない場合との差別化です。
例えば、後衛やスピードタイプの「やっかいな」敵を選んで攻撃するプレイヤーは、被ダメージを抑える戦いができる……などです。
■雑魚バトルにおける注意点
・敵の「意味のない行動」はバランスを悪くする
例)「XXは警戒している」=しかし内部処理的には防御力が上がるわけでもないような一回休みスキル
敵の1回休み行動は発動タイミングが悪いと白け、難易度が減少してしまうため調整が難しく感じました。
例えば雑魚が3体出て、一定確率で3体とも「おろおろしている」状態で無抵抗のターンが発生してしまうと、失敗したな……と思いました。
この場合、敵グループの構成や同グラフィック同名敵キャラでも「一回休みスキル」を持たない敵と組み合わせる、などで解決が図れます。
または後述の「特徴的な行動」の後に立て直し用に1ターンだけ挟む、というような救済策であれば個性付けもかねて機能すると思います。
◇◇【加筆】
本記事をTwitterという丸いSNSに投稿したら、コメディな行動をさせたり、特定スキルの代償(上の1ターン挟む)みたいな使い方もあるよね、という反響を頂きました。
他には盛大な空振り行動(まじんぎりの失敗ケースをスキルに割り当て)とかもいいですね。
考えるほどアイディア次第で活きます。
この記事が「意味のない行動」じゃなくてよかったです。
◇◇
・「ボタン連打」プレイへの配慮と対策
雑魚戦バトルは多くのRPG作品にとって最も多いイベント、操作です。
そうなると毎回スキルを選択して、敵を選んでというプレイヤーの操作コストは負担になっていきます。
4人パーティーの場合は4倍です。
そこで必要と感じたのがボタン連打への配慮と対策です。
[配慮の例]
『スキルを優遇する(使用コストの割に効果が大きい)』
例えば通常攻撃1.1倍程度の微妙な攻撃スキルの場合、通常攻撃を連打の方が楽です。
これが1.5倍+同ターンの間は防御力ダウンの効果が付くのであれば、被ダメージを抑える戦法としてスキルが利用されるかもしれません。
『オートバトル』
オートバトルでバトルそのものを簡略化する方法もあります。
私は装備品でオートバトルを設定するようにしており「バトル中は変更できない」というリスクとトレードにしています。
「プレイヤーの操作コスト」の軽減と「プレイ体験の味気無さ」は表裏一体なので、ここは作者さんの考え方や腕の見せ所です。
[対策の例]
『敵の並び順』
前述の「敵グループは初期カーソル(左)に前衛キャラを配置」です。
これはただのいじわるではなく、プレイ経験で「優先的に倒した方がいい敵」が判断できる→意識して対策をとるという遊び方も兼ねた対策です。
『敵の強さを底上げする』
HPを上げる、防御力を高くするなどで敵を強化し、プレイヤー側にスキルの使用を誘導する、属性や弱点をつくことで楽しませる遊び方もあります。
その場合、スキルが使用できない、弱点をつけないような場合には、バトルが長期化するだけの苦痛になるので、選択の余地をバランスよく提供することが大切だと思います。
■ボスバトルで意識したこと
・1ターン目は印象づけるための固定行動
ボスの特性を印象づける行動をとることで、戦い方を想像する余地が生まれます。
例)複数ボスの場合、保守的/サポートの性質をもつ片方は1ターン目に防御力上昇スキルを使用させる
→この場合、サポート役から倒そうという考えに至るかもしれません
・対策のある特徴的な行動
1ターン目のサインに気付いたらプレイヤーは次の対策が取れる行動例です。
例)力を溜める(1ターン)→大技を発動するターン(2ターン)
この場合、プレイヤーは次のような対策をとる「自由」があります。
[プレイヤーがとれる選択肢の例]
A.攻めの対応(敵攻撃力ダウン、大技の妨害行動、大技を使う前に倒しきる)
B.守りの対応(防御/HP回復/味方防御力アップ)
C.その他(逃走、バトル限定イベントの発生を促すなど)
D.特に考えない(いつも通り通常攻撃)
ここにプレイスタイルの違いが生まれ、タイムアタックやレベル上げプレイのような遊び方のバリエーションに繋がるのだと思います。
■終わりに
いかがでしたでしょうか。
ここに挙げたのは基本的な部分のみで、個性的な作品と認められるには、より高いレベルの工夫が必要です。
それは敵キャラ1体ごとの設定の掘り下げや、1つ1つのスキルに対するこだわりだったり、あるいはバトルシステムそのものに手を入れた改革だったり、作者さんの個性があらわれる部分でもあると思います。
この記事が最適解を探す一助になれば幸いです。
私がRPG作品のバトルを作るにあたり、意識しているポイントをまとめました。
私の作品「重力ルーペ」でも実装しておりますので、よければ参考も兼ねてプレイして頂けると嬉しいです。
■重力ルーペ
RPGアツマール版
https://game.nicovideo.jp/atsumaru/games/gm3311
PLiCy版
http://plicy.net/GamePlay/40437
■お役立ち知識
・戦闘テスト中にF5キーを押下すると、戦闘テストのリトライができる
・1ターン目でスキルを使用するためには「ターン0」(ターン『「0」+「0」*X』)を設定する必要がある
例)3ターンでローテーションする場合の設定
1ターン目の行動(A):ターン0
2ターン目の行動(B):ターン1+3*X
3ターン目の行動(C):ターン2+3*X
4ターン目の行動(A'):ターン3+3*X
この通りに設定すると敵キャラクターはA→B→C→A'→B→C→A'→B→C→……と行動します
■雑魚バトルで意識したこと
・敵の見た目と能力や行動を一致させる
例)鈍重な外見のオークはHP、力が強い、敏捷性が低い
剣を持つ甲冑の敵は剣技をスキルとして使う など
見た目と能力や行動を一致させることで、プレイヤーには対策や想像の余地が生まれます。
(「鎧で物理防御高そう…!魔法撃っとこ」みたいな。)
・敵キャラクターのクラス分け
敵キャラクターにもクラス(職業)のような役割を持たせることで、敵グループを作成するときの目安になります。
「前衛タイプ」
HP:通常攻撃3〜4発分
攻撃力:最大HPの1〜3/10分の単体攻撃
敏捷性:適正レベルではプレイヤーが先手をとることができる
「後衛タイプ」
HP:通常攻撃2〜3発分
攻撃力:最大HPの1〜3/10分の全体攻撃、状態異常
敏捷性:適正レベルではプレイヤーが先手をとることができる
「スピードタイプ」
HP:通常攻撃2〜3発分
攻撃力:状態異常※、HP/MP吸収などのいやらしい攻撃
敏捷性:適正レベルでも互角または先手をとられる
※状態異常はステージ(ダンジョン)やテーマにあわせたり、回復手段が用意できる状況であることが望ましいですね
例えば前衛タイプを複数体集めた兵団のような敵グループ
前衛1体に後衛3体といった戦略が垣間見える敵グループ
とにかく先手をとられっぱなしのスピードスターな敵グループ などなど。
敵グループの構成も掘り下げると奥が深いです。
・敵グループは初期カーソル(左)に前衛キャラを配置
プレイヤーがボタンを押したままと、そうでない場合との差別化です。
例えば、後衛やスピードタイプの「やっかいな」敵を選んで攻撃するプレイヤーは、被ダメージを抑える戦いができる……などです。
■雑魚バトルにおける注意点
・敵の「意味のない行動」はバランスを悪くする
例)「XXは警戒している」=しかし内部処理的には防御力が上がるわけでもないような一回休みスキル
敵の1回休み行動は発動タイミングが悪いと白け、難易度が減少してしまうため調整が難しく感じました。
例えば雑魚が3体出て、一定確率で3体とも「おろおろしている」状態で無抵抗のターンが発生してしまうと、失敗したな……と思いました。
この場合、敵グループの構成や同グラフィック同名敵キャラでも「一回休みスキル」を持たない敵と組み合わせる、などで解決が図れます。
または後述の「特徴的な行動」の後に立て直し用に1ターンだけ挟む、というような救済策であれば個性付けもかねて機能すると思います。
◇◇【加筆】
本記事をTwitterという丸いSNSに投稿したら、コメディな行動をさせたり、特定スキルの代償(上の1ターン挟む)みたいな使い方もあるよね、という反響を頂きました。
他には盛大な空振り行動(まじんぎりの失敗ケースをスキルに割り当て)とかもいいですね。
考えるほどアイディア次第で活きます。
この記事が「意味のない行動」じゃなくてよかったです。
◇◇
・「ボタン連打」プレイへの配慮と対策
雑魚戦バトルは多くのRPG作品にとって最も多いイベント、操作です。
そうなると毎回スキルを選択して、敵を選んでというプレイヤーの操作コストは負担になっていきます。
4人パーティーの場合は4倍です。
そこで必要と感じたのがボタン連打への配慮と対策です。
[配慮の例]
『スキルを優遇する(使用コストの割に効果が大きい)』
例えば通常攻撃1.1倍程度の微妙な攻撃スキルの場合、通常攻撃を連打の方が楽です。
これが1.5倍+同ターンの間は防御力ダウンの効果が付くのであれば、被ダメージを抑える戦法としてスキルが利用されるかもしれません。
『オートバトル』
オートバトルでバトルそのものを簡略化する方法もあります。
私は装備品でオートバトルを設定するようにしており「バトル中は変更できない」というリスクとトレードにしています。
「プレイヤーの操作コスト」の軽減と「プレイ体験の味気無さ」は表裏一体なので、ここは作者さんの考え方や腕の見せ所です。
[対策の例]
『敵の並び順』
前述の「敵グループは初期カーソル(左)に前衛キャラを配置」です。
これはただのいじわるではなく、プレイ経験で「優先的に倒した方がいい敵」が判断できる→意識して対策をとるという遊び方も兼ねた対策です。
『敵の強さを底上げする』
HPを上げる、防御力を高くするなどで敵を強化し、プレイヤー側にスキルの使用を誘導する、属性や弱点をつくことで楽しませる遊び方もあります。
その場合、スキルが使用できない、弱点をつけないような場合には、バトルが長期化するだけの苦痛になるので、選択の余地をバランスよく提供することが大切だと思います。
■ボスバトルで意識したこと
・1ターン目は印象づけるための固定行動
ボスの特性を印象づける行動をとることで、戦い方を想像する余地が生まれます。
例)複数ボスの場合、保守的/サポートの性質をもつ片方は1ターン目に防御力上昇スキルを使用させる
→この場合、サポート役から倒そうという考えに至るかもしれません
・対策のある特徴的な行動
1ターン目のサインに気付いたらプレイヤーは次の対策が取れる行動例です。
例)力を溜める(1ターン)→大技を発動するターン(2ターン)
この場合、プレイヤーは次のような対策をとる「自由」があります。
[プレイヤーがとれる選択肢の例]
A.攻めの対応(敵攻撃力ダウン、大技の妨害行動、大技を使う前に倒しきる)
B.守りの対応(防御/HP回復/味方防御力アップ)
C.その他(逃走、バトル限定イベントの発生を促すなど)
D.特に考えない(いつも通り通常攻撃)
ここにプレイスタイルの違いが生まれ、タイムアタックやレベル上げプレイのような遊び方のバリエーションに繋がるのだと思います。
■終わりに
いかがでしたでしょうか。
ここに挙げたのは基本的な部分のみで、個性的な作品と認められるには、より高いレベルの工夫が必要です。
それは敵キャラ1体ごとの設定の掘り下げや、1つ1つのスキルに対するこだわりだったり、あるいはバトルシステムそのものに手を入れた改革だったり、作者さんの個性があらわれる部分でもあると思います。
この記事が最適解を探す一助になれば幸いです。
2017年06月13日
ツクールMV 標準の暗号化機能について
◆ツクールMV 標準の暗号化機能について
ツクール1.3.0以降に搭載された「暗号化」機能について、
フォーラムで気付きがありましたので、ご紹介します。
■暗号化機能とは
ツクールMVに搭載された暗号化とは、拡張子変更による難読化を指します。
実際に行われているのは、次の拡張子変更です。
[imgフォルダ配下の画像素材]
png拡張子→rpgmvp拡張子
[audioフォルダ配下の音楽素材]
ogg拡張子→rpgmvo拡張子
この拡張子変更により、OSの規定の状態では参照できなくなります。
これをツクールMVでは暗号化機能として利用しているようです。
■注意点
暗号化にはチェックと暗号化キーの入力が必要となります。
以下は画像ファイルの例です(左:暗号化未実施、右:暗号化実施)。
チェックが入っていない設定の場合、暗号化できていないことがわかります。
デプロイ後のimgフォルダとaudioフォルダを参照することで確認が可能ですので、気になるかたは公開前に確認しておくと良いでしょう。
その他には以下が挙げられます。
・出力先がandroid/iosである場合は暗号化不要
・RPGアツマールの場合、暗号化は不可(2017/6/13執筆現在)
・エラーの元になるため、暗号化キーにスペースは使わない(「_」などで代用する)
以上、ご参考になれば幸いです。
ツクール1.3.0以降に搭載された「暗号化」機能について、
フォーラムで気付きがありましたので、ご紹介します。
■暗号化機能とは
ツクールMVに搭載された暗号化とは、拡張子変更による難読化を指します。
実際に行われているのは、次の拡張子変更です。
[imgフォルダ配下の画像素材]
png拡張子→rpgmvp拡張子
[audioフォルダ配下の音楽素材]
ogg拡張子→rpgmvo拡張子
この拡張子変更により、OSの規定の状態では参照できなくなります。
これをツクールMVでは暗号化機能として利用しているようです。
■注意点
暗号化にはチェックと暗号化キーの入力が必要となります。
以下は画像ファイルの例です(左:暗号化未実施、右:暗号化実施)。
チェックが入っていない設定の場合、暗号化できていないことがわかります。
デプロイ後のimgフォルダとaudioフォルダを参照することで確認が可能ですので、気になるかたは公開前に確認しておくと良いでしょう。
その他には以下が挙げられます。
・出力先がandroid/iosである場合は暗号化不要
・RPGアツマールの場合、暗号化は不可(2017/6/13執筆現在)
・エラーの元になるため、暗号化キーにスペースは使わない(「_」などで代用する)
以上、ご参考になれば幸いです。
2017年03月26日
小技/テクニック集
◆小技/テクニック集
プレイ感に関わる小技/テクニック集をまとめてみました。
チェックポイント・注意点
テクニック
考え方
◆チェックポイント
■狙われ率について
制作者:DarkPlasma様
■【キャラクター作成支援】キャラクターシート/支援ツール
キャラクターのアイディアやストーリーを広げるためのキャラクターシートと支援ツールへのリンクです。
https://fanblogs.jp/tabirpglab/archive/848/0
■フキダシアイコンを使う際の注意点
フキダシで、対話相手の姿が隠れないようにしましょう。
・細かい点ですが、キャラクターが隠れるのは気になるものです
・位置取りを左右にすれば、フキダシが往復しても大丈夫です
◆テクニック
■ギミック、ユーザー心理など多岐に渡る制作Tips集
これまでにわたしがツイートしたツクールMV / RPG制作Tipsまとめ
制作者:terunon様
https://twitter.com/i/moments/897113263762165760
■三角関数でピクチャを動かすサンプル
・ピクチャを浮遊、回転、点滅、表示、伸縮する場合のイベント記述方法のサンプル
制作者:トリアコンタン様
説明:
https://gist.github.com/triacontane/43724a7cdda285edbdf83ce70f4ec081
■ループ付きOGG、M4Aファイルを作る
「Winamp」を使ったループタグ付きOGGファイルの作成〜変換方法です。
Pinklover - 素材置き場様
http://material.pinklover.info/?eid=11
■スクリプトを使用したセルフスイッチのon/off切り替え
key = ["マップID"、"イベントID"、"セルフスイッチ"]
$gameSelfSwitches.setValue(key, "true"または"false")
■タイルセットビルダー「SAKAN」の使い方
https://fanblogs.jp/tabirpglab/archive/862/0
■作品公開後にバージョンアップ(機能追加)するイベント
https://fanblogs.jp/tabirpglab/archive/778/0
■名前入力時に「決定」位置から入力を開始する
https://fanblogs.jp/tabirpglab/archive/770/0
■メニュー画面の項目を削除する方法
https://fanblogs.jp/tabirpglab/archive/850/0
■アイテム/スキル使用後に指定したアイテムを入手
https://fanblogs.jp/tabirpglab/archive/769/0
■バトルイベント間の演出にウィンドウを表示させない方法
https://fanblogs.jp/tabirpglab/archive/758/0
■FF11のデスを再現
https://fanblogs.jp/tabirpglab/archive/752/0
■RPGツクールMVで出力したWindows版EXEの動作を軽量化する方法
http://b.dlsite.net/RG26890/archives/upgrading_nwjs_within_rpgmakermv
セアロソンク様
■心の声的な演出
■並列処理でスイッチや変数を操作すると重くなる
パラレルドリームス様
https://goo.gl/5hjxRA
■ボタンを「押させる」or「押させない」トリガーの使い分け
人と会話するとき、場所を調べるときなどに、ボタンを「押させる」か「押させないか」は、次の箇所で区別できます。
・プライオリティ「通常キャラと同じ」(共通)
・トリガー「決定ボタン」…ボタンを押すことでイベントが開始
・トリガー「プレイヤーから接触」…キャラクターが接触することでイベントが開始
「プレイヤーから接触」にすることで、ボタンを押す手間が省けます。
※けれどメッセージウィンドウを閉じるときにボタンを押す必要があるので、ボタン入力から解放されません。
使いどころとしては、進行に必要なキーアイテムを積極的に入手させる場合など、でしょうか。
■RPGアツマールでプレイしているかを判定
条件分岐に以下のスクリプトで判定可能
window.location.href.match(/nicogame\.jp/)
情報元:因幡白虎様
■ランダム攻撃スキル時にターゲットの重複を下方修正
rpg_objects.js内
「Game_Action.prototype.targetsForOpponents」をキーに検索
targets.push(unit.randomTarget());
if (targets.indexOf(targets[i]) < i) targets[i] = unit.randomTarget();//★この行を追加
}
ターゲット重複時に再抽選が行われるので同じターゲットに攻撃が集中するリスクが減る
情報元:terunon様
■目的地や方向を指し示す時
一般的なのは東西南北(右左下上)ですが、より確実に伝える方法を考えてみました。
1.矢印キーを使って方向を指し示す
これなら10人中10人が理解できます。
目的の方向は色付きテキストで区別すると尚いいですね。
2.画面のスクロールで実際に見せる
ウェイト時間を調節+ターゲットを光らせる演出をすれば、さらに効果的です。
GIF動画
https://twitter.com/rpgmakerer_kuro/status/782947946941734912
■デバッグ機能を設けておく
・敵を一掃するバトルアイテム
・デバッグルームへ移動するアイテム
・会話早送り/スキップ
■ガチャプラグインのアニメーションオフにしても画面がフェードアウトするのとMEが再生されてBGMが一時停止する仕様の解決法
吉良(きよ)@ツクールMV (@KiyoK7227)様の情報
■修正箇所はスクリーンショットで記録
・バグ箇所や誤字箇所のスクリーンショットを取ると、まとめて修整するときに抜け漏れが減ります。
■データベースには余白を設けておく
・アイテムを作るとき、上に10個ぐらい空欄作ってから始めると、頻度の高いアイテムを実装しやすくなる
■「BGMの演奏」の音量は90%が基本
・「BGMの演奏」の音量は90%のままが良い。
・BGM素材によっては100%にすることで、音割れになる可能性がある。
■「BGMの保存」「BGMのフェードアウト」「BGMの再開」を使う場合の注意点
・イベントコマンド「BGMのフェードアウト」の前に「BGMの保存」を仕込む
逆だとフェードアウト状態を保存して無音
・イベントコマンド「BGMのフェードアウト」は秒が長いと「BGMの再開」時に巻戻り感が強い
【BGMが再開される】
◆BGMの保存
◆BGMのフェードアウト:n秒★短く設定(kuro個人的には2秒)
◆なにか
◆BGMの再開
【BGMが再開されない】
◆BGMのフェードアウト:n秒
◆BGMの保存★フェードアウトした状態を保存してしまう
◆なにか
◆BGMの再開★BGMが鳴らない
■ファイルの探し方
ファイル選択の場面では、ファイル名接頭にあたるアルファベットキーを押下するとジャンプできる。
例)「open」を探す場合「o」キーを押下
このような利用を想定して、ファイル名は一定の命名規則を付けておくと便利。
■手描きマップの製作過程
parallax mappingの作り方の解説です。
作者:えるふぁ様
http://erufwa1212.wixsite.com/erufwa/mv-1
◆豆知識
■タイルセットの茂み属性はエンカウント率が2倍
■ショートカットキーを活用する
■イベントページの「編集」ショートカットキー
1.イベントページで編集したいイベントを選択
2.スペースキーを押下する
「右クリック→編集」が「スペースキー1回」で出来ます。
■セーブ&ロードで条件分岐
◆考え方
■ゲームバランスについて
制作者が『ノーマル』だと思っている難易度はプレイヤーにとっては『ハード』になりがちです。
この傾向を意識してバランス調整を行うと良いでしょう。
・作品の長さ、バトルバランスを取る際は『ゲーム慣れしているユーザー』と『ライトユーザー』を意識する
・作者は攻略方法を知っているので、無意識に最短ルートや最適解を選ぶ傾向が強い
(作者は無意識に『ゲーム慣れしているユーザー』になっている)
■マニュアル/Readmeは基本的に『読まれない』
重要なことはチュートリアルやゲーム内で説明するようにしましょう。
・情報は段階的に伝えると理解しやすい(1度のチュートリアルにつき、1つor2つ程度)
・情報は後で読み返せるようにする
■実績(トロフィー)システムの考え方
https://fanblogs.jp/tabirpglab/archive/846/0
■プロジェクトデータは定期的にバックアップ
■素材のライセンスの情報を整理
・制作中に追加した素材(画像/音楽)は素材権利者の情報/ライセンス形態などを1枚のテキストで管理すると良いです。
プレイ感に関わる小技/テクニック集をまとめてみました。
チェックポイント・注意点
テクニック
考え方
◆チェックポイント
■狙われ率について
制作者:DarkPlasma様
ツクールMVの狙われ率について(修正/追記版)https://t.co/B6Qr7i4JN9
— DarkPlasma (@plasma_dark) 2017年5月3日
■【キャラクター作成支援】キャラクターシート/支援ツール
キャラクターのアイディアやストーリーを広げるためのキャラクターシートと支援ツールへのリンクです。
https://fanblogs.jp/tabirpglab/archive/848/0
■フキダシアイコンを使う際の注意点
フキダシで、対話相手の姿が隠れないようにしましょう。
・細かい点ですが、キャラクターが隠れるのは気になるものです
・位置取りを左右にすれば、フキダシが往復しても大丈夫です
◆テクニック
■ギミック、ユーザー心理など多岐に渡る制作Tips集
これまでにわたしがツイートしたツクールMV / RPG制作Tipsまとめ
制作者:terunon様
https://twitter.com/i/moments/897113263762165760
■三角関数でピクチャを動かすサンプル
・ピクチャを浮遊、回転、点滅、表示、伸縮する場合のイベント記述方法のサンプル
制作者:トリアコンタン様
説明:
https://gist.github.com/triacontane/43724a7cdda285edbdf83ce70f4ec081
■ループ付きOGG、M4Aファイルを作る
「Winamp」を使ったループタグ付きOGGファイルの作成〜変換方法です。
Pinklover - 素材置き場様
http://material.pinklover.info/?eid=11
■スクリプトを使用したセルフスイッチのon/off切り替え
key = ["マップID"、"イベントID"、"セルフスイッチ"]
$gameSelfSwitches.setValue(key, "true"または"false")
■タイルセットビルダー「SAKAN」の使い方
https://fanblogs.jp/tabirpglab/archive/862/0
■作品公開後にバージョンアップ(機能追加)するイベント
https://fanblogs.jp/tabirpglab/archive/778/0
■名前入力時に「決定」位置から入力を開始する
https://fanblogs.jp/tabirpglab/archive/770/0
■メニュー画面の項目を削除する方法
https://fanblogs.jp/tabirpglab/archive/850/0
■アイテム/スキル使用後に指定したアイテムを入手
https://fanblogs.jp/tabirpglab/archive/769/0
■バトルイベント間の演出にウィンドウを表示させない方法
https://fanblogs.jp/tabirpglab/archive/758/0
■FF11のデスを再現
https://fanblogs.jp/tabirpglab/archive/752/0
■RPGツクールMVで出力したWindows版EXEの動作を軽量化する方法
http://b.dlsite.net/RG26890/archives/upgrading_nwjs_within_rpgmakermv
セアロソンク様
■心の声的な演出
■並列処理でスイッチや変数を操作すると重くなる
パラレルドリームス様
https://goo.gl/5hjxRA
■ボタンを「押させる」or「押させない」トリガーの使い分け
人と会話するとき、場所を調べるときなどに、ボタンを「押させる」か「押させないか」は、次の箇所で区別できます。
・プライオリティ「通常キャラと同じ」(共通)
・トリガー「決定ボタン」…ボタンを押すことでイベントが開始
・トリガー「プレイヤーから接触」…キャラクターが接触することでイベントが開始
「プレイヤーから接触」にすることで、ボタンを押す手間が省けます。
※けれどメッセージウィンドウを閉じるときにボタンを押す必要があるので、ボタン入力から解放されません。
使いどころとしては、進行に必要なキーアイテムを積極的に入手させる場合など、でしょうか。
■RPGアツマールでプレイしているかを判定
条件分岐に以下のスクリプトで判定可能
window.location.href.match(/nicogame\.jp/)
情報元:因幡白虎様
■ランダム攻撃スキル時にターゲットの重複を下方修正
rpg_objects.js内
「Game_Action.prototype.targetsForOpponents」をキーに検索
targets.push(unit.randomTarget());
if (targets.indexOf(targets[i]) < i) targets[i] = unit.randomTarget();//★この行を追加
}
ターゲット重複時に再抽選が行われるので同じターゲットに攻撃が集中するリスクが減る
情報元:terunon様
■目的地や方向を指し示す時
一般的なのは東西南北(右左下上)ですが、より確実に伝える方法を考えてみました。
1.矢印キーを使って方向を指し示す
これなら10人中10人が理解できます。
目的の方向は色付きテキストで区別すると尚いいですね。
2.画面のスクロールで実際に見せる
ウェイト時間を調節+ターゲットを光らせる演出をすれば、さらに効果的です。
GIF動画
https://twitter.com/rpgmakerer_kuro/status/782947946941734912
■デバッグ機能を設けておく
・敵を一掃するバトルアイテム
・デバッグルームへ移動するアイテム
・会話早送り/スキップ
■ガチャプラグインのアニメーションオフにしても画面がフェードアウトするのとMEが再生されてBGMが一時停止する仕様の解決法
吉良(きよ)@ツクールMV (@KiyoK7227)様の情報
■修正箇所はスクリーンショットで記録
・バグ箇所や誤字箇所のスクリーンショットを取ると、まとめて修整するときに抜け漏れが減ります。
■データベースには余白を設けておく
・アイテムを作るとき、上に10個ぐらい空欄作ってから始めると、頻度の高いアイテムを実装しやすくなる
■「BGMの演奏」の音量は90%が基本
・「BGMの演奏」の音量は90%のままが良い。
・BGM素材によっては100%にすることで、音割れになる可能性がある。
■「BGMの保存」「BGMのフェードアウト」「BGMの再開」を使う場合の注意点
・イベントコマンド「BGMのフェードアウト」の前に「BGMの保存」を仕込む
逆だとフェードアウト状態を保存して無音
・イベントコマンド「BGMのフェードアウト」は秒が長いと「BGMの再開」時に巻戻り感が強い
【BGMが再開される】
◆BGMの保存
◆BGMのフェードアウト:n秒★短く設定(kuro個人的には2秒)
◆なにか
◆BGMの再開
【BGMが再開されない】
◆BGMのフェードアウト:n秒
◆BGMの保存★フェードアウトした状態を保存してしまう
◆なにか
◆BGMの再開★BGMが鳴らない
■ファイルの探し方
ファイル選択の場面では、ファイル名接頭にあたるアルファベットキーを押下するとジャンプできる。
例)「open」を探す場合「o」キーを押下
このような利用を想定して、ファイル名は一定の命名規則を付けておくと便利。
■手描きマップの製作過程
parallax mappingの作り方の解説です。
作者:えるふぁ様
http://erufwa1212.wixsite.com/erufwa/mv-1
◆豆知識
■タイルセットの茂み属性はエンカウント率が2倍
■ショートカットキーを活用する
■イベントページの「編集」ショートカットキー
1.イベントページで編集したいイベントを選択
2.スペースキーを押下する
「右クリック→編集」が「スペースキー1回」で出来ます。
■セーブ&ロードで条件分岐
こんなネタ使う機会ないでしょうけど、プラグイン使わずにセーブ&ロードで状況変化させるあれです。
— tomoaky (@tomoaky) 2017年4月6日
下の条件分岐はフラグ立てた後に使います。#ツクールMV pic.twitter.com/1dQTU9XvCR
◆考え方
■ゲームバランスについて
制作者が『ノーマル』だと思っている難易度はプレイヤーにとっては『ハード』になりがちです。
この傾向を意識してバランス調整を行うと良いでしょう。
・作品の長さ、バトルバランスを取る際は『ゲーム慣れしているユーザー』と『ライトユーザー』を意識する
・作者は攻略方法を知っているので、無意識に最短ルートや最適解を選ぶ傾向が強い
(作者は無意識に『ゲーム慣れしているユーザー』になっている)
■マニュアル/Readmeは基本的に『読まれない』
重要なことはチュートリアルやゲーム内で説明するようにしましょう。
・情報は段階的に伝えると理解しやすい(1度のチュートリアルにつき、1つor2つ程度)
・情報は後で読み返せるようにする
■実績(トロフィー)システムの考え方
https://fanblogs.jp/tabirpglab/archive/846/0
■プロジェクトデータは定期的にバックアップ
■素材のライセンスの情報を整理
・制作中に追加した素材(画像/音楽)は素材権利者の情報/ライセンス形態などを1枚のテキストで管理すると良いです。