投稿

【GDevelop】「インスタンスごとに繰り返す」は、できるだけ条件でインスタンスを絞り込んでから実行したほうが早いらしいぞ!

イメージ
Discord で「インスタンスごとに繰り返す」の効率化に関する話題が挙がり、ちょっと調査したので、その結果をここに記録しておきます。 そうそう、まだ  GDevelop の Discord サーバー  に参加していない方は、ぜひ参加しましょう! 日本語フォーラムもあるよ😉 あと、余談ですが「インスタンス」とはシーン上に配置された「オブジェクト」のことです。 GDevelop は、それらを区別せずにどちらもオブジェクトと言ったりするのですが、明確に表現する必要がある場合、唐突にインスタンスと言ったりする、 ややこしい  おちゃめな一面がありますw ご注意ください。 さて、表題の件、いきなり結論ですが…… 「インスタンスごとに繰り返す」は、できるだけ条件でインスタンスを絞り込んでから実行したほうが早い! つまり「インスタンスごとに繰り返す」内で、インスタンスを絞り込むより、あらかじめ親イベントの条件で絞り込んでおいたほうが、処理が早いということです。 ↓具体的な例をご覧ください。 「繰り返しが先」イベントグループでは、「インスタンスごとに繰り返す」の中でインスタンスを絞り込んでいます。 対して「繰り返しが後」イベントグループでは、親イベントの条件でインスタンスを絞り込んでから、「インスタンスごとに繰り返す」を実行しています。 ※ 「1000回繰り返す」は、処理にかかる時間をより明確にするためのものです。 ※ 座標を条件にして絞り込んでいますが、結果的にはすべてのインスタンスが対象となっています。「繰り返しが先」と「繰り返しが後」で差はありません。 このイベントを処理するためにかかった時間は以下のとおりです。 「繰り返しが先」は、36.14ms 「繰り返しが後」は、17.39ms という結果になり、なんでかは分かりませんが(ぉぃ)2倍以上早くなりました👍 まぁとにかく、 「インスタンスごとに繰り返す」内の条件は通常の条件より負荷が高いっぽいので注意しましょう! ということです。めでたしめでたし!(雑)

GDevelop 5.0.135 がリリースされました。

というか、5.0.134 が非公開になりました😅 134 には「Yarn エディターでダイアログツリーを保存できない」という不具合が見つかったので、修正版の 135 がリリースされた形です。 そのためアップデート内容は 134 と同じです。 詳しくは「 GDevelop 5.0.134 がリリースされました。 」をご覧ください。

GDevelop 5.0.134 がリリースされました。

イメージ
最近またバージョンアップのペースが早まってきましたね。 しかも今回はちょっと大規模なバージョンアップのようです👏 なので、ちょっとざっくりな解説です😅 なお 5.0.133 は闇に葬られました😇 💝 改善点 「X秒待機(実験的)」アクションの追加 これは Scratch などから来たユーザーには、待望の機能なのではないでしょうか?!😉 このアクションは、指定された秒数の間待機してから、次のアクションやサブイベントを実行します。 このアクションを利用することで、タイマーなどを使用しなくても、一連のアクションを時間差で実行することが簡単にできるようになります。 これは単純な処理の一時停止ではなく、待機している間も他のイベントは通常どおり実行され続ける点に注意してください。 例えば次の画像のようなイベントの場合…… 待機後に実行されるのは、続くアクションとサブイベント(赤枠内)で、それ以外は、通常どおり実行され続けます。 また、待機開始時の絞り込まれたオブジェクトを記憶しているので、待機中にオブジェクトが増減しても、待機開始時の絞り込まれたオブジェクトにのみアクションが実行されます。 詳しい使い方は Wiki をご覧ください。(英語) エディター画面の改善 変数エディターの改善 ついにドラッグアンドドロップによる並べ替えに対応しました!👏 入れ子の変数をたためるようになりました。 「元に戻す」「やり直す」に対応しました。 名前と値で変数の検索が可能になりました。 ポイントと衝突マスクのエディターを改善 編集中のポイントがハイライトされて分かりやすくなりました。 衝突マスクのポイントは並べ替えに対応しました。 他にも色々ユーザーフレンドリーになりました👍 エフェクトのリスト画面を改善 並べ替えに対応しました。 エフェクト名が変更されたときの処理を改善しました。 UI / UX の改善 アセットストアがアセットパックごとにサムネイル表示されるようになりました。 アラートやメッセージのデザインを改善しました。 チュートリアルへのボタンを色々と追加しました。 「アンカー」ビヘイビアをより直感的な仕様に改善しました。 式を入力する際のオートコンプリートで、候補を省略せずにすべて表示するようになりました。 リーダーボードの改善 表示するスコアの数を設定できるようになり...

