投稿
けい kei0baisoku
大喜利の時にまとまってちゃんとしたゲームを作ったので、その時に自分で活用したノウハウとか工夫とかを、めいっぱい自分でアピールしてみようと思います。 「ゲームの演出面」と「プログラムの基礎部分」と「プログラムの応用的な方法」と3種類あります。 初級者向けの内容から、上級者向けのマニアックなものまでごちゃ混ぜです。 なるべく簡単なもの、大事だと思うものから書いてみます。 同じくゲーム作っている方、作ろうとしている方は、面白そうなものがありましたら参考にしてみて下さい。そしてもっと良いやり方とかほかに面白いやり方とかありましたら教えてくださいませ(´ω`) 本当はもっと丁寧にまとめたかったのですが、気合入れすぎると結局やらずに終わりそうなので、ちょっと殴り書き気味ですがまずは形にします。 気になるけどよく分からないものなどありましたら気軽に質問ください(´ω`)/
17そうだね
プレイ済み
返信[1]
親投稿
けい kei0baisoku
【ゲームの演出編】 ・演出の中でも特に次は重要視する。  「ユーザの操作に対するリアクションと気持ちよさ」  「うまくいった時のご褒美」  「失敗したときの悔しさ」  たとえば、操作に対してストレス無く動くか、操作の結果は分かりやすいか。  ゲームは失敗した時の悔しさと成功した時の達成感との対比が重要なので、そこは特に伝わりやすく大げさに。ファミコンのマリオで言うと、やられた時の「タラッタラタター」やゴールした時にBGMが変わって花火ががったりゆっくり歩いていったりする演出がこれにあたる。 ・動きに緩急をつける。プログラムでは等速の動きが一番作りやすいが、世の中の動きのほとんどは緩急があるので、たいていは等速よりも緩急があるほうがカッコイイ。y=x^2の二次曲線の動きをさせるとだいたい自然になる。  (私のプログラムではHOKAN()という関数でこれをやっています)
1そうだね
プレイ済み
返信[2]
親投稿
けい kei0baisoku
【プログラム・基本編】 ・バランス調整に使いそうな重要なパラメータは全て変数にまとめて、プログラムの最初に並べておく。  → 探さなくて済む、つづりも確認しやすい。1つになっていればバランス調整もそこだけ変えれば良い。 ・「DEBUG」という変数をプログラムの最初に作っておき、開発中専用の機能はIF DEBUGで囲む。  → 切る時はDEBUG=0にさえすればいいので、気軽に開発用機能を追加できる。 ・細かいデバッグ機能をON/OFFしたい時は、それぞれに切り替え変数を作る。  (例)SW_FAST_END'すぐ時間切れにする、SW_MUTEKI'無敵にする ・今の行数や引数で受け取った値をダイアログに出すデバッグ用命令を用意しておく。デバッグ時はこれを使って、プログラムの挙動を追う。
0そうだね
プレイ済み
返信[3]
親投稿
けい kei0baisoku
・白い四角のスプライトをSPCOLORで真っ黒にして、透明度と拡縮を増減させてフェードに利用できる。色を変えれば画面を赤っぽくしたりなどもできる。 ・セーブさせるつもりの情報は、変数定義を1箇所にまとめて分かりやすくしておく。
1そうだね
プレイ済み
返信[4]
親投稿
けい kei0baisoku
【プログラム・応用編】 ・「TIME UP」の文字や食べ物を食べた時の「+3」など、スプライトに独立した動きをさせたい事がよくあったので、UnityのGameObjectやScratchのスクリプトのように「スプライト」に「関数」をくっ付けて、自動で動いてくれる仕組みを用意した。呼びたいスプライトの番号と関数名、引数を長い文字列に保存しておき、毎フレームCALL命令で呼び出すのが基本の仕組み。  (私のぷこにゃーのゲームですと「SPCALL」で検索してかかる所です)
0そうだね
プレイ済み
返信[5]
親投稿
けい kei0baisoku
・ゲームの「シーケンス」を文字列変数で管理して、タイトルやチュートリアルやリザルトの画面とを行き来しやすくした。CALL()で文字列指定で関数を呼び出せ、CHKCALLで存在するか確認できるので、CALL "TITLE"+"_INIT" のようにシーケンス名とお決まりの処理を合わせて、存在していたら呼ぶようにした。新しくシーケンスを作った際も、必要な処理だけ関数を作ればよい。 ・シーケンスごとに「初期化、毎フレーム更新、毎フレーム描画、終了」の4つの処理を呼ぶようにしていた。はじめから呼ぶ仕組みがあるので、初期化処理を忘れたなどのミスが起きにくい。「更新」と「描画」を分けているのは、分かれている方が何かと便利なため。たとえばポーズ機能を実装したら、ポーズ中は「更新」をほとんど実行しないようにすればそれですぐ実現できる。
0そうだね
プレイ済み
返信[6]
親投稿
けい kei0baisoku
・DATA文の漢字込みの文字列をダイアログに出したかったが、DATA文でCHR$()が使えなかったので「98DF$」のように4桁+$はCHR$()で変換するようルール化。出すときは変換関数を自分で作って、それを通すようにだけ変更。 ・コンソール文字の上に、背景と同じ色のスプライトの板を置き、徐々に透明にすることであたかも文字がフェードインしてきたかのように見せた。  (リザルトのぷこにゃーのセリフの所です) -------------------以上です-----------------------
0そうだね
プレイ済み
返信[7]
親投稿
おかっぺ Japanese_WASABI
ありがとうございます!とても参考になります! 僕の考え方。 オリジナル。そんなものはありません。必ず親の影響を受けます。 目の前にある適当な何かをランダムな順番でくっつけます。もしかしたら、何らかのヒントになるかも知れません。 アクションシューティングと、シューティングアクションでは、作られるもののイメージが違います。
0そうだね
プレイ済み
返信[8]
親投稿
おかっぺ Japanese_WASABI
適当です。そこから何を自分で見つけるかです。カレーライスとライスカレーでは、作られるものは同じかも知れませんが、そこに至った時代は違います。とにかく想像するしかありません。 想像した何かから得るインスピレーション、それに従うだけです。
0そうだね
プレイ済み
返信[9]
親投稿
おかっぺ Japanese_WASABI
僕は、誰かの「プログラムって難しい」、「初心者には改造も難しい」、そんな言葉にインスピレーションを得て、自分で考える答えを表現しました。 そこにあった言葉、「プログラムって難しい」、「初心者には改造も難しい」って言葉に、僕への意図はありません。 でも僕はそう言う人が好きだから、その人達に出来ることを考えます。それは、僕の表現したいことのヒントです。
0そうだね
プレイ済み
返信[10]
親投稿
おかっぺ Japanese_WASABI
僕のネットに放った言葉、あるいは、現実に放った言葉、それは、僕が僕の考え方を僕の言葉で表現しただけのこと。 もし、それに意味を見いだすなら、それはあなたの脳がすること。すごい人がすること、それをすごい人は理解していません。すごい人をすごい人だと理解するあなたがすごいのだと思います。
0そうだね
プレイ済み
返信[11]
親投稿
おかっぺ Japanese_WASABI
世の中に正しいことなどありません。 「いいよう」に騙されないで下さい。 全てはあなたの「いいよう」に理解して下さい。
0そうだね
プレイ済み
返信[12]
親投稿
おかっぺ Japanese_WASABI
不便なら工夫して、自分の望む世界へ。 色んな人がいます。誰も間違っていません。もし、間違っている人がいるなら、「自分がされたくないことを人にする人」 「自分がされたくないこと」それすら人によって違います。でも、僕たちはそのなかで一緒にやっていかなくてはいけません。
0そうだね
プレイ済み
返信[13]
親投稿
おかっぺ Japanese_WASABI
全てはあなたの「いいよう」に。
1そうだね
プレイ済み
返信[14]
親投稿
けい kei0baisoku
>おかっぺさん 一部でも何かの役に立ちそうでしたら嬉しいです(^O^) それにしてもおかっぺさんのお言葉はなかなか難しいでごわす………(-ω-) 色々勢いに任せて書き上げたので、特にこれはと思ったものを2つ、ピックアップしておきます。 (1)ご褒美と失敗の演出:割りとあっさり済ませている作品が多く、もったいないなーと感じたので。 (2)スプライトに関数をくっ付ける仕組み:色々作った仕組みの中で、これが一番重宝しました。スプライトに何かさせたい時に楽になりました。
0そうだね
プレイ済み