GameMaker 日本語掲示板

views
16 フォロー
981 件中 921 から 960 までを表示しています。
8
show_debug_message("id="+string(id)+" loc="+string(x)+","+string(y));

など、よく使うのをsnippetに登録するのも便利ですね

6
生高橋 2020/12/16 (水) 01:29:32 >> 5

こういうの毎回打ち直してたりしてました...
関数のコメントの部分参考になります

5

インスタンスの情報を表示するスクリプト
デバッグのために、drawイベントで使います
表示する項目は適宜追加したりして使ってます。

/// @ desc scr_dev_instance_info();
/// @param {num} x
/************************************************************
desc
インスタンスの情報を表示する

return : n/a
************************************************************/
draw_text(x, y+10, "id: "+string(id));
draw_text(x, y+20, "loc: "+string(x)+","+string(y));
draw_circle(x, y, 2, false);
4
asa 2020/12/11 (金) 18:10:10 修正

x座標をグリッドのセンターにスナップさせて返すスクリプト
これのy座標版も作って、オブジェクトをグリッド(タイル)の中心に置くときとかに使います
GRID_SIZEは定数です(32とか)

/// @ desc scr_x_to_grid_center();
/// @param {num} x
/************************************************************
desc
指定したx座標に一番近いグリッドセンターのx座標を返す

return : number
************************************************************/
return  argument0 div GRID_SIZE * GRID_SIZE + GRID_SIZE/2;
2
樹ひかり 2020/12/11 (金) 10:34:16

できました! 設定後にコードを開き直すと直ってました。
ずっと悩んでたので助かりました。ありがとうございます!

1

「環境設定」→「言語」→「GML」の項目の中にある、
「文を折りたたみ領域として扱う」のチェックボックスを外すといけました。

英語だと「Prefarences」→「Languages」→「GML」→「Enable statement folding as regions」
です。

3
生高橋 2020/12/11 (金) 03:54:57 >> 2

銀行丸めがなんのかわからなくてググりました。
gamemakerのroundそうなってるんですね。これ結構計算処理変わってくるのでびびってますw

2

gamemakerのround()は銀行丸めですが、四捨五入したいとき。

/// @desc scr_math_round();
/// @param {number} number

return	(argument0 + 0.5) div 1;
15
生高橋 2020/12/10 (木) 23:20:02 >> 14

逆に初歩的な質問は大歓迎です。

14
rdn_spiel 2020/12/10 (木) 22:49:30

はじめまして。
GMS2駆け出し手探りの身なので、とても有益な掲示板(しかも日本語!)を作っていただきありがたい限りです!
初歩的な質問をする時もあるかと思いますが、よろしくお願いします!

3
生高橋 2020/12/10 (木) 18:54:30 >> 2

ぽちっておこうかなと思います

2

買いました。ちらっと見ましたが分かりやすいです。
しゃべってる英語が全文テキストになってるのもありがたいですね。
内容は初級~中級者向けの基本的なことになってます。

1
ディーン 2020/12/10 (木) 01:34:15

記事や書籍というわけではないのですが、Githubでタグ検索することをおすすめします。
https://github.com/topics/gamemaker

GMSに出力できるツール系なども出てきますが、GameMakerのプロジェクトを公開している人が結構多いです。
GameMaker Discord Communityの公開リポジトリはおすすめです。
https://github.com/GameMakerDiscord
(GMEditもここで管理されてたりします)

シェーダーやモジュールなどが中心ですが、飛び抜けた方々のコードを参考にできるのでぜひ。

1
生高橋 2020/12/10 (木) 00:30:49

クラフト系ゲームのやつですよね。気になります...

13

はじめまして。
この掲示板は私のものではなく、
GMS2ユーザーが誰でも使えるみんなの掲示板として作成しましたので
ガンガン使ってくださいね!

12
ねこたみん 2020/12/09 (水) 20:24:35

