2020年06月09日
自分は共通イベントに[A][B][C][魔法]をつけて管理しています。

20200609_010651


<ABC>
[C]はマップアクセスごとに実行したい共通イベントの内容。
[B]に[C]を集約させます。
[A]は共通イベントではなくマップに配置するイベントで、共通イベント[B]を呼び出します。この[A]を各マップに配置し「自動的に開始(1回)にしておくことで、結果的に「マップアクセスするごとに[C]を実行する」を実現します。


<魔法>
マップアクセスごとに自動実行するような共通イベントではなく、魔法で呼び出すイベントの場合はこれを振っておきます(ABCとの区別のため)


以下、私のABC管理術を紹介します。

[C]

共通イベントです。
マップアクセスごとに1回実行したい共通イベントの中身を書きます。



(例2)
ぞろぞろ引き連れて歩く隊列
これは本当はマップアクセスごとに実行しなければいけないものではなく、ゲーム開始時に1回実行すればいいので、マップから呼び出す必要はないのですが…。
共通イベントが増えてきて実行タイミングが分かりにくくなってしまったので私はここに組み込みました。


イベント名を「[C-本来はどのタイミングで実行する必要があるのか] イベント名」にしておきます。
開始条件なし(他のイベントから実行)

[B]

共通イベントで[B]を作ります。
[C]を呼び出す内容自動的に開始(1回)です。

20200609_004451


共通イベントで「自動的に開始(1回)」にしておくと、ゲーム開始時にどのマップにいても必ず1回実行してくれるんですが、ゲーム開始時の1回だけです。マップアクセスごとに再度実行してくれたりはしません。

「マップアクセスごとに再度実行してほしい」場合のために、次に[A]を作ります。

[A]

これは共通イベントではなく、マップに配置するイベントで書きます。
共通イベント[B]を呼び出す内容です。

20200609_004348


[A]の配置場所

これを全てのマップの0,0にコピペします。
0,0じゃなきゃいけない理由はないです。自分は0,0にしようと決めただけです。

※新しくマップを作ったら、0,0に[A]をコピペする必要があります。

20200609_002920

20200609_002937

20200609_002952

これで、どのマップにアクセスするときも必ずB(すなわちC)を呼び出してくれます。

利点

●どのマップにアクセスするときも実行してほしい共通イベント(C)を新しく作った時、Bに追記すればそれで済みます。

●「Cを新しく作ったとき、その都度すべてのマップにC呼び出しを追記する」のは面倒だし、きっと追記し忘れるマップが発生するだろうと思ったので、入れ子構造にしました。

2020年03月12日

    ↑
※これとおおむね同じ内容です。

イベント「イメージとして画面に文字を表示」を、バトル中のキャラの上に載せた時、素位置(X座標0、Y座標0)の表示位置は以下のようになります。

20200312_004055

テキストを「左揃え」にした場合

テキストを流し込むと、軸を左上とし、右→下方向に向かってテキストが流し込まれます。

20200312_002922

テキストを「中央揃え」にした場合

テキストを流し込むと、軸に対してテキストの縦横中心が合致するように流し込まれます。

20200312_003139

キャラのX座標、Y座標に数値を増減した場合

20200312_003551
軸はこの方向に移動します。


2020年03月11日
twitterにSGBの録画映像を貼り付けてる人たくさんいますよね!
でもSteamやSGBに録画機能があるわけではないようです。

twitterにSGBの録画映像を貼るまでどういう手順を取ればいいのか、撮影素人の自分には難しかったので、自分はこうしましたという記録を書いておこうと思います。

録画用フリーソフトを導入(ロイロ ゲームレコーダー)

ロイロ ゲーム レコーダー
https://loilo.tv/jp/product/game_recorder


20200311_010358

自分はこんな設定で録画しています。
これでSGBのテストプレイ画面を録画できました
でもaviで出力され、出力する形式は変更できないようです。

twitterに直接映像をアップするには、mp4にしなければいけないようです。
ロイロゲームレコーダーにはコンバート機能などはないので、「avi→mp4にコンバート」するために別の方法を取ります。

avi→mp4にするために

コンバート用フリーソフトをDLするのもありだと思うんですが、どれがいいのか分からなかったので自分はオンラインコンバートを使っています。

https://www.onlinevideoconverter.com/ja/media-converter

https://convert-video-online.com/ja/

https://www.media.io/jp/convert/mp4-to-mp3.html

自分はこの3つのうちどれかを使っています。
一番上のものが気に入っているのですが、自分の環境ではアップロードがうまくいかない日が多いです。そういう時は諦めて他の二つのサイトを使っています。

