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

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

プロジェクト32

キャラクターの拡大縮小と左右反転描画

キャラクターの描画サイズを指定しつつ左右反転描画を行う関数を追加。 なかなかうまくいかなくて、結局最後はAIに訪ねた。 自分の実装は途中まではあっていたけど、最後の部分で勘違いしていた。 なぜ、そこに気が付かなかったのかと。あっているはずという…

プレイヤーキャラクターの描画

プレイヤーキャラクターのテクスチャを読み込んで、仮表示してみた。 移動方向に合わせて表示を反転したいのだが、ライブラリには等倍で反転する機能はあったが、スケーリングしながら反転する機能は無かった。 ということでスケーリングと反転する機能の追…

ステージスクロール

ステージのスクロールを実装。 背景でスクロールを実装済みだったので、ちょっと変更するだけで実装できた。 背景よりも早くスクロールすることで、ちょっと奥行き感を出してみた。

ステージ地面作成

ステージの地面を作成。 マップデータをどう持つかでちょっと悩む。 結局、0が何も無い状態にして、描画のテクスチャ番号はマップデータ-1の値を使うようにした。 本来ならマップデータから描画用の変換テーブルを作ったほうが良いだろうけど、今回は手抜き…

ステージ作成準備

ステージの作成開始。 ステージ用のテクスチャは種類が多く、組み合わせも複雑なので、ランダムでステージを作るのはちょっと大変。 とりあえず、最初は見た目は気にせず、プレイヤーの足場として使えるようにすることから始めるか。

背景の描画とスクロール

背景チップを並べて描画して、スクロールも実装。 無限にスクロール出来るように、横に並べるチップ数を1個余分に用意。1個分スクロールしたら、マップデータをずらして、新たに1個追加する、というようにしてスクロールが続くようにした。 最初、追加する部…

背景チップの描画

背景チップの描画部分を実装中。 Javascriptでのコードの書き方を忘れていたり、テクスチャデータのパスを間違っていたりと、いろいろなところで躓いて、思ったよりも時間がかかってしまっている。 このあたりの部分をゲームエンジンはうまく処理してくれて…

Canvasの補間を無効に

横スクロールアクションゲームの制作中。 今回利用しようとしているアセットはドット絵タイプのものなのだが、1つのチップサイズが思ったよりも小さくて見づらいので2倍に拡大して表示することにした。 ただ、表示してみたら、補間によってぼやけたドットに…

作成開始

チュートリアル本を参考に横スクロールアクションゲームの制作を開始。 アセットはいつものように Kenney のものを利用させてもらうことにした。 kenney.nl 今回はドット絵のものを使ってみることにした。 チュートリアル本のコードをベースにとりあえず、マ…

ダメージとクリア処理

チュートリアル本で敵や罠に当たったときの判定や、ゴールまで到達したときのクリア処理について学ぶ。 ここは特に目新しいことはなく、ほぼ知っている内容だった。 これで横スクロールアクションゲームを作るのに最低限の要素は揃った感じ。 さて、これを自…

1マス分の穴

チュートリアル本で横スクロールジャンプアクションゲームの落下処理について学ぶ。 いわゆる地面に穴が空いていて落ちるという仕組みで、例えばマリオだとBダッシュしている間は1マス分の穴は落ちないというものがある。 それをどうやって実装しているのか…

スクロール

チュートリアル本でスクロールの仕組みについて学ぶ。 左右に自由にスクロールできるものや、マリオは右には進めるけど、左にはスクロールできないようになっていたはず。 縦方向も、プレイヤーのジャンプに合わせて動くものや、足場に着地したら動くものな…

慣性

チュートリアル本でプレイヤーの移動に慣性を付ける方法について学ぶ。 慣性を付けるだけなら、割とすぐに実装できそうだが、壁などとの当たり判定がちょっと面倒になる。 今回、書かれていた方法は、そういうやり方もあるのかと、自分ではあまり思いつかな…

ジャンプ

チュートリアル本でジャンプの実装方法について学ぶ。 実装方法については理解できたが、ちょっと挙動が気持ち良くない。まあ、パラメータで調整は出来るだろうけど。 ファミコンのマリオって、アセンブラであのジャンプの動きを実装していたのだから、やっ…

判定処理

チュートリアルの本でコードで、当たり判定の処理部分を見ていたら、気になる部分が。 当たっているか判定する関数で、キャラクターの四隅の座標をチェックしているのだが、すべてチェックするようなコードになっていた。 当たっているかチェックするのだか…

ランダムで用意する

チュートリアルの本では、横スクロールアクションのマップデータをランダムで生成するようにしていた。 たしかに、キャラの動きやダメージの扱いなどを実装する前に、とりあえずマップはランダムで用意してしまうというのはありだなと。 もちろん、まったく…

再開

以前読んで途中になっていたゲームプログラミングの本を再開。 今回は横スクロールアクションについて。 まずは説明を読んで仕組みを知ったら、自分なりに改造して、簡単なものを作ってみよう。 例によってクオリティは気にしない。