2016年6月28日火曜日

[HTML5でゲームづくり]フラッピーバード04(評価)

前回までで一通り動くようになりましたが、改善するべき点があるので、どうするべきかを考えていきます。

①スペースキーが正常に動作しない
ブラウザにもよりますが、ボタンを押したとカーソルが離れていないと、スペースキーでそのボタンが押されてしまう。
改善策:他のキーを割り当てる。
    スペースキーが押された時はボタンを押した時の動作をさせないようにする。

②Canvas上の文字が見づらい
改善策:文字の後ろに白い四角を描画する。

③筒とあたってもGameOverしない
現状では筒の左側と円の中心の当たり判定しか行っていない。
改善策:当たり判定の方法を考えなおす。

④地面衝突でのGameOver未実装(2016/7/14追記)
改善策:実装する。(or仕様にする)

これらの改善策は気が向いた時に改善し、新しいページに載せる予定(未定)です。


<<前(実装)


[HTML5でゲームづくり]フラッピーバード03(実装)

前回作ったコードをこのページに埋め込みます。

※reset+start  : リセットしその後はじめからスタート
※stop/restart : 一時停止と再開
※Canvasをクリックするかスペースキーを押すとジャンプします。
  ただし、スペースキーを使うと正常に動作しないブラウザもあります。



<<前(制作) 次(評価)>>

[HTML5でゲームづくり]フラッピーバード02(制作)

前回決定した設計に従ってコードを書いていきます。

作っているときに気づいたことだがスペースキーでジャンプさせたほうがPCでは操作しやすかったのでその機能も追加した。



実際に動かせるものはものは次回に公開します。

<<前(設計) 次(実装)>>

2016年6月26日日曜日

[HTML5でゲームづくり]フラッピーバード01(設計)

タップして上下から伸びる管の間を通り抜けるゲームですが、今回はどんなデバイスでもと遊べるように、HTML5で作りたいと思います。

HTMLを使ってゲームを作るときは、imgタグを動かすことでゲームを作っていく方法や、canvasを使って作っていく方法などがありますが、今回はcanvasを使う方法で作りたいと思います。
設計は上の図のようにし、Canvasが押された時に速度をプラスします。各配列が管の長さ情報を表し、時間の経過とともに各配列と対応する管が黄緑の向きに移動するようにします。また、赤い丸は鳥にあたる部分ですが、それの上下方向の速度と座標情報を付けておきます。

次(制作)>>


2016年6月23日木曜日

[録画サーバー10]運用経過

録画サーバーを運用し始めてから1ヶ月以上経つのでどのような不具合が出てきたかを書いていきます。

①PX-W3PEのドライバがエラーを出し録画できなくなる。
開始一週間後くらいになりました。再起動で治り、再発はありません。

②RaspberryにつけているWiFiアダプタのGW300Sが2日程度で停止する。
こちらも再起動で治りますが、何度やっても5日以上持ちません。なのでWiFi経由で視聴するときのみRaspberryを起動しています。

③突然録画できなくなる
最近(6月中旬)なりました。ある番組の途中で録画が止まり、続く番組も撮れていませんでした。しかし、時間を開けてから録画してみると録画出来ました。また、ドライバなどがエラーを出した痕跡はありませんでした。同じ番組がレコーダーでは撮れていたので、受信レベルの低下は考えにくいです。

<<前 次>>

[録画サーバー09]遠隔視聴編

このままでは本体からしか視聴できないのでスマホや他のPCからも見れるようにします。ただし、家のLAN内のみです。

ここで発生した問題は2つあり、
ひとつ目はWifiアダプタのGW300Sのせいでブルースクリーンになってしまう問題です。これは一度しか起こっていないので詳しい原因は不明ですが、安定性を重視したいのでなんとかしなければならない問題です。
ふたつ目はWindowsをセキュリティソフト無しで使い続けるという問題です。

これらの問題を解決するため以下の方法を検討してみました。
①仮想マシンにWifiアダプタを繋ぎ、サーバーにする。
これはPentium n3700にVt-dがないので通信速度が遅くなり、実用に耐えうるものではありませんでした。
②Wifi子機を買い、有線接続をする。
子機を買うコストとWindowsのセキュリティーソフトなしの問題がそのままなので不採用。
③RaspberryPiと有線接続する。
今回はこの方法を採用した。

どのようになっているかは下の通りである。
WiFi- -GW300S-Raspberry--(有線LAN)--録画サーバ
録画サーバにあるエンコード済みフォルダをLAN内共有設定して、Raspberryの/var/www/hoge/にsambaでマウントする。また、Raspberryにはルータ機能を入れていないので録画サーバは直接外とつながることはありません。

このようにするとWiFiに接続できるデバイスはRaspberryにブラウザでアクセスするだけで録画したものを見ることができます。


<<前 続き>>

[録画サーバー08]エンコード自動化編

前回エンコードの手段が決まったので、今回はそれを自動で行うようにします。

EDCBで設定すれば録画後自動で開始することは可能なのですが、このマシンは非力なのでエンコードが録画の妨げとなりそうだったので、私は録画をしないであろう午前9:00からエンコードを開始するようにしたいと思いました。そこで自分で下記のような動作をするプログラムを書くことにしました。

①9:00を過ぎてから動作を始める(Sleepと時間取得の繰り返し)
②まだエンコードされていないファイルを探す(指定した録画・エンコードフォルダの全ての階層をチェック)
③録画フォルダ側に新しいフォルダがあればエンコード側にも同名のフォルダを作る
④HandbrakeのCUI版をコマンドで実行しエンコード
⑤番組内容などを記録したファイルをエンコード側フォルダーにコピー

今のところ録画データを削除する機能はつけていません。なぜなら、エンコードに失敗してしまう可能せもあるからです。なので録画可能容量は定期的に確認します。


<<前 続き>>