おおむね
●aviファイルを該当サイトにアップロード(時間がかかる)
●UPに成功したら、該当サイトでコンバートボタンを押す(時間がかかる)
●コンバート結果(mp4になったもの)をDLする
の3手順が発生します。
多分メモリに関係してるんだと思うんですが、これをやってる最中にPCで他の作業を行う・他のサイトを見たりしてると失敗することがあるので、この3手順を行っている時はPCは触らないようにしています。(自分のPCは貧弱なので)

twitterにアップ。ただし尺が長い場合は注意

映像の尺が45秒以下なら、ただアップするだけで終わりです。
1ツイートにつき1映像のみアップできます。

しかし映像の尺が45秒以上ある場合…
twitterはアップロード手前の画面でなぜか、勝手に45秒分にトリミングしようとしてくれています。

20200311_011509
  ↑
この青いシークバーの長さの部分が、実際にアップされる部分です。

このシークバーは、twitterがお節介にも勝手に45秒分の長さの範囲に縮めてくれている状態にありますが、実はこれまだアップ手前だし、青いシークバーの長さを伸ばすことが可能です。
なので慌てず、青いシークバーを左右に伸ばします。
青いシークバーの端を掴んで、左右の端まで伸ばしましょう。


これを
20200311_011537

こう!
20200311_011541
右側(終端側)も同じ操作をします。
そうするとフルでアップできます。

twitterにアップした映像をblogに貼る

twitterにアップしたツイートは、自分のblogなど、twitter外に貼り付けることができます。
これを「Embedタグを取得する」といいます。
Embedタグを取得するには、twitterをPCブラウザから閲覧し、ツイートの右上のボタンから「ツイートをサイトに埋め込む」を選びます。

20200311_013733

20200311_013747

Embedタグが出力されますので、これをコピーし、自分のblogに貼り付ければ、再生プレイヤーごと貼り付けることが可能です。

映像を作る上で心掛けていること

長いとファイルサイズが大きくなり、コンバートサイトで失敗することがあります。
自分のPCのメモリが少ないことが原因であるような気もしますが、あまり頑張れないので、プレイ時間を抑えることで対処しています。

●BGMは無しにしています。
自分がtwitter見る時はだいたいスマホで、他の音楽を聴いているので…
効果音を消すかどうか(映像自体をミュートにするか)は悩みましたが、今のところ消さないでおいています。
プレイヤーの姿がないぶん「どこでどんなアクションをしたか」が分からないと、それはそれで不親切な気がしたので。

●あまり早すぎる操作をしないように気を付けています。
特にメッセージ。

自分にはよく分かっていないこと

●音楽の有無でファイルサイズは違うのか
すみません、よく分かっていません。
何回か試したんですが、音楽の有無でファイルサイズが変わらなかったようでした。
でもこれ録画するソフト、設定、コンバートサイトの設定によって異なるような気もします。

●画質を向上することはできないか
これも少し試したんですがよくわかりませんでした。
ゲーム画面サイズを小さくしたほうが画質が良くなるかな、と思ったんですがそうでもなかったり。
twitterも「PCのブラウザで見る」時が自分にとっては一番汚くて、「スマホのtwitpaneで見ると綺麗」なんですが、これは画面の解像度が関係しているのかtwitterがなんか噛ませているのか、はっきりわかりません。
twitterって映像に限らず、アップしたファイルの固有性・永続性を担保しないので…。
そもそも映像を二重圧縮してる時点でお察しなので…。
自分は「自分が作ったイベントの内容を見せる」ことを第一に「手軽に録画、コンバート、手軽にアップ」のみを目指し、画質について諦めています。

●SGBの「テストプレイ画面」じゃなくて「SGB画面(エディット画面)」を録画できない
なぜかできません。
自分はテストプレイ画面の録画をしたいからそれでいいんですが、「SGB画面(エディット画面)」を録画したい人は他のソフトを使う必要があるのかもしれません。

「ぞろぞろ引き連れて歩く隊列」は、イベント「隊列の順番変更」で順番変更をすることができます。

20200310_024430

何が変更の対象になり、何がならないか

これを利用して変更されるのは「ぞろぞろ引き連れて歩く隊列」の順番変更のみです。 メニュー画面のパーティーの並び順や、戦闘の並び順は変化ありません。

▼こういった順番変更は可能です。
20200310_02484220200310_024851

▼この画面には変化なしです。
20200310_024623

先頭を順繰りに交代してゆく魔法(中途半端ver) 記述例

この3キャラの固定パーティーとして、「先頭変更魔法を使うたびに順繰りに先頭を交代する」という記述を書いてみました。
ただしいろいろと中途半端です。


Sheet1

魔法を使うたびに実施します。
現在の先頭判定をするために、全員分の変数Boxにそれぞれ+1します。
20200310_024224

Sheet2

一人目(主人公3)が先頭である場合、実施するシート。
主人公4に交代します。
20200310_024230

