# ミニゲームのつくりかた ゲーム制作の基礎知識の講座はしたけど制作そのものに関する話をしてないな、と思ったので ゲーム制作の手順でも書いていきます ~~講座テキストだと手順踏むのがめんどくさかったのでここに~~ ## 1.ゲームの動作を粗くイメージする シーン(画面)の移り変わりを書き出してみる ```graphviz digraph G { タイトル -> ゲーム説明 -> タイトル; タイトル -> ゲーム画面 -> ゲーム結果画面 -> タイトル; タイトル -> ゲーム終了; } ``` ## 2. それぞれのシーンでどういう動きをするのかをイメージする タイトルを例にして説明する。 ### 2.1 シーンごとにどういう変数を持てばよいかを考える。 例: `selected` : どのメニューの項目が選ばれているか 0: ゲーム開始 1: ゲーム説明 2: 終了 ### 2.2 シーン間で共有したい変数を考える 例: `score` : ゲームの得点を記憶して結果画面で表示する ### 2.3 シーンの動きを考える。 フローチャートというのを使うとよい。 ただ、正しい書き方をする必要はないので簡単な図を書いてみよう ```flow st=>start: 開始 cond_pl=>condition: ↓キーが押されているか sel_pl=>operation: selected++ cond_mi=>condition: ↑キーが押されているか sel_mi=>operation: selected-- cond_dn=>condition: selected<0 sel_dn=>operation: selected=2 cond_up=>condition: selected>2 sel_up=>operation: selected=0 cond_ok=>condition: Enterキーが押されているか sw_0=>condition: selectedは0か g=>end: ゲーム開始 sw_1=>condition: selectedは1か d=>end: ゲーム説明へ sw_2=>condition: selectedは2か q=>end: 終了 st->cond_pl cond_pl(yes)->sel_pl->cond_mi cond_pl(no)->cond_mi cond_mi(yes)->sel_mi->cond_dn cond_mi(no)->cond_dn cond_dn(yes)->sel_dn->cond_up cond_dn(no)->cond_up cond_up(yes)->sel_up->cond_ok cond_up(no)->cond_ok cond_ok(yes)->sw_0 cond_ok(no)->cond_pl sw_0(yes)->g sw_0(no)->sw_1 sw_1(yes)->d sw_1(no)->sw_2 sw_2(yes)->q ``` ### 2.4 画面デザインを考える 横16:縦9の長方形の画面を使うので、それに収まるようにうまくデザインしていこう。 イラストは頼むと先輩がやってくれるかもしれません。 ### 2.5 コードを書く(の手前) ここまでできたら一旦報告をしよう。 それまでに講座テキストがある程度書き進められているはず。 自分で[こういうサイト](https://siv3d.github.io/ja-jp/)を見て書いてもよい。 わからなければ聞きに来よう。 ## 3. 質問のしかた 初めは何もわからないのは当たり前なので質問は恐れるものではない。 ただ、わからない→即質問 ではなく、次のことをしてから質問してみよう。 - 何がわからないのかを考える - 「わからない」だけの質問は思考停止でしかない。 - もちろん、「何がわからないのかわからない」という問いは発生しうるので、そういう時は相談しに来ること。 - どうしたら解決するかを考える - ○○がわからない - 動作はわかるけどプログラムの書き方がわからない→こういうコードをかければ解決する - 今のルールではゲームにならない、どうしたら楽しんでもらえるか→ルールを改善すれば解決する - (など - どの問題なのか考える - OpenSiv3D - C++ - Visual Studio - (それ以外?) - 15分は自分で調べてみる - Googleは最近優秀になっているが、要点の **単語** だけをスペースで区切って検索するのがとても効率が良い。 - [Qiita](https://qiita.com)や[cpprefjp](https://cpprefjp.github.io),[(英語が大丈夫なら)Stack Overflow](https://stackoverflow.com)などのサイトは参考にしやすい。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up