投稿

実は奥(闇)が深い「真のあいだ一度だけ実行(一度だけ実行する)」条件を使いこなそう【GDevelop】

イメージ
便利すぎてついついお世話になってしまう「真のあいだ一度だけ実行」条件ですが、使い込んでいくと「あれ?この場合どうなるの?」という状態におちいりやすい条件でもあります。 そこで、このページでは「真のあいだ一度だけ実行」条件が、実際にはどのように機能しているのか、例をまじえて解説します。 ※ 執筆時点の GDevelop バージョンは 5.4.213 です。 ※ 以降「真のあいだ一度だけ実行」だと長いので「一度だけ実行する」と表記します。 よくある勘違い「インスタンスごとにチェックしてる」 例えばこのようなイベントを組んだとき↓ 各戦車が一度だけX方向に100px動く X座標は0で配置されている戦車はプレビューすると…… 3両全て一度だけ100px移動します。 このことから「一度だけ実行する」条件はインスタンスごとにチェックしてる、 と思ってはいけません! 偶然それっぽく機能しているだけです。 では、今度はこのようなイベントを試してみます↓ 3回、Y座標が100の戦車を一度だけX方向に100px動かす 3回&一度だけ、というちょっと意味不明なイベントですが、プレビューした結果はこのようになります↓ 「一度だけ実行する」条件が設定されているにも関わらず、Y座標が100の戦車(つまり一番上のみ)が、3回100px移動しています。 もしインスタンスごとにチェックしているのであれば、一度しか移動しないはずですが、そうはなりませんでした。 ちょっと何が言いたいのか分からないから早く結論(仕組み)を言え! はいごめんなさいw😅 「一度だけ実行する」条件は、インスタンス単位ではなくイベント単位でチェックされています。 このことは 公式ドキュメント(英語) にも記載されています。 いやいやちょっと待て!イベント単位ならさっきの例の結果はおかしいだろ! 確かに上記の例は、どちらもイベント単位でチェックしているとは思えない結果になっていますが、これは繰り返しを利用しているからそのような印象になるだけです。 繰り返しを個々のイベントに分解してみると分かりやすくなります。 まず最初の例は、以下のように分解することができます↓ 各インスタンスの判別にはY座標を利用 これなら3両全てが一度だけ移動したことにも、納得がいくかと思います。 続いて2つ目の例も分解してみましょう↓ まったく

GDevelopを「いいね!」して100クレジット獲得のチャンス!と、現状でのクレジット使い道。

イメージ
なんと、GitHub の GDevelop リポジトリにスターを付けると、100クレジットがもらえるようになりました! 以下、4ian 氏からのメッセージです。(これは私の意訳であり原文は Discord のメッセージ を確認してください) みなさん、GitHub リポジトリに「スター」を付けましたか? そうでない場合は、今すぐ実行して、お礼の 100 GD クレジットを獲得してください。 ほとんどの人は GitHub について知らないかもしれません。GitHub は、GDevelop を含む世界最大のオープンソースプロジェクトがホストされている場所です。 ある意味、GitHub は開発者のためのソーシャルネットワークおよびホスティングプラットフォームです! GitHub の GDevelop ページ(リポジトリ)に「スター」を付けることで、オープンソースやゲームエンジンの世界で GDevelop の存在をアピールすることができます。 そうするための手順: まだ GitHub アカウントをお持ちでない場合は、作成してください(無料です)。そして作成したユーザー名を覚えておいてください。 GDevelop ページ(リポジトリ)の「☆ Star」をクリックします。 GDevelop Webアプリ(デスクトップ/モバイル版ではまだ利用できません): https://editor.gdevelop.io/ へアクセスし、プロフィールを開いて編集し、Github ユーザー名を追加します。 「請求」をクリックすると、即時認証が行われた後、サポートへの感謝の気持ちを込めて、アカウントにクレジットが追加されます。 GDevelop がゲームエンジンの世界でさらに有名になるよう、ぜひご協力ください🙂 ありがとう🙌 とのことです。 なお、メッセージで伝えられているように、現状(2024年4月時点)では、 これをおこなえるのは GDevelop Webアプリ(ブラウザ版)のみ なのでご注意ください。(もちろん獲得したクレジットはインストール版/モバイル版で利用できます) ※ タイミングによっては「請求」ではなく「要求」ボタンになっているかもしれません。 GDevelo

