2018年4月11日水曜日

Stencyl 3.4.0 での HTML5 書き出しについて

Flash 死亡とともに、どうも Stencyl も衰退しつつあるようですが、実験的とは言え HTML5 書き出しもできるようなのでテストしてみました。

テスト環境は以下のとおりです。
  • Windows 8.1 64bit
  • Stencyl 3.4.0 (Build 9300)
まずいきなり Test Game はできるのに HTML5 での Pubilish が
「Encountered errors while building your game.」
などと表示されて失敗する現象に遭遇。

シーンを作っただけのゲームでも発生するので、初っ端から絶望モードですが、思い切って Stencyl を再インストールしたら、このエラーは発生しなくなりました。
ただし、単に再インストールするだけではなく事前に
C:\Users\{ユーザー名}\AppData\Roaming\Stencyl
を削除またはリネームしておく必要がありました。

なお、そのフォルダ内の
stencylworks\games
にはゲームデータが入っているので、再インストールして作成された同フォルダにコピーすれば、引き続き利用できます。
先の書き出せなかったゲームも新環境では書き出せたので、このフォルダ内の何かが悪さしていたのかなと思います。

ちなみに、そうしてインストールした Stencyl を立ち上げたら「パーミッションがないぞ」みたいなメッセージが出ましたが無視しても問題なく使えておりますw

HTML5での注意点

  • IE11 では動かない。(Edge は未確認)
  • Sound ファイルは ogg を要求される。
  • iPhone では音が出ない。(Android は OK)
  • Setting の項目は WEB っぽい
  • Setting の Scale Mode は無視されるっぽい
  • Setting の Start In Full Screen? をチェックすると動かない
PCの Chrome と FireFox そして Android の Chrome では問題なし。

SWF 向けに作ったものを HTML5 で書き出し直したアホなゲーム

いずれもスマホでは画面サイズとかタップとかの関係で遊べません。

分かりにくいけどタイトル画面で既に商品並び替えできますんで。

概ね問題なし。

ドワーフに捕まった時のシーンリロードで Blur Out が機能していない。
他の効果では問題なかったけど、あえてそのままにしています。

あれ?結構いけるじゃないですか。
スマホ向けゲームもちゃんと意識して作ればいける気がします。
まぁミニゲームばかりなので、もっと大規模なゲームだとなにか問題が出るかもしれませんが、いつまでも実験段階なのは何が問題なのでしょうか。
購入者専用フォーラムとか見たら書いてあるのかなー。

しかし告知通り2017年中に HTML5 対応が完了していればワンチャンあったのではないかと思うだけに残念でなりません。

2018年1月26日金曜日

Raspberry Pi の純正カメラモジュール(v2)を Motion で利用する方法

そもそも Motion の公式ドキュメントにやり方は書いてあります。

https://motion-project.github.io/motion_config.html#Basic_Setup_PiCam

Motion で純正カメラモジュール(Piカメラ Official V2)を利用したい場合は

sudo apt-get install motion

で Motion をインストールした後

sudo modprobe bcm2835-v4l2

で bcm2835-v4l2 モジュールをインストールすればOK。

もちろん「Raspberry Pi の設定」で「インターフェイス」の「カメラ」は有効にしておきましょう。

引き続き raspistill コマンドなんかも Motion が動いていないときであれば利用できます。

motion の設定方法や使い方も、まずは公式ドキュメントをご覧になることをおすすめします。

https://motion-project.github.io/motion_guide.html

ブラウザ上で確認しながら設定変更する方法なんかもあります。(ちょっと野暮ったいですが…)

2018年1月5日金曜日

Microbit の稼働時間(ミリ秒)があんまり正確ではない問題

Microbit で時計やタイマーやストップウォッチを作ってみたくなるのは誰しもが通る道かと思いますが、いざ「稼働時間(ミリ秒)」や「一時停止(ミリ秒)」を使ってやってみると、全然正確ではないことがわかります。

まず試しに、このような3分タイマーを作ってみました。
タイマー開始と終了時にニャンキャットが流れます。
エディターでみる
シミュレーター上では特に問題ないのですが、実機で動かして実際のストップウォッチで計ってみると、だいたい3分1秒くらいで音がなります。
これを10分にしてみると、だいたい10分3秒くらいに音がなりました。
どうやら1分間で約0.3秒ほど遅れるようです。

まぁ数秒のズレならまだ良いのですが、そもそも私は1時間毎にお知らせするタイマーを作りたかったので、これでは1時間18秒毎にお知らせするタイマーになってしまいます。
(2時間後には36秒もズレるわけです)

ただ、何度試しても結果が大きく変わることはなかったので、ある程度正確に「遅れている」ようです。
つまりこの遅れ分、早めてあげればもう少し精度が上げられそうです。

ということで、60 - 0.3 = 59.7 = 59700ミリ秒を1分としてカウントするタイマーを作ってみました。
エディターでみる
上記のとは変数「分」の使い方が変わっている点に注意w

今度は開始は「ピコーン!」でアラームを「ニャンキャット」にしました。
また、簡素化のためグラフ表示は無しw

これで3分程度ならば、気にならないレベルになりました。

しかし、1時間で試してみたところ、まだ数秒ズレが発生してしまいます。
しかも困ったことに試す度に微妙に結果が異なるようになってしまいました。
流石にこのレベルになると、電源や気温、個体差などによって変化してしまうのかもしれません。

私の環境では、59690ミリ秒を1分とすることで、1時間あたりの誤差を1秒以下にすることができました。
そのあたりは環境に合わせ、みなさん調整してみてください。

おしまい。