読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

Web 2D Shooting Game

敵エディタを作る - three.jsで2Dシューティングゲームの続きを作る(13)

非常にゆっくりだが、敵エディタの実装を続けている。もう少しでできそうな気もするが、まだまだな気もする。 ジェネレータの使い方がまだいまいちで、変なコードになってきている。が、まあそれは二の次にしておこう。とりあえずエディタを完成させて、ゲー…

敵エディタを作る - three.jsで2Dシューティングゲームの続きを作る(12)

敵エディタをぼちぼち作っている。 ギャラガタイプのシューティングゲームなので「敵編隊」と「敵1つ1つの動き」の編集が必要だ。まずは編隊の情報を編集する画面を作っていて、ある程度めどが立った。画面自体にはWeb Audioのシーケンス・エディタで作った…

three.jsで2Dシューティングゲームの続きを作る(11)

開発支援ツールを動かすときはElectronで動かすようにしてみた。作成したデータを保存する必要があるし、そうしたほうが何かと便利そうなので。 ブラウザ版とソースコードをできる限り共通化して、開発支援ツールはブラウザ版ではインクルードせず動作するよ…

three.jsで2Dシューティングゲームの続きを作る(10)

ちょっとまだBUGが残っているが、面を先に進めることができるようになった。20面を超えるあたりでは難易度が鬼のようになっていることが判明した。

three.jsで2Dシューティングゲームの続きを作る(9)

開発を支援するツールを作成し始めた。亀のように鈍い進み具合だが。そういう言い方は亀に失礼か。。 敵の動きをエディットするツールを作る前に、ゲームの任意の面で開始したり、ポーズしたり、リセットしたりする機能を実装している。それはもうちょっとし…

three.jsで2Dシューティングゲームの続きを作る(8)

今週はあまり時間がなかったので、先にゲームパッド対応をしてみた。 github.sfpgmr.net XInput対応のゲームパッドであれば動くはずだ。一応Chrome,Firefox,Edgeで動くことは確認した。 このゲームパッドAPI、ブラウザの実装度は低いと思ってたけどそんなで…

three.jsで2Dシューティングゲームの続きを作る(7)

とりあえずジェネレータ化は終えた。いまいちな実装であるが、ゲーム内容の充実に時間を割きたいので先に進むことにする。 github.sfpgmr.net とりあえず敵の動きのパターンを増やすためのユーティリティを作ることにする。今のままでは敵の動きを作るのが面…

three.jsで2Dシューティングゲームの続きを作る(6)

ジェネレータでタスクシステムの書き換えを行っているところ。この休日でほぼほぼ終わりそうだ。だがジェネレータの良さを生かしているとちょっと疑問なコードとなっているが、まあそれはおいおい手直しすることにしよう。 これが終わったら敵の配置や動き作…

three.jsで2Dシューティングゲームの続きを作る(5)

今コードをジェネレータを使って書き換えている。やっぱりジェネレータを使ったほうが状態保持のための変数を用意・管理しなくていいしね。これをしなくていいのはジェネレータがyieldを発動した時点の状態を保持してくれるからだけど。面倒な部分を言語が肩…

three.jsで2Dシューティングゲームの続きを作る(4)

新しいフィーチャーを追加しようとしたが、敵の移動データを入力するのが面倒なので、どうしようか思いつつ、コードがちょっと汚いというか古臭いという感じなので書き換えていた。といってもそれで洗練されたかというとそうではないのだが。自機のデザイン…

three.jsで2Dシューティングゲームの続きを作る(3)

続きを作ると宣言したものの、これといったアイデアは依然としてない。考えていることを列挙すると ボーナス・ステージの内容をどうしようか。ギャラガとかギャプラスのボーナス・ステージは楽しかったな。 1-3面を通常、4面をボーナス、5面をボス敵にし…

three.jsで2Dシューティングゲームの続きを作る(2) - gulp + babel + browserifyでビルドするように変更し、コードを修正した。