はじめまして。
asaさん。掲示板の作成ありがとうございます。
一人でGMS2を触ってると心細かったので、ありがたいです。
よろしくお願いいたします。

4

うぅ。やはりないですかね。
Pはレイヤーをスムーズに切り替えられるので重宝しそうです。

3

レイヤーがステージになっている。まさかそんな手法があるとは。
グリッドの背景は盲点でした。

描画される壁に直接当たり判定を持たせるのではなく、分けた方がよいという感じですね。
・描画される壁のレイヤー
・当たり判定が設置されたレイヤー
みたく別途に用意する。とても勉強になります。

2
asa 2020/12/09 (水) 00:55:45 修正

公式の説明を読む限り、十字キーなどで移動することはできないようです。

Sで選択ツール→ctrl+X→ctrl+Vが移動手段になります。
1つのタイルであればPを押しながら左クリックでマウスカーソル位置のタイルがピックされます。右クリックでタイル削除。
Ctrlで複数のエリアを選択できます。
Altで選択領域を削ります。

できるのはこんなところでしょうか。

1
生高橋 2020/12/08 (火) 22:58:50 修正

タイルを十字キーで移動僕も探してるんですが全然見つかりません...

2Dゲームのマップを作る際のこだわり(固定画面2Dパズルアクションの場合)

デバックグリッド

自分で設定したグリッド画像を作って、背景レイヤーでループ表示をさせてマップを作っています。
これはゲームが開始したら非表示になるよう設定しているのでRoomEditor上のみの表示です。
・緑色が3マスずつ並んでいるのはプレイヤーのジャンプ力に合わせている
・外側3マスには基本ギミックを置かない
などこれら細かいルールや目印がわかるように作ってます。
画像1

ステージごとにレイヤー分け

これは僕だけかもしれませんが、ステージを全部一つのルームで管理してます。
そのなかにステージの塊がいくつか存在します。
それらを移動する際、同じレイヤーだと別のステージも選択して移動する際めんどうです。
なのでレイヤーを分けることで選択中は同レイヤーのみ選択になり簡単に移動できるようになります。
検証はしてませんが、使ってないインスタンスレイヤーやタイルレイヤーを非表示にするとルームエディターの処理が軽くなる感じがします。

エディター上専用画像

ギミックや壁は基本半透明にした専用画像を使ってます。そうすることで、インスタンスの重複を察知することができます。たまに重なったままのゴミインスタンスがある場合があるので。

2

返信ありがとうございます。
自分が気づかずに環境設定で変な操作をしちゃったのでは、とヒヤヒヤしてました。

次のバージョンアップを待つことにします。

8
ディーン 2020/12/08 (火) 20:43:03

逆に言うと深度が使えるのでステンシルバッファを持てるんですよねぇ
実は本件に関する記事を書いているので良かったらご覧ください
これだけは押さえておこう!GMLベストプラクティス

1
生高橋 2020/12/08 (火) 20:29:48

自分もむっちゃでてました。全然気づきませんでした。

11

初めまして。GMS2を使い一人でゲームを作っているものです。
掲示板を作ってくださり感謝です。ありがとうございます。

var test = { /*test*/ inst : instance_create_layer(global.num, y/1-10, "Instances", o_test), }
7

これ知らなかったです。情報共有ありがとうございます。

4
生高橋 2020/12/08 (火) 16:33:23 >> 3

タグみたいなやつ作れた気がします。そこからタグ検索とかもできます。

3

こういう種類の投稿のタイトル、【知識】と付けてみましたがどういうのがいいですかね?

2

自分的には1ピクセルでVRAMを4バイト消費するってこと自体、勉強になりました。😃

1
生高橋 2020/12/08 (火) 16:13:41

サーフェース結構使ってるのでありがたいです。呼び出すだけでかなり動的メモリを節約できますね。

8

とっつきやすいしシンプルでスピーディに作れる反面、やろうとすることによっては物足りない面があるんですね。

7
ディーン 2020/12/08 (火) 15:28:30