GDevelop 5.0.132 がリリースされました。

イメージ
ただゲームが作れるだけではなく、リリース後のことも考えたサービスを提供してくれる GDevelop はスゴイ!(語彙力) ✨新機能 数回クリックするだけでゲームにランキング機能を追加できるようになりました(実験的) まぁ「数回クリックするだけ」ってのは言い過ぎかと思いますがw、とても簡単にランキング機能(リーダーボード)が追加できます。 リーダーボードは「ゲーム ダッシュボード」の「ゲーム管理」内の「リーダーボード」タブから管理できます。 リーダーボードの管理方法についてはこちら (英語) リーダーボードのアクションと条件についてはこちら (英語) まだ実験的な段階ではあるものの、単位を設定できたりスコアをタイムとして表示できたりと、充分実用的だと思います。 強いて不満点を挙げるとしたら以下の様な点でしょうか…… 連続したスコア送信(1秒間に2回とか)は、かなりの頻度でエラーになるっぽい 背景や文字色などのデザイン変更ができない いたずら防止が必要ならプレイヤー名が他の人とかぶらないようにする必要がある これらは今後の改善に期待です。 あと、Liluo.io のオンラインサービスなのでネットに繋がった状態でないと利用できない点にもご注意ください。 💝 改善点 Liluo.io ゲームプラットフォームの改善 GDevelop ユーザーのページが用意されました。 (例えば私の場合はこんな感じ: https://liluo.io/PANDAKO ) あと「ゲームのURLを公開直前に確認・変更できるようになりました。」と発表されていますが、前からできてませんでしたっけ?🤔 UX/UIの改善 イベント名全体の表現方法の統一がおこなわれました。 オブジェクトとオブジェクトグループのリストを改善。 両方のリストに同じドラッグアンドドロップ効果が使用されるようになりました オブジェクトグループを複製できるようになりました。 一度に複数のオブジェクトを移動できるようになりました。(リストでは複数選択できません。おそらくシーン上のインスタンスを選択することで、リストが複数選択されるのでそれを利用する必要があるかと思います😅) Web 版の GDevelop でゲームを構築するときに、CORS などにより取得に失敗する画像の URL を指定できなくなりました。(ん?警告は出るけど出...

GDevelop 5.0.131 がリリースされました。

イメージ
全然関係ないんですが、公式がめっちゃ推してくるあの1つ目のキャラクターが怖いですw さて、今回もバージョンアップの内容をまとめてみましたよ。 💝 改善点 Liluo.io ゲームプラットフォームの改善 Liluo.io へ公開する直前に、ゲームの説明を編集できるようになりました。 ゲームのサムネイルを変更する方法が記載されるようになりました。 公開時にプロジェクトを保存するオプションが追加されました。 Liluo.io のゲームカテゴリページに、ゲームを掲載するかどうかを設定できるようになりました。 公開 URL をユーザー名とゲーム名の組み合わせ(スラッグとも呼ばれます)にすることが出来るようになりました。(例:https://liluo.io/ユーザー名/ゲーム名) エディターの改善 ビヘイビアの「オプションリストから選ぶ文字列(テキスト)」タイプのプロパティで初期値を設定できるようになりました。(関数などでは設定できません) 拡張機能のインストールボタンが、「インストール」「再インストール」「更新」と、状態に合わせて変わるようになりました。 「ホーム」タブが家のアイコンに変わりました。 新しいショートカットでイベントシートの検索が改善されました。(で、その新しいショートカットとは?😅) 変数エディターで、変数がまだ作成されていない状態でも、変数をペースト/コピーするボタンが表示されるようになりました。 「トップダウン移動」ビヘイビアの「コントロールをシミュレートする」アクションで「キー」の値がオートコンプリートに対応しました。 ゲームエンジンの改善 「トップダウン移動」ビヘイビアに「キーまたはシミュレートによる操作」条件と「X軸速度」「Y軸速度」アクションが追加されました。 また、水平または垂直に移動するとき、移動しない軸の速度が正確には 0 ではなかった問題が修正されました。 「Mouse cursor is inside the window(マウスカーソルがウィンドウ内にある:翻訳反映待ち)」条件が追加されました。 ⚙️ 拡張機能、🎨 リソース、🕹 サンプル 「Copy camera settings」拡張機能が追加されました。 あるレイヤーのカメラの設定(位置や角度など)を、他のレイヤーのカメラにコピーすることができます。複数のレイヤーで同じカ...

公式ゲームジャム GDevelop Examples Jam #1 が開催!

イメージ
つい2ヶ月前にゲームジャムやったばかりで、もう2回目か?! と思いきや、どうやらちょっと趣旨が違うようです🤔 その名も GDevelop Examples Jam #1! 前回とは異なり、このゲームジャムは GDevelop の機能サンプルやテンプレート(ある程度ベースが完成した状態のプロジェクト)を作成しよう!というゲームジャムになります。 つまり必然的に GDevelop をそこそこ使いこなしているユーザー向けのゲームジャムという感じですね。 ちなみに今回も賞品はあるので、興味がある方は参加してみましょう! ルールやテーマ(あるの?!)などの詳細については「 GDevelop Examples Jam #1 」のページをチェック!😆 (以下余談) しかしまぁ……なんというか、個人的には大胆なイベントだなと思います😅 というのも、個人的にサンプルやテンプレートなどは、内部をよく理解している公式が用意することに意味があるような気がするのですが、それをたった3日でユーザーに作らせるというのは、少々他力本願なのでは?と感じましたw とはいえ、ちゃんと賞品も用意されているので、ベンチャー企業としてはありな手段なのかもしれませんね。 このイベントから、良いサンプルやテンプレートが追加されることに期待したいです😊

GDevelop 5.0.130 がリリースされました。

イメージ
なかなか 129 がプレリリースから進まないなーっと思っていたら、130 がリリースされました😅 今回は新機能もないし、それほど大きなバージョンアップではありませんが、Liluo.io を利用している人はバージョンアップしておいて損はないと思います👍 💝 改善点 今回は大きく分けて 3 つの改善がおこなわれたようです。 インターフェースの改善 ✨ イベントの有効/無効を切り替えるショートカット(Dキー)が追加されました。一般的なプログラミングで言うところのコメントアウトの機能です。 エディター上部にあるシーンやイベントシートのタブを、ドラッグして並び替えられるようになりました👏(タッチスクリーンでは出来ないそうです) イベントシートのコメントやイベントグループのテキストを、検索と置換ができるようになりました。 変数、ビヘイビア、エフェクト、イベントが何もない状態のときは、中央に追加するボタンが表示されるようになりました。 一貫性を保つため、シーンエディタとオブジェクトリストの右クリックメニューが修正されました。何がどう変わったのかは不明😅 ストアなどでの検索を微調整して、短い単語をより適切に処理できるように改善されました。 インスタンスのプロパティパネルで、オブジェクトとインスタンスのプロパティが明確に分かれるようになりました。 管理権限の無いゲームのビルドにアクセスすると、警告が表示されるようになりました。管理権限については以下を参照してね。 ゲーム管理の改善( Liluo.io )🎮 ゲームの管理者を設定できるようになりました。複数のユーザーを管理者にすることも可能です。 「ファイル > ゲームダッシュボード >(対象ゲームの)詳細 > ゲームの詳細を編集」で、管理者の変更が可能です。 管理者だけがゲームの詳細を編集したり、新しいビルドを公開したりできるようになります。 Liluo.io に掲載するサムネイルを設定できるようになりました。(「アイコンとサムネイル」から設定できます) ゲームのジャンルを 4 つまで設定できるようになりました。将来のカテゴリ分けに利用されるそうです。 ゲームエンジンの改善 🕹 カメラが指定された境界から出ないようにする、「境界内にカメラを強制する」アクションが新しく追加されました。これは従来の「境界内でオブジェクトの中...

このブログの人気の投稿

【GDevelop】タイルスプライトで作る流れる背景

GDevelop でシンプルなボタンの作り方

【GDevelop】2026年1月よりサブスク値上げ。既存ユーザーへの「神対応」と、今すぐ入るべき理由。