【GDevelop】「現在選択されているオブジェクトの数」について

イメージ
例えば、以下のようなイベントを 1 つだけ作成すると…… 戦車が何両あっても、すべてが移動します。 そのため「イベントはオブジェクトをすべて選択した状態で開始される」と考えられます。 しかし「現在選択されているオブジェクトの数」条件は、それより以前の条件や親イベント(直系尊属)で登場していないオブジェクトは何も選択していない、つまり 0 と評価します。 なので、↓このようなイベントの条件は偽を返し、アクションは実行されません😅 まぁ、これは「現在選択されているオブジェクトの数」条件を選択すると表示される案内にも書かれていることなので、わざわざ記事にして注意喚起するほどのことではないのですが…… 日々、勘で GDevelop を使っていてろくに案内も読まない私は見事に蹴躓いたので、この記事を書きました🤤(そもそも「シーン上のオブジェクトインスタンスの数」を使えよ、という話ですが) いやしかし、案内を書いておいてくれるなんて最近の GDevelop は親切になりましたね👍 でも、相変わらずオブジェクトとインスタンスの区別をハッキリしてほしいものです。

【GDevelop】条件の並び順による落とし穴

イメージ
イベントやアクションと同じように、 条件 も上から順に評価されるので、並び順はとても重要です。 特に、 評価された条件の絞り込みはすぐに効果を発揮する 、という点に注意する必要があります。 例えば、次の画像の条件 A と B は順番が逆なだけですが、異なる評価をします。 A の方は、衝突している戦車とミサイルに絞り込んでから、戦車の数をチェックしているのに対し、B の方は、まず戦車の数をチェックしてから、衝突している戦車とミサイルに絞り込んでいます。 つまり…… A は「ミサイルと衝突している戦車が 1 つの時」 B は「(絞り込まれた)戦車が 1 つだけの時、衝突している戦車とミサイルに絞り込む」 という全く異なる意味を持つ条件になります。 複数の条件を組み合わせた場合は AND で評価されますが、上記の通り 条件の絞り込みはすぐに効果を発揮する ので、並び順には注意しましょう。 (AND または AND 演算子とは、どちらも真の場合のみ真を返す演算子です) それと余談ですが、実は B の条件が真と評価されることはありません。 それについては 【GDevelop】「現在選択されているオブジェクトの数」について のページをご覧ください。

GDevelop アドベントカレンダーが開催中!(2023年12月)

イメージ
12月なので GDevelop もクリスマス的なイベントを開催中です。 アドベントカレンダーとは、クリスマスを迎えるまでの24日間に毎日ちょっとしたギフトがもらえるカレンダーです。本来はw GDevelop アドベントカレンダーは、もらえるギフトがシルバーかゴールドのサブスクリプションだったり、有料のアセットパックやゲームテンプレートと(比較的)高価なギフトなので、毎日抽選で1名だけに当たるイベントとなっています。 参加方法は簡単で、gd.games サイトに用意されたページへアクセスし、その日の日付のマスをクリックするだけです。(要 GDevelop アカウント) GDevelopアドベントカレンダーはこちら なお、「リーダーボードに表示される参加者は 50 人までですが、参加者全員がデータベースに登録されているのでご安心ください」とのことです。 GDevelop アカウント持っているなら、毎日ポチっとするだけなので皆さんも気軽に参加してみましょう 🤑💰

GDevelop 5.3 がリリース!なので、ここ最近(2023年1月~2023年11月)の GDevelop バージョンアップまとめ