ノベルゲームを作るのにGameMakerである必要がないですしね(他のノベルゲーム用のエンジンやアドオンを使った方が効率がいい)

Spineの対応がされているので高解像度のボーンアニメなんかは作れますが、GMSはGPUメモリをページで管理されてますよね。
これは例えば最終的なパフォーマンスチューニングの時点でGMSを使うスキル以上の知識が必要になってきたりするので「GMSでやる必要あるのか?」みたいな感覚になる瞬間が個人的にはありました。

自分の結論を繰り返すのは気が引けますが、やはり一定以上の知識や複雑な事をやろうとすると、自由度の面でストレスがあるのではないかと思っています。(感情面は除いて)

やはり敷居の低さは一番だと思います。

6
生高橋 2020/12/08 (火) 14:59:46

ジャンルによってはめっちゃあると思います。
ただGameMaker特有の作りやすさはあんまりないと思いますね。
難易度順的(2Dのみ)

ノベルゲー

シューティング

プラットフォーマー

RPG

格ゲー

これはGameMakerに限らず他エンジンでも同じ感じだとは思いますね。

5
asa 2020/12/08 (火) 13:38:02 修正

gamemakerはドット絵ゲームのイメージが強くて、高解像度イラスト満載のノベルゲーみたいなイメージは無いですね。ジャンルによって作りやすい作りにくいということがあるんでしょうかね。

4
生高橋 2020/12/07 (月) 23:43:58

Unityしか使ったことありませんが比較すると
■メリット

  • 2Dドットゲー・小規模2Dゲームが作りやすい
  • 他エンジンと比較してやれることが少ないおかげで技術勝負する考えじゃなく発想、企画で勝負する考えになりやすい
  • 資料が少ない分、検索するときによくわからない記事にあたることが少なく、知りたい情報がすぐに見つけられる(英語だけど)
  • GameMakerを使っている界隈の人が好き(個人開発者でドット絵の2Dゲームを作る人が多い)
  • Unityと比べると書くコード量が圧倒的に少ない

■デメリット

  • チーム開発には不向き(個人製作向け)
  • 大規模なゲーム、3Dゲームは向いていない
  • 日本語資料が本当に少ない
3
ディーン 2020/12/07 (月) 21:36:35

あなたのゲームに最適なゲームエンジンはどれか?
https://jp.gamesindustry.biz/article/2001/20012203/

こんな記事もありました。
5chではこんなレスも見られました。

GMLのリファレンスはよく出来てる、言語は低機能だけどゲーム用の関数は簡単豊富で独学には向いてる
Shaderやgitやrender周りはgms公式じゃドキュメント足りないけど、他環境移ってもこれら知識は腐らない

gmsを入門にして他環境へ移る人は多いし経験が無駄にはならない、そういう互換性はある

ただGMLの文字列操作は、日本語がどうこうじゃなくて独自仕様も含めて変だし効率も悪い

最後は少し個人の感想に寄ってる気がしますが、大まかに同感です。

2

私がいきなり使い始められたので敷居はめちゃくちゃ低いですね。
言語がGMLしか無いと潰しが効きませんよね…

1
ディーン 2020/12/07 (月) 17:41:40

Unity・UE4との比較として

■メリット
・導入コストのみで販売後のライセンス支払いが必要ない
・スクリプト言語として比較的易しい
・2Dに特化しており、ピクセル単位での開発が容易
・アニメーションエディタなども2D特化なので触りやすい
・ビルドが早い

■デメリット
・3Dはかなり開発ハードルが高い
・Gitなどのバージョン管理システムに対応しているが環境依存が多く現実的には使いづらい
・比較としてシェーダーやスクリプトなどのアセット販売が少ない
・ビジュアルスクリプト、GML以外の選択肢がない

総合的に、敷居の低さや開発初心者に向けて優秀な2Dゲームエンジンだと思います。
複雑な事をしようとすると不自由が目立つので、スキルが上がると卒業者が目立つ印象です(自分も含め)