Sheet3

二人目(主人公4)が先頭である場合、実施するシート。
主人公5に交代します。
20200310_024245

Sheet4

三人目(主人公5)が先頭である場合、実施するシート。
主人公3に交代します。
20200310_024252

この記述例が中途半端であるポイント

現在の先頭判定があいまい

「パーティーメンバーがこの三人よりも少なかった場合」「誰か一人でも不在である場合」にも対応できるような判定方法を思いつけませんでした。
多分一生懸命考えれば思いつくんだと思いますが、自分の頭では足りませんでした。挫折。
なのでこの記述例は「あくまでもパーティーメンバーはこの三人」かつ「この魔法を初めて使うとき、このキャラが先頭であるとき」ににおいて成立するという、大変使い勝手の悪い書き方です(ややこしくてごめんなさい)

※本当は「キャラが少なくても」「誰が先頭の場合であっても」使えるよう記述すべきだと思います。未熟でごめんなさい…

Sheet3「プレイヤーキャラの向きを横にする」時の記述が絶対方向

Sheet3でプレイヤーのキャラの向きを横にする命令を書いています。
SGBでは現在「プレイヤーの現在の進行方向に対して横を向く」という命令がなく、絶対的な方向の命令しか書けないため、魔法を使った時のプレイヤーの向きが0時方向だったりすると、意図しない方向(後ろ)を向いたりするという欠陥があります。

所作を変えるか何かで回避したかったんですが、思いつきませんでした。
SGBに将来的に「プレイヤーキャラが今向いてる方向に対して隣を向く」というイベントを実装したら、書き換えたいなと思っています。

魔法を使うたびどれかのキャラを指定しないと魔法が実行されない

この魔法では「魔法を使うたびに先頭を順繰りに変更する」魔法であり、「先頭を誰に交代するか」を選んで交代する魔法ではないのですが、魔法を使うたびにキャラを指定しないと魔法が実行されないというややこしい欠陥があります。

なので魔法を使ったときキャラを選ぶ必要があるけれど、そのキャラを先頭にするわけではないというややこしい状況になります。

(※そういうちぐはぐな結果になってしまうのであるなら、本来こういう魔法を記述すべきでないと思います。すみません)

これはSGBのこの問題に起因します。
  ↓

反省

「順繰りに」とか言い出すから「現在のパーディーメンバー人数判定」「現在の先頭判定」とかしなきゃいけなくなるわけなので…

「順繰りに」とか言わず、「選択肢を出して、次に誰を先頭にするか選ぶ魔法」であればもっと簡単に書けると思います。

書き直そうか迷いましたが、そういうことやってるとこの魔法作ったことすら忘れて放置する自分がいたので、これはこれでここに書き留めておきます。

2020年03月07日

したいこと

「プレイヤーに触れられると、吹き出しで短いメッセージを表示しながら逃げるニワトリ」というイベントを作りたいと思います。

「会話を表示」「メッセージを表示」「テロップを表示」では、メッセージ送りのためにプレイヤー・イベントの動作が止まってしまうため実現できません。
そのため「イメージとして画面に文字を表示」を使います。

20200307_194404

Sheet1

20200307_194134

Sheet2

Sheet2の開始条件
20200307_194146

Sheet2の内容
20200307_194200

プレイヤーが触れた時に出るメッセージを3種類のランダムにします。
※二行目のスイッチ「フォルダ0番」は、記述に絶対必要な分岐というわけではなく、スイッチを疑似的にフォルダ代わりに使っている利用方法です。

20200307_194213
20200307_194225

「イメージとして画面に文字を表示する」の記述例
20200307_194252


※SGBの3Dデフォキャラニワトリの背が低いので、「イメージとして画面に文字を表示」の初期位置がニワトリの頭より頭上にあります。
詳しくはこちらを参照してください。
なのでX座標・Y座標の数値に何も変更しなくても、この書き方でニワトリの頭上にメッセージが来ます。
\●●●●●/
 ̄ ̄∨ ̄ ̄

3Dキャラを人間にする場合はこの書き方では顔にメッセージがかぶるので、Y座標をマイナスするか、「左揃え」にしてふきだしを右側にもってくるなどの対処をする必要があります。


Sheet2が始まってから時間経過で終了させるようにします。
ここでは「変数ボックス3」を経過時間のカウンターとして利用します。
ここでは「変数ボックス3の中身が250と等しい時に終了」としています。この250というのは秒ではなく、Sheet2を上から下まで250回繰り返した時に終了するという意味です。
20200307_194234
20200307_194242

完成例


sumabi1001
スマイルゲームビルダーを始めたばかりの1001といいます。
ここはSGBを触った自分なりの攻略blogです。

→このblogについて 詳細
Author: 1001
記事検索