イメージ
11月なのに1月を「ここ最近」と言い張る度胸w さて、10ヶ月ぶりという逆に中途半端なタイミングでのバージョンアップ記事ですが、ちょっと今年の GDevelop の変化は凄まじすぎるので、GDevelop 5.3 がリリースされたこのタイミングで一度振り返っておく必要があるなと思い書くことにしました。(やる気があるときにやらないとね🤤) 具体的には v5.1.156 から v5.3.180 までの 24 回分の詳細を……書けるわけないので、超ざっくり重要そうな点のみピックアップしたいと思います。(時系列無視、重要だと思うもの順) 3D に対応しました![v5.1.162][v5.2.165] なんといっても最大のビッグニュースはこれでしょう。 GDevelop は 2D ゲームエンジンの使いやすさをそのままに、3D も扱えるようになりました。 もちろん Unity や Unreal Engine などと比べると 3D の表現力や機能は劣りますが、それでも 3D が扱えるようになったことで、制作できるゲームの幅は格段に広がりました。 既にライティングやモデルアニメーションだけでなく、2D でお馴染みのパーティクルや Tween、そしてレイキャストも拡張機能で 3D 対応されています。 シンプルでカジュアルな 3D ゲームを制作する際に、難解な既存の 3D ゲームエンジンではなく GDevelop が採用されるということも今後は増えていくかもしれません。 すぐに使える便利なオブジェクトが追加されました。[v5.1.157] マルチタッチジョイスティック パネルスプライトボタン スライダー 切り替えスイッチ リソースゲージ(連続) リソースゲージ(単位区切り) それぞれ選択すると既存のデザイン一覧が表示されますが、もしそこに気に入ったデザインがない場合は「スキップしてゼロから作る」ボタンを押せば、自由に設定できますよ😉 なお、これらは正式には「カスタムオブジェクト」という拡張機能によって提供されるオブジェクトです。 そのため、これらを追加すると自動的に拡張機能がゲームに追加されます。 変数へのアクセスが劇的に簡単になりました![v5.2.175][v5.2.176] 式で変数を使用する構文がとてもシンプルになりました。 例えば…… 今まで ⇒ Variable(シーン

公式ゲームジャム GDevelop 3D Jam が開催!

イメージ
ゲームジャム(Game Jam)とは、決められた期間内に決められたテーマに沿ったゲームを作成して発表しよう!というイベントです。 GDevelop 3D Jam GDevelop は過去にもたくさんのゲームジャムを開催してきましたが、今回はなんと 3D に焦点を当てたゲームジャムが開催されることになりました😲(急にどうしたw) どっかのバカ が 2D ゲームエンジンである GDevelop でも 3D ゲームが作れる可能性を示してしまったことが原因かもしれませんが、それにしても思い切ったことを企画するなと思います。 当然、Discord では賛否両論なことになっていますが、多少のリスクは気にしないで突き進むその姿勢……私は嫌いじゃないですよ😉👍 また、公式もついに 3D オブジェクトの実装を開始したことが明かされました。 まだその詳細は不明なため、どんな事ができるのかは分かりませんが、2D ゲーム並みの手軽さで 3D ゲームも作れるようになるかもしれないと思うと、期待せずにはいられませんね。続報が待ち遠しいです! で、ゲームジャムの話に戻りますが、今回も賞品があります! 🏆賞品🏆 総合スコアが高い上位3つのゲームが勝者となり、以下のような賞品が送られます。 ゲームが GDevelop のゲーム公開サイト gd.games で1週間取り上げられます。 GDevelop Discord サーバーで特別な称号を与えられます。 3か月間の GDevelop Gold サブスクリプション が提供されます! ゲームが GDevelop の SNS で共有されます。 賞品の規模的には従来の Weekend Jam と同程度ですが、開催期間は日本時間で 2023年5月20日午前3時から2023年5月29日午前4時まで の9日間と長いタイプのゲームジャムです。 まぁこの手のイベントは参加することに意義があるので、たとえゲーム制作に自信が無くても気軽に参加したら良いと思います👍 ただし、「ブラウザで遊べること」や「テキストは英語」などのルールが決められているので、参加する際はルールも良く確認しておきましょう。(なお英語) テーマはいつもどおり、開始と同時に発表されます。 ちなみに、立場上たぶん私は参加しませ~ん 😢(協力はするけどね) 今後、ゲームジャムに進展あり次第、こ

このブログの人気の投稿

GDevelop の「イベント」を正しく理解しよう

【GDevelop】セーブデータは暗号化しよう!

GDevelop 5.3 がリリース!なので、ここ最近(2023年1月~2023年11月)の GDevelop バージョンアップまとめ