ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

プロジェクト11

Blind

最初に考えていた部分はほぼ実装できたのでとりあえず完成。 元ネタはWii Fit Plusのミニゲームの一つ。 スペースキーでゲームスタート。画面下の赤い四角を左右のカーソルキーで操作して上から降りてくる障害物を避ける。 だんだんと中央部分を隠すブライン…

再調整

PCのローカル上で作成していたのをwonderfl上で動くようにしたら、画面サイズが違っていて、プレイした感覚が違うものに。またテキストの表示位置もずれてしまった。 というこで、wonderfl上でプレイしてパラメータ等を再調整。

リスタート

調整するために何回も繰返してプレイ。 ゲームオーバーからやり直すときに前のプレイの結果が残ってしまうバグを発見。再開するときに初期化処理を正しく呼んでいなかったのが原因。正しく初期化を呼ぶように修正。

見た目の調整

もっと見た目をカッコよくしようとグローエフェクトをかけてみたが、いまいち。これはもう色の選択がまちがっているんだろう。ウェブデザインの配色パターンのようなものを参考にしてみよう。

調整

前よりはだいぶ良くなったと思うが、まだまだ面白いと感じられるところが少ない。もっと面白くなるようにいろいろとパラメータを変えてみて試行錯誤中。 さらに見た目ももうちょっとカッコよくしたいところ。

画面端の処理

画面端のおかしかった処理を修正。 移動するオブジェクトが画面端で反転する部分の処理があまり良くない実装だった。同じようなことを以前やってしまったことがある。だからすぐに原因に気が付いて修正することができた。 同じように間違ってしまうのはこの…

ステージサイズの調整

以前はステージの幅は画面サイズだったが、それよりも狭くなるように設定した。おかげで間延びしていた感じがなくなりテンポが良くなった。 今後調整できるようにステージの両端の座標を変数で持つようにした。場合によってはプレイ中に幅を変更しても良いか…

ステージサイズの変更

何回かプレイしてみて、ステージが広すぎてちょっと間延びした感じがしたので、ステージのサイズを変更してみることに。 ただステージのサイズを決め打ちでコーディングしてしまったので、けっこう修正箇所が多い。 ゲームの調整で変更されることがあるよう…

全要素の実装

最初に想定していた全要素を実装完了。 とりあえずゲームとしての形はとったけど、面白さはまだまだ。これから面白くなるようにバランス調整。

オブジェクトの初期化処理

ゲームオーバーになったあと、再びゲームを開始しようとすると、いろいろと問題が。そのため、ちゃんと再開できるように各オブジェクトの初期化部分を修正。 今までオブジェクトの初期化をコンストラクタですべて書くのではなく初期化関数を用意してそちらで…

タイトルとゲームオーバー

テキスト表示ができるようになったので、タイトル画面とゲームオーバー画面を作成。 これでとりあえずゲーム全体のシーケンスが出来た。あとはゲームを面白くするためにメイン部分の作り込み。ここが一番大変で、そして面白いところ。

描画順

タイトル画面を作成中。タイトル画面といってもテキストのみだけど。 すぐに終わると思いきや、表示したテキストの上にステージの背景のオブジェクトがかぶってしまう。 描画順なら大丈夫だと思っていたけど、よくソースを見直したらオブジェクトの登録順番…

モードの作成

当たり判定も実装してゲームオーバーとなる処理が入れられるようになったので、タイトル画面やゲーム中、ゲームオーバー画面などの各種モードを実装開始。 さらに各種メッセージを表示できるようにテキストフィールドも作成。 毎回、いつもこういった同じよ…

当たり判定

当たり判定の実装。当たり判定は障害物とプレイヤーキャラの座標の座標で判定。処理自体は障害物側で行い、当たったらステージとプレイヤーに通知する方法にした。 単純な座標の比較なんだけど、障害物やプレイヤーの大きさを考慮した計算をミスったりして、…

障害物の配置

障害物をステージに配置してスクロールするように実装。 配置するたびに障害物を生成するのではなく、あらかじめ画面上に出てくる最大個数分を生成しておいて、それを使いまわすようにした。 さて、次は当たり判定。

スクロール

障害物を上から下へと移動するだけでは、スクロールしているように見えなかったので、背景に等間隔で水平のラインを引き、それを移動させてみた。 たったこれだけでも、まあ、スクロールしているように見えないこともない。

座標系の変更

障害物の座標系は画面の座標系と同じで実装した。 プレイヤーの座標系はプレイヤー単体では理解しやすいものにしてあったが、障害物とプレイヤーとの当たり判定を取ろうとしたら、逆に分かりにくくなってしまった。 ということで、結局プレイヤーの座標系も…

障害物の挙動

障害物をステージに配置して移動するところまで実装。 縦スクロールというとこで、障害物を上から下へ移動させてみたが、これだけではやっぱりスクロールしているようには見えなかった。スクロールしているように見えるために何らかの演出的なものが必要だな…

障害物の作成

ステージの障害物を作成中。 これがなかなか苦戦中。まず単純な矩形を描画しようとしたが、これがうまく描画できない。どうもスプライトの座標やサイズとgraphicsクラスで描画する矩形の座標やサイズの関係を正しく理解していないようだ。 ドキュメントを読…

キャラクター移動その2

キャラクター移動で画面端に行ったときの処理が問題あったので修正。 さらにそれにともなって座標系も修正してみた。座標系は画面の座標系とは異なるものにして、当たり判定や表示位置の計算がしやすいようにした。 まあ、あとになって問題が出てきて修正す…

キャラクター移動

プレイヤーキャラクターをキー入力で移動するところまで実装。 キー入力判定のルーチンをこの前作っておいたので、簡単に実装できた。 さて、次はメインでもあるスクロール処理の実装かな。

スケーリングの問題?

キャラクターのパーツをdrawRoundRect()を使って描画しているのだが、どうも見た目でおかしい部分が。右側と左側で角の丸みの大きさが違って見えていびつな形に見えてしまう。 プレイヤーのウィンドウサイズを大きくして、拡大してよく確認しようとすると見…

初期化

今書いているコードでは、オブジェクトの生成順番が問題になっていたのだが、結局、コンストラクタですべての初期化をするのではなく、順番を考慮しなくてはならないものは、初期化関数init()を作成して、それを呼び出すようにした。 これならば自分の期待通…

プレイヤーキャラクターの作成

プレイヤーが操作するキャラクターを作成中。 コードを書いたところ、期待していた位置に描画されない問題が。ActionScriptの理解を間違っているかなと、シンプルなテストコードを書いて試してみたら、そちらでは期待した通りの位置に描画された。何故だろう…

画面端

プレイヤーの実装していて、ウィンドウの左端では正しく描画されるのに、右端では途中で切れてしまうというおかしな現象に遭遇。 調べてみたらバグでは無かった。フラッシュプレイヤーのウィンドウの右側と下側には一定のマージンが取られていた。たぶんスク…

開始

新しいゲームの制作を開始。 そういえば、スクロールするゲームを作ったことが無かったので、今回挑戦してみる。予定しているのは縦スクロールのもの。スクロールでもシューティングではない。 ゲーム自体のアイデアはオリジナルではなく、あるところで見た…