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

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

プロジェクト12

公開

プチコンmkIIのコンテストで個人ブログで公開したものを応募しても良いというルールだったので、ここで公開しても大丈夫だろうということで公開。 プチコンmkIIの公式サイトでQRコード変換したものを貼り付けてみる。 ゲームは画面の中で動くボールが壁に当…

プチコンmkIIコンテスト応募

なんとか完成したので、プチコンのコンテストに応募した。 とはいっても、とても賞を取れるようなレベルではない。 とりあえず、参加することに意義があるということで。

締め切り間近

もうコンテストの締め切り間近だが、あと一つアイデアを組み込んでしまいたい。 アルゴリズム的には大丈夫なはずなので、あとはコードに落として、調整すればいいはず。

キャラクターの基準位置

キャラクターは16x16のスプライトを使って表示しているのだが、基準となる座標はスプライトの左上で処理していた。 ところが、当たり判定や座標移動などでいろいろと不都合な点が出てきてしまった。スプライトの中心を基準として表示するときに座標を-8した…

問題一つ解決

今まで苦労していた判定部分がうまくいったようだ。まだもっとテストは必要だけど、いまのところ自分が考えた通りに動作している。 方程式を解いて、解法を得てから、それをBASICのコードにするのにも苦労した。 でも、なかなかうまくいかなかったところが出…

数学的思考

当たり判定の部分をきちんと数式を立て、方程式を解いて解を求めようとするがなかなかうまくいかない。どうも数学的思考が弱くなってしまったようだ。 このペースだと締切りには間に合わないかもしれない。でもとりあえず、完成させることを目指そう。

判定式

追加したアイデアを実装していて、とりあえずうまくいったと思ったら、ある条件のときにはうまくいかないことが分かった。 今まで考えていた判定式では正しく判定できない。ということで新たに判定方法を考えなおさねば。

ステージ作り

引き続き、ステージクリアしたときの難易度アップの部分を実装中。 簡単にチェックできるようにクリア用のデバッグ機能を追加。

ステージ

クリアして次のステージにいくときに難易度を上げる仕組みを実装中。 前のステージよりも速度が上がって難しくなるだけでなく、新たな仕組みで難易度が上がるようにしたい。その仕組み次第ではもっと面白くなるかもしれない。いまのところ2つくらいアイデア…

整頓

新しいアイデアを実装しようとコードをいじっているうちに、ますますスパゲッティコードとなってしまったので、ちょっとコードを見やすくサブルーチン化したり、変数名を変えたりして分かりやすいようにした。 いわゆるリファクタリングなんだけど、リファク…

アイデア再び

プチコンmkIIのプログラミングコンテストに応募しようと作品を制作中。 今のままでは単調で面白くないので、前に試してみて問題があったアイデアをちょっと形を変えて実装できないかとテスト中。

一通り実装

ステージクリアとゲームオーバーの処理を実装して、とりあえず、始めから最後までプレイできる状態になった。 で、プレイしてみたがいまいち。非常に単調で、クリアしてもほとんど変化が無いので、すぐに飽きる。もっと何か面白くなるアイデアを入れないと。

UI

ステージの前半部分を実装。そして次にユーザーの入力を受け付けるところを実装開始。まだどのようなUIにするか決めていない。こったUIにするとつくるのに時間がかかってしまうので、とりあえずはソフトウェアキーボードをそのまま使うことにする予定。

BEEP音の長さ

タイトル画面に引き続き、ステージ開始前の部分を実装。こちらも演出はテキストのみで表現。あとBEEP音で音を付けてみた。 ただ、BEEP音の音色や音の高さを設定する方法は分かったけど、音の長さを設定するにはどうやったらいいんだろう。 って、ここまで書…

タイトル画面

とりあえず、タイトル画面を追加。といってもテキストを表示してキー入力を待つだけだけど。 本を参考にテキストを表示するサブルーチンとキー入力を待つサブルーチンを追加した。やっとなんとなくBASICでのコードの書き方に慣れてきたと思う。

締切り

