GameMakerは根本的には3Dであって、それを隠して2Dとして手軽に扱えるようにしたものっぽいですね
こういった3Dの機能があるのがGameMakerの嬉しいところっす
すごい!こういうこともできるんですね!
まだプレイできるようなものがないので参加できそうにはないんですが面白そうですね!!いつか参加してみたいです!
cleanupイベントはinstance_destoryを読んでも発生するのでもうほとんどこれ使ってます
なんと恐ろしい現象・・・あせって色々間違った変更をやってしまいそうですね。 ありがとうございます!
特定のスプライトだけ表示されなくなった不具合が 一時ファイルとキャッシュを消したら治ったということですね 情報共有ありがたいです!
GMLを覚えるのが簡単なので、初学者がモバイル向けにちょっとしたツール系のアプリ(Todoリストとかポモドーロタイマーみたいなの)作るのにも地味に向いている気がするんですけどねえ Firebase拡張機能もありますから、簡単なwebサービスみたいなのも全然できると思います。
赤ちゃんにいつ授乳させたとかいつおむつ変えたとか記録するぴよログっていうアプリがあるんですが、 どうやらUnityで作られてるらしいです。 そんな感じの方面でも活躍できるんじゃないかと
Unityいろんな使い道あるの強いですね
今だとVRchatをやりたい人がUnityに入ってくるパターンが多いのか……多いよねそういうの。 どうしたもんですかねえ。そっち方向じゃなくて差別化したほうがいいのかな。
ありがとうございます!毎回なんとなくで使っていたのでこれからは使い分けていきたいと思います!
layerはグループのように使うことができていろいろ便利です。
このように、layerはdepthと関係ありますが、depth以外にも様々な役割を持っています。
しかしlayerのdepthだけでは処理できないことがあります。 例えばy値をdepthに反映させる(見下ろし型ゲームで手前のキャラを前面に表示させる)処理もその1つです。 レイヤー毎ではなくインスタンス毎にdepthを制御したい場面はたくさんあると思います。
という感じで理解しています。
depthは単なる深度値でlayerはグループみたいな認識です。 layerにはインスタンスレイヤーやタイルレイヤー、アセットレイヤーなどいろんな種類のレイヤーが存在します。 layer関数を使えばそのlayerに属するオブジェクトやタイル、アセットに対して一括で操作を加えたりできます。 自分は1つのルームで複数のステージを用意しているのですがその際、ステージごとにインスタンスレイヤーを用意してそこに壁やギミックなどを配置しています。 レイヤーに分けることでルームエディターの作業中ステージごとの表示、非表示を切り替えたり、特定のステージを全部選択して移動させたり、また特定のステージの配置を誤って動かさないようにロックしたりしています。 PhotoshopやAspriteなどのグラフィックツールのレイヤーみたいな感じです。
おぉこの関数は知りませんでした! 可能性ありそうですね調べてみます! ありがとうございます!
window_get_visible_rectsとかどうでしょうかー マルチモニタ環境じゃないので動作確認はしたことないんですが、もしかするとと思いまして。
https://manual.gamemaker.io/monthly/ja/GameMaker_Language/GML_Reference/Cameras_And_Display/The_Game_Window/window_get_visible_rects.htm
あ!アイドルとか!Unityちゃんみたいの。
あとはGameMakerで何かが流行るといいんですけどねえ。 自分はアイワナが流行った時期よりずっと後からGameMakerに触れたんですが、 そういう何かです。
Unityが流行ったのってMMDが流行った後の繋がりが良かったのもあると思うので。
あと英語の情報を(英語がわからなくても)こうやって調べてます!全然大丈夫だよ!とかの コツみたいなことを共有していく必要もあるかも。初心者、初学者だと、そこもわからないと思うので。
書籍が出るところまで行ってほしいですよね。 初心者が最初に調べるのってWebではない場合も多いと思うので。 あと「ゲームエンジン おすすめ」とかで検索したときに挙がってくるといいですよね。
ええ、GUIDだめでしたか! お手数をおかけしてすみません🙇♂️
回答ありがとうございます! gamepad_get_guidでチェックする方法が遊び手的にはストレスなくて一番良いかな? と思って試したのですが、スロット0と4で異なるGUIDになってしまって使えず…。 とりあえず他の手段を探ってみます。
Xboxの無線コントローラーを使うと同様な症状に陥るフォーラムを見つけました。 https://forum.gamemaker.io/index.php?threads/how-to-prevent-wireless-xbox-controller-to-have-device-id-0-and-4-at-the-same-time.101834/
現状の対策としては以下の4つのどれかで解決するかもしれません。 ⓵無線コントローラーには対応しない(一番簡単) ⓶スロット0~3のみを利用する(Xinputに対応したコントローラーのみを利用) ⓷スロット4~11のみを利用する(DirectInputに対応したコントローラーのみを利用する) ⓸接続を見てコントローラーのGUIDをチェックして、同一のものは片方を無視する。gamepad_get_guidで取得可能
ありがとうございます! 多分環境依存系でしょうね、何やっても再現できないです やれることはやったので良しとします、ありがとうございます!
大手のゲームでもこういうのは起きてるみたいですね
一応環境依存に関係のある資料見つけました(Steamの場合ですが) https://support.gamecity.ne.jp/hc/ja/articles/5734779245465--共通-Steamでセーブ-ロードできない-エラーになる
こういう環境依存系、開発側で再現できない系は本当につらいっていうかもやもやが消えないのでしんどいですね
とりあえず結論としては、
・フォルダを手動で作ってもファイルは生成されない ・とにかくファイル、フォルダが生成されない
ということで挙動的には明らかに生成関係をブロックされてる感じがするので、セキュリティソフトなどの外的要因である可能性が高そうなんですが、だとすると他のGamemakerでリリースしている開発者であるある現象になってそうなもんですが聞かないあたり、どうなんだろうと言った感じです
ありがとうございます!! bufferは色々メリットありそうですね、参考にさせていただきます!
簡単なデータをセーブするだけならini関数でいいのかな?と思ってますが、 もしbuffer関数に興味があればこのチュートリアル動画はおすすめです https://www.youtube.com/watch?v=R84mR52QaMg
ありがとうございますー!! サンドボックスのオンオフは試してみたいですねー 僕の環境だとそもそもバグが怒らないのでオフにしても結果が変わらなさそうなので、バグ発現してる環境でテストできないのが難しいところです…
あさまどさんが言うように普通にローカル環境依存の可能性もある(そこそこその確率は高そう)ので、あんまり弄り倒さない方がいいのかも知れないと思ったりw
buffer関数は知らなかったので調べてみます! さすがに既にあるユーザーさんのセーブデータを無駄にするのはしたくないのでsteam版とか別のプラットフォームなどに出す時に検討したい機能かも知れません!
ini関数も別にややこしいことしてないと言いますか、やれることがあんまりないというくらいにはシンプルなので、件数も非常に稀というくらいで割と手詰まりなんですよね…w
まず、私自身がファイルI/Oについては詳しい知識がないという前提でお読みください。
私の環境で試したところ(試したのはver1.0.2です)、
サンドボックスが影響してそうな気がします。 ini_open()のマニュアルにもGamemakerはサンドボックス化されてるため意図したとおりに動かないかもとあります https://manual.gamemaker.io/beta/en/GameMaker_Language/GML_Reference/File_Handling/Ini_Files/ini_open.htm
サンドボックスについて詳細はこれ https://manual.gamemaker.io/beta/en/Additional_Information/The_File_System.htm
因みに私はファイルセーブ・ロードはbuffer関数(buffer_write,buffer_saveなど)でやってます。 テストプレイでセーブできないと報告されたことはありません。 ini_open,iniwite以外の方法で改善するか試すとどうなるでしょうか。 (ini*だけがサンドボックの影響下にあるのかどうかも分かってませんが)
サンドボックスはゲームオプションからOFFにできますが これはなるべくOFFにしないほうがいいのかな?と素人考えで思ってます(なんか怖いっていう程度)。 問題が発生した人がやり取りできる人であれば、一度サンドボックスをOFFにしたバージョンで試してもらって サンドボックスが原因かを確定させることができたらいいのですが。
その他で気になることと言えば ユーザー名が日本語(2バイト文字)かどうか(これが原因になるは分かりません) セキュリティソフトが邪魔してるかどうか でしょうか。
バグ報告やフォーラムへの書き込みは、私も機械翻訳に頼ってます!
ちなみに英語は全部chatGPTまかせですゆるして
OS : mac 14.4.1 IME : mac 日本語入力 IDE : 2024.8.1.171
現象1 起きます! 現象2 起きません
現象1についてはバグ報告してみたのですが 「韓国語で起きてる似たようなバグと関係ありそう?」とか聞かれて よくわからんなりに調べた結果ちょっと似てるから関係ありそうですって答えてから 音沙汰ないですね・・・ https://github.com/YoYoGames/GameMaker-Bugs/issues/7586
バグ報告は、IDEの「バグを報告」じゃなくて「Report a GameMaker bag」で表示される ダイアログに従って入力すると自動でgithubのイシューに飛んでくので簡単ですが プロジェクトファイルも一緒に飛んでいってしまいます。 飛んでったファイルはYOYOGAMESの社員しか見れないようになっているようですが APIキーなどの秘匿情報は抜いて送るのが無難・・・?
日本語での不具合は直近ではここで情報共有されています。
GameMaker のコードエディタで日本語入力を打つ時に困っていること https://zawazawa.jp/gamemaker_jp/topic/249
コメントに日本語を書くと、フォントの表示サイズが文字によって変わってガタガタになることがある。 条件は不明。 このあたりも日本語への対応が不完全だ。
OS: windows10 IME: Microsoft IME IDE: v2024.4.0.137
現象1はいまのところ発生せず 現象2は確かに発生しました
2.5Dのゲームが作りやすくなったら(関係する機能が充実したら)いいと思います。 2.5DのJPRGとか作りたい日本の開発者は結構いるんじゃないでしょうか。
私も日本語入力中に現象2(と似たようなもの?)によく遭遇してますが、Ctrl+Sで直るのでバグる度に保存してます。 根本的には解決してませんが…
機能面での要望
タイルレイヤーの編集機能をもっと充実させてほしい。 タイルの一括置き換え(塗り替え)とか。 同じタイルを一括選択して削除する機能とか。 基本的な機能がまだ整ってないと感じている。
マニュアル(ver2~2.2.x) マニュアル(ver2.3~) YoYoGames YoYoGames 公式コミュニティ GM関連のYoutubeチャンネル集 解説・資料サイト集(日本語) 解説・資料サイト集(英語)
GameMakerは根本的には3Dであって、それを隠して2Dとして手軽に扱えるようにしたものっぽいですね
こういった3Dの機能があるのがGameMakerの嬉しいところっす
すごい!こういうこともできるんですね!
まだプレイできるようなものがないので参加できそうにはないんですが面白そうですね!!いつか参加してみたいです!
cleanupイベントはinstance_destoryを読んでも発生するのでもうほとんどこれ使ってます
なんと恐ろしい現象・・・あせって色々間違った変更をやってしまいそうですね。
ありがとうございます!
特定のスプライトだけ表示されなくなった不具合が
一時ファイルとキャッシュを消したら治ったということですね
情報共有ありがたいです!
GMLを覚えるのが簡単なので、初学者がモバイル向けにちょっとしたツール系のアプリ(Todoリストとかポモドーロタイマーみたいなの)作るのにも地味に向いている気がするんですけどねえ
Firebase拡張機能もありますから、簡単なwebサービスみたいなのも全然できると思います。
赤ちゃんにいつ授乳させたとかいつおむつ変えたとか記録するぴよログっていうアプリがあるんですが、
どうやらUnityで作られてるらしいです。
そんな感じの方面でも活躍できるんじゃないかと
Unityいろんな使い道あるの強いですね
今だとVRchatをやりたい人がUnityに入ってくるパターンが多いのか……多いよねそういうの。
どうしたもんですかねえ。そっち方向じゃなくて差別化したほうがいいのかな。
ありがとうございます!毎回なんとなくで使っていたのでこれからは使い分けていきたいと思います!
layerはグループのように使うことができていろいろ便利です。
(layerに配置したオブジェクトはlayerのdepthになります)
このように、layerはdepthと関係ありますが、depth以外にも様々な役割を持っています。
しかしlayerのdepthだけでは処理できないことがあります。
例えばy値をdepthに反映させる(見下ろし型ゲームで手前のキャラを前面に表示させる)処理もその1つです。
レイヤー毎ではなくインスタンス毎にdepthを制御したい場面はたくさんあると思います。
という感じで理解しています。
depthは単なる深度値でlayerはグループみたいな認識です。
layerにはインスタンスレイヤーやタイルレイヤー、アセットレイヤーなどいろんな種類のレイヤーが存在します。
layer関数を使えばそのlayerに属するオブジェクトやタイル、アセットに対して一括で操作を加えたりできます。
自分は1つのルームで複数のステージを用意しているのですがその際、ステージごとにインスタンスレイヤーを用意してそこに壁やギミックなどを配置しています。
レイヤーに分けることでルームエディターの作業中ステージごとの表示、非表示を切り替えたり、特定のステージを全部選択して移動させたり、また特定のステージの配置を誤って動かさないようにロックしたりしています。
PhotoshopやAspriteなどのグラフィックツールのレイヤーみたいな感じです。
おぉこの関数は知りませんでした!
可能性ありそうですね調べてみます!
ありがとうございます!
window_get_visible_rectsとかどうでしょうかー
マルチモニタ環境じゃないので動作確認はしたことないんですが、もしかするとと思いまして。
https://manual.gamemaker.io/monthly/ja/GameMaker_Language/GML_Reference/Cameras_And_Display/The_Game_Window/window_get_visible_rects.htm
あ!アイドルとか!Unityちゃんみたいの。
あとはGameMakerで何かが流行るといいんですけどねえ。
自分はアイワナが流行った時期よりずっと後からGameMakerに触れたんですが、
そういう何かです。
Unityが流行ったのってMMDが流行った後の繋がりが良かったのもあると思うので。
あと英語の情報を(英語がわからなくても)こうやって調べてます!全然大丈夫だよ!とかの
コツみたいなことを共有していく必要もあるかも。初心者、初学者だと、そこもわからないと思うので。
書籍が出るところまで行ってほしいですよね。
初心者が最初に調べるのってWebではない場合も多いと思うので。
あと「ゲームエンジン おすすめ」とかで検索したときに挙がってくるといいですよね。
ええ、GUIDだめでしたか!
お手数をおかけしてすみません🙇♂️
回答ありがとうございます!
gamepad_get_guidでチェックする方法が遊び手的にはストレスなくて一番良いかな? と思って試したのですが、スロット0と4で異なるGUIDになってしまって使えず…。
とりあえず他の手段を探ってみます。
Xboxの無線コントローラーを使うと同様な症状に陥るフォーラムを見つけました。
https://forum.gamemaker.io/index.php?threads/how-to-prevent-wireless-xbox-controller-to-have-device-id-0-and-4-at-the-same-time.101834/
現状の対策としては以下の4つのどれかで解決するかもしれません。
⓵無線コントローラーには対応しない(一番簡単)
⓶スロット0~3のみを利用する(Xinputに対応したコントローラーのみを利用)
⓷スロット4~11のみを利用する(DirectInputに対応したコントローラーのみを利用する)
⓸接続を見てコントローラーのGUIDをチェックして、同一のものは片方を無視する。gamepad_get_guidで取得可能
ありがとうございます!
多分環境依存系でしょうね、何やっても再現できないです
やれることはやったので良しとします、ありがとうございます!
大手のゲームでもこういうのは起きてるみたいですね
一応環境依存に関係のある資料見つけました(Steamの場合ですが)
https://support.gamecity.ne.jp/hc/ja/articles/5734779245465--共通-Steamでセーブ-ロードできない-エラーになる
こういう環境依存系、開発側で再現できない系は本当につらいっていうかもやもやが消えないのでしんどいですね
とりあえず結論としては、
・フォルダを手動で作ってもファイルは生成されない
・とにかくファイル、フォルダが生成されない
ということで挙動的には明らかに生成関係をブロックされてる感じがするので、セキュリティソフトなどの外的要因である可能性が高そうなんですが、だとすると他のGamemakerでリリースしている開発者であるある現象になってそうなもんですが聞かないあたり、どうなんだろうと言った感じです
ありがとうございます!!
bufferは色々メリットありそうですね、参考にさせていただきます!
簡単なデータをセーブするだけならini関数でいいのかな?と思ってますが、
もしbuffer関数に興味があればこのチュートリアル動画はおすすめです
https://www.youtube.com/watch?v=R84mR52QaMg
ありがとうございますー!!
サンドボックスのオンオフは試してみたいですねー
僕の環境だとそもそもバグが怒らないのでオフにしても結果が変わらなさそうなので、バグ発現してる環境でテストできないのが難しいところです…
あさまどさんが言うように普通にローカル環境依存の可能性もある(そこそこその確率は高そう)ので、あんまり弄り倒さない方がいいのかも知れないと思ったりw
buffer関数は知らなかったので調べてみます!
さすがに既にあるユーザーさんのセーブデータを無駄にするのはしたくないのでsteam版とか別のプラットフォームなどに出す時に検討したい機能かも知れません!
ini関数も別にややこしいことしてないと言いますか、やれることがあんまりないというくらいにはシンプルなので、件数も非常に稀というくらいで割と手詰まりなんですよね…w
まず、私自身がファイルI/Oについては詳しい知識がないという前提でお読みください。
私の環境で試したところ(試したのはver1.0.2です)、
(中にconfigSave.ini、fishSave.ini、PlayerDataSave.ini)
サンドボックスが影響してそうな気がします。
ini_open()のマニュアルにもGamemakerはサンドボックス化されてるため意図したとおりに動かないかもとあります
https://manual.gamemaker.io/beta/en/GameMaker_Language/GML_Reference/File_Handling/Ini_Files/ini_open.htm
サンドボックスについて詳細はこれ
https://manual.gamemaker.io/beta/en/Additional_Information/The_File_System.htm
因みに私はファイルセーブ・ロードはbuffer関数(buffer_write,buffer_saveなど)でやってます。
テストプレイでセーブできないと報告されたことはありません。
ini_open,iniwite以外の方法で改善するか試すとどうなるでしょうか。
(ini*だけがサンドボックの影響下にあるのかどうかも分かってませんが)
サンドボックスはゲームオプションからOFFにできますが
これはなるべくOFFにしないほうがいいのかな?と素人考えで思ってます(なんか怖いっていう程度)。
問題が発生した人がやり取りできる人であれば、一度サンドボックスをOFFにしたバージョンで試してもらって
サンドボックスが原因かを確定させることができたらいいのですが。
その他で気になることと言えば
ユーザー名が日本語(2バイト文字)かどうか(これが原因になるは分かりません)
セキュリティソフトが邪魔してるかどうか
でしょうか。
バグ報告やフォーラムへの書き込みは、私も機械翻訳に頼ってます!
ちなみに英語は全部chatGPTまかせですゆるして
OS : mac 14.4.1
IME : mac 日本語入力
IDE : 2024.8.1.171
現象1 起きます!
現象2 起きません
現象1についてはバグ報告してみたのですが
「韓国語で起きてる似たようなバグと関係ありそう?」とか聞かれて
よくわからんなりに調べた結果ちょっと似てるから関係ありそうですって答えてから
音沙汰ないですね・・・
https://github.com/YoYoGames/GameMaker-Bugs/issues/7586
バグ報告は、IDEの「バグを報告」じゃなくて「Report a GameMaker bag」で表示される
ダイアログに従って入力すると自動でgithubのイシューに飛んでくので簡単ですが
プロジェクトファイルも一緒に飛んでいってしまいます。
飛んでったファイルはYOYOGAMESの社員しか見れないようになっているようですが
APIキーなどの秘匿情報は抜いて送るのが無難・・・?
日本語での不具合は直近ではここで情報共有されています。
GameMaker のコードエディタで日本語入力を打つ時に困っていること
https://zawazawa.jp/gamemaker_jp/topic/249
コメントに日本語を書くと、フォントの表示サイズが文字によって変わってガタガタになることがある。
条件は不明。
このあたりも日本語への対応が不完全だ。
OS: windows10
IME: Microsoft IME
IDE: v2024.4.0.137
現象1はいまのところ発生せず
現象2は確かに発生しました
2.5Dのゲームが作りやすくなったら(関係する機能が充実したら)いいと思います。
2.5DのJPRGとか作りたい日本の開発者は結構いるんじゃないでしょうか。
私も日本語入力中に現象2(と似たようなもの?)によく遭遇してますが、Ctrl+Sで直るのでバグる度に保存してます。
根本的には解決してませんが…
機能面での要望
タイルレイヤーの編集機能をもっと充実させてほしい。
タイルの一括置き換え(塗り替え)とか。
同じタイルを一括選択して削除する機能とか。
基本的な機能がまだ整ってないと感じている。