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

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

プロジェクト1

一応完成

最初のゲームは一応これで完成。 簡単なミニゲームで上下の壁の間を進んでいくというもの。ボタンを押している間は上昇し、離しているときは下降するようになっているワンボタンゲーム。Flashでも簡単に出来てしまうレベル。 この日記を付け始めてから約2ヶ…

リリースでのメイク

作成中のミニゲームで読み込むデータファイルはサウンドファイルのみで、それをZipファイルに固める。そして今までDebugでメイクしていたのを今度はReleaseでメイク。 出来た実行ファイルをプロジェクトフォルダから別の新しいフォルダにコピー。その他必要…

ウィンドウの外でのマウス入力その2

Yanesdkを使わずに普通にPictureBoxを貼り付けたFormを作成し、MouseEnterやMouseLeaveイベントが発生するか試してみた。結果、イベントは発生しなかった。 ためしにFormより小さいPictureBoxを貼り付けてテストしてみると、マウスカーソルがPictureBox上に…

ウィンドウの外でのマウス入力

今作っているプログラムではマウスカーソルがそのウィンドウの外にあってもマウスの入力を受け付けてしまうようになっている。そこでYanesdkのMouseInputのインスタンスを作成する部分を次のように変更。 MouseInput mouse; mouse = new MouseInput(this, tr…

ステージクリア

ステージクリアの処理を追加。次のステージにいくのだから、難易度を上げなくてはいけないけど、これがなかなか調整が難しい。まあ今回はゲームの面白さよりも作り上げることが目的なので、その辺は適当に。

ノイズ

いろいろとSEをつけていたら、昨日には無かったノイズが。短い単発のSEもきれいに再生されないし、BGMとしてならしている曲もプチプチとノイズが入ってしまう。今まで気が付かなかったのか、それとも何か悪さをしているものがあるのか。 ちょっと前に作った…

音素材その2

音素材を探していて見つかったサイト。 ザ・マッチメイカァズ2nd 【フリー効果音素材】 そういえば、フラッシュ作品とかでよく使われていて名前を見たことがあった。非常にたくさんの音素材があり、探すのが大変なほど。この中からいくつかをピックアップし…

音素材

だいぶゲームが形になってきたので、サウンドを付けようと音素材を探し始めた。 前回サウンドのテストを行ったときのサイトには自分のイメージする音が無かった。わざわざお金を払ってまで作ってもらうものでもないし。 もうちょっといろいろなサイトを回っ…

更新と描画

結局、更新と描画を同じフレームに行うように変更。簡単なミニゲームなので更新と描画を分けなくても大丈夫だろう。 void Loop() { // 描画待ち fpsTimer.WaitFrame(); if (fpsTimer.ToBeSkip) return; // モードの更新 ModeExec(); // モードの描画 ModeDra…

更新と描画

各モードを更新と描画の処理に分けて実装したのだけれども、またこれに問題が。描画はFpsTimerを使って指定したフレームレートで描画するようにしたため、更新と描画が一致しないことが生じてしまう。 void Loop() { // モードの更新 ModeExec(); // 描画待…

モード切替

昨日実装したモードにバグがあることに気が付いた。更新処理と描画処理に分けているのだけど、更新処理でモードを変更するとそのフレームの描画処理が変更したモードに変わってしまっていた。 モード変更は次のフレームから行うように修正。 ってプログラム…

ゲームオーバー

タイトルと同じようにゲームオーバー部分を実装。 今はタイトルやゲームオーバーなどの各モードを座標移動などの更新部分と描画部分に分けて実装している。単純にswitch文で切り替えているだけだけど、これならばモードのクラスを作っても良かったかもしれな…

タイトル

タイトル画面を作成。タイトルやゲーム中、ゲームオーバー時などの処理はタスクとかを使うのかもしれないけど、今回は簡単にモードをあらわす変数を用意してswitch文で切り替えて実装。 たとえばこんな感じ。 enum MODE { TITLE, PLAY, }; MODE Mode = MODE.…

当たり判定

当たり判定を追加した。自機とステージの当たり判定を行うのだが、今回自機はドットなので大きさは1ドットだし、ステージも高さしか持っていないので単純な座標の比較だけで良いので簡単。 もっと複雑な形状だったり、判定する箇所が多いような場合には高速…

自機の移動

ユーザーのボタン入力に合わせて自機の移動する処理を追加。当たり判定は入っていないけど、これだけでなんとなくゲームっぽくなった。しょぼいものだけどけっこう嬉しい。

ステージデータの作成

ステージデータは単純に配列で持つことにした。データの生成方法は簡単なランダムで。 とりあえず適当な値でステージを生成し、仮に描画してみた。やっぱラインだけでは非常にさびしい画面。まるでファミコンより前のテレビゲームの画面みたいだ。

ステージ作成

いままでいろいろと試してきて、描画(ラインとフォントだけだけど)、サウンド、入力と最低限必要なものがそろったので、さっそく本格的にゲーム制作を開始。 まずはステージ部分の制作から開始。 描画自体はラインを使ったシンプルなものなので簡単だけど、…

画面の更新

画面の更新はTimerのTickイベントで行っているわけだが、その更新頻度をどのくらいにすればよいのかという話。 PS2などのコンソールゲーム機の場合はNTSCのテレビに合わせるので、垂直同期の約1/60秒で画面の更新を行っている。1回の書き換えが1フレームとい…

ウィンドウの作成

まずはゲームのウィンドウを作成。 今回作成するゲームは横長の画面にするつもりなので、ウィンドウサイズはPSPと同じ480×272ドットとした。 タイトルバーに表示されるテキストをTextプロパティに設定。 最小化、最大化ボタンを表示しないように、MaximizeBo…

プロジェクト1開始

Yanesdkの設定も出来たので、さっそくゲーム作りにとりかかってみようと思う。そのほうがモチベーションもあがるし。 まずはどんなゲームにするかということだけど、ドラクエやFFみたいなの作りたい、なんてことは言いません。今のレベルでは到底無理なこと…