プチコンmkII プチコン大喜利に応募することを目指してゲームを作成している。その締切りが今月末。今のペースだとちょっと間に合いそうもない。とりあえずいくつかのアイデアは後回しにしてゲームとしての体裁を整えることを先に行ってしまうことにしよう。

痛恨のミス

判定に使う変数名を短くして、なんとか1行に収め、とりあえず実装できた。 ただ動作チェックしているとときどき判定にミスってしまうことがある。こういうときデバッガがあれば楽なのだが…。 で、そのあと、プログラムをセーブしないまま終了してしまうとい…

1行の壁

プチコンmkIIでプログラミング中。 IF文で同時にいくつもの変数の値をチェックする条件式を書こうとしたら1行で入力できる文字数を超えてしまった。 解決方法としては変数名を短くするか、複数のIF文に分けるか。ブロックの考え方が無くIF文は1行で書かない…

可視化

複数の配列を使ってなんとかデータを作成することが出来た。 で、そのデータをグラフィックで可視化してみたところ、いまのままではゲームプレイ上問題があることが分かった。ということでまた少し考え直し。

データ形式

新しく追加したアイデアを実装するためのアルゴリズムはテストして多分大丈夫だろうと。ということで実際にコードを書いているのだが、今度はデータの持ち方で苦戦中。構造体が使えれば簡単なんだけど…。

アルゴリズムの実装開始

アルゴリズムを思い付いたので実装を始めた。しかし、BASICで書くとなると一苦労。関数や構造体が使いたい…。

新アイデア

今のままだとステージをクリアしても単調になってしまうので、何か新しいアイデアを追加することに。 とりあえず一つ思いついたのだが、どうやって実装したものか。アルゴリズムに落としこむのがちょっと大変。

サウンド付け

キャラクターの動きに合わせてSE付け。 プチコンmkIIではBEEP文でプリセットされた中から選べるのだが、なかなかイメージに合うものが見つからなかった。とりあえずそれっぽいものを選んだ。ピッチも調整すればもっと合うものにできるかもしれないが、ちょっ…

テストコード完成

とりあえず、enchant.jsで試してみたコードと同じ状態にプチコンmkIIで実装した。ここからゲームとしての体裁を整えていかないと。

コードを書くのがパズル

プチコンmkIIでプログラミング中。 コードを書いていて思うのは関数が使えないのが辛い。引数を変えて同じような処理をすることができないので、似たコードがいっぱい出てきてしまう。 さらにブロックも使えないのでIF文で条件があったときに長い処理をやる…

キャラクターの移動

プチコンmkIIでキャラクターが移動するまでを実装。最初ループで、VSYNC命令を書くのを忘れていてまともに動作しなかったが、VSYNC命令を入れてからは非常になめらかに動いたのでちょっと感動。 もちろん、これからがいろいろと大変なのだけど、こうやって少…

パレット

キャラクターをいくつか変えてみて表示してみたら、なにか色がおかしい。これはパレットが違うのかなと思い、いろいろと変えて試してみたが、なんとなく本に載っているものとちょっと色が違う。これはDSのモニタの色と印刷物の色の違いなのだろうか。 とりあ…

キャラ表示

プチコンmkII上でキャラクターを表示するところまで実装。キャラクターはとりあえず最初から入っているものから適当に選んで表示。 コードを書きながら、ついついクラス化して見やすくしようと思ってしまう。もちろんプチコンmkIIのSMILE BASICにはそんな機…

アイデア足し

とりあえず基本となる部分の動きを実装してみたところ、なんとなくいまいちな感じ。 で、少し考えてちょっとしたアイデアを足してみたら、予想していたよりもいい感じになった。 あとはこのままだと単調になってしまうので、さらに何か変化させるものを考え…

開始

思いついたアイデアを実際にコーディング開始。 とりあえず、jsdo.it上でenchant.jsを使って始めた。まずはパーツの表示から。 この前実装したライツアウトで使ったパズルゲーム用の素材をまた利用。そのときは1つのパーツを16x16で定義したけど、frameに0以…