表題の通り、シューティングゲームのビルドをgulp + babel + browserifyで行うように変更した。 コードはファイルで分割していたものの、モノリシックな構成になっていたので、ファイル単位でモジュール化を行った。 といってもファイル間で疎に保てているか…

three.jsで2Dシューティングゲームの続きを作ることにする

2Dシューティングゲームの続きを作ることにする。 この作りかけは現時点ではギャラガの劣化版となっているが、何か新たなアイデアを追加してそこそこ遊べるようなものにしたいと思う。 といってもまだこれといったアイデアはないのだが。ちょっと隕石のよう…

2Dシューティングゲームを修正する

DownWellに触発され、ゲーム作りをしたくなってきた。まずは以前作ったギャラガもどきの2Dシューティングゲームを手直し。 動くものは下記。Chrome/Firefox/Edgeでの動作は確認した。 github.sfpgmr.net このゲームはthree.jsを2Dレンダリングエンジンとして…

three.js + WebAudio + socket.io で作った2Dシューティングゲームを久しぶりにいじる。

久しぶりに作りかけの2Dシューティングゲームをいじる とりあえずブログカスタマイズも一段落したので、VPSサーバー内のコンテンツを整理しようとしている。以前作りかけていたシューティングゲームが動作するのかチェックしてみたところ、Chromeでは今のと…

WebGL + three.js + Web Audio API – ゲーム作り(3)

何とかゲームの体裁に なんとかゲームとしてプレイできるようになった。まだギャラガもどきの状態のままであるが、自機をバックショットできるようにしてみたり敵を背後に配置してみたりしている。xキーでバックショットできる。 ギャラガ的な面クリアタイ…

WebGL + three.js + Web Audio API いじり – ゲーム作り(2)

今の状態 自機や自機弾、敵の動きを作っているところ。でもまだまだ。一応自機弾と敵とのあたり判定も入れてみた。 動くバージョンはこちら(要PC版Chrome) けっこう「らしく」なってきた。でも今のままだとギャラガの劣化版コピーゲームになってしまうので…

WebGL + three.js + Web Audio API いじり – ゲーム作り(2)- 0007

操作方法 z...プレイ開始、自弾発射 iキー or テンキー8 or カーソルキー ↑ ... 上移動 jキー or テンキー4 or カーソルキー ← ... 左移動 kキー or テンキー2 or カーソルキー ↓ ... 下移動 lキー or テンキー6 or カーソルキー → ... 下移動

WebGL + three.js + Web Audio API いじり – ゲーム作り

自機や敵の動きを作っている 簡易シーケンサーはだいたいできたかなということで、ゲーム本体を作っている。ギャラガのようなシューティングゲームを作るべく、まずは自機の動きを作り、今は敵の動きを作っている。あの編隊飛行しながら出現して、大編隊を組…

WebGL + three.js + Web Audio API いじり - 簡易シーケンサーの改良とか

簡易シーケンサーの改良 いやもうすっかりWeb Audio APIにハマっているわけですよ。大したことしてないけど。WebGLのことなどすっかり忘れてしまっている。。。大したものを見たい場合はg200kgさんのブログを見てください。 それはさておき、簡易シーケンサ…

WebGL + three.js + Web Audio API - 0006

WebGL + three.js + Web Audio API をいじる - 簡易シーケンサーを作る

簡易シーケンサーを作る なんとなくナムコ風の波形メモリ音源を作ってみている。8音同時発音できるようになったところで、MMLっぽいシーケンサーを作って鳴らしてみた。かなりいい加減なつくりだが、まあまあいい音が鳴るように思う。4ビットで32サンプルと…

WebGL + three.js + Web Audio API をいじって音を鳴らす。

Web Audio APIで波形メモリ音源をエミュレートする ゲームを作るうえで避けて通れないのがサウンドであり、私にとってかなり興味のある部分でもある。Web Audio APIの出現によって貧弱であったブラウザのサウンド機能も強力になりつつある。波形メモリ音源な…