2012年3月11日日曜日

enchant.jsでミニゲーム作ってみました

タッチで方向転換、ステージ下のターゲットの真ん中にできるだけ近づけるとハイスコアです。

ちょっと前から気になっていたenchant.jsを触ってみました。
とりあえずゲームとして形になったので公開してみます。
ChromeとiPhone4S、Android(IS03)では動作確認してます。

ステージギミックのアイディアがまだあるので、もうちょっと作成続けていこうかな、と。
ちなみに元ネタは爆笑!人生劇場2のミニゲームというマニアックなところなのですが。

enchant.js、気軽に作れてすぐ試せるのでいい感じです。

2012年2月13日月曜日

ゲーミフィケーションを読んだ

おもむろに読んだ本の感想、まとめをば。

「ゲーミフィケーション―<ゲーム>がビジネスを変える」

ゲーミフィケーション
ゲーミフィケーションとはゲームと関係のないところでゲームの要素を利用するということ。

例)ポケットピカチュー
プレイヤーはゲームを進めるために歩き、それがゲームに反映され、再び歩き...というように
ウォーキングという行為が「ポケットピカチュー」というゲームの枠の中に組み込まれゲーム化されます。
ゲーム化されれば「毎日歩き続ける」という全体像の見えにくい行為に指標がルールが生まれそれが継続します。

もやっとした言い方ですが、あるものやその周辺をゲームとして体制立ててあげることでゲームの力を利用するというものがゲーミフィケーションであると思います。

ビジネスへの応用

・ユーザとの継続的な関係が持てる=エンゲージメント
Facebook上のスターバックスのユーザにアイディアを募るというキャンペーンが紹介されていました。
従業員に週8時間キャンペーンの業務を与えてキャンペーンの運用業務につきます。
それでもフィードバックがなければユーザが離れてしまいます。
解決策として投稿されたアイディアはユーザによって評価されるという仕組みでキャンペーンをゲーム化、
さらに実店舗に足を運んだ時に回数によって飲み物が無料になるなどのキャンペーンを実施したそうです。

既にビジネスを展開しているところは
こういう手法を取ることで既についてくれているユーザと強く結びつくことができるというメリットがありそうです。
こまめにこちらのリリースしたものをチェックしてくれる可能性があるし店舗に足を運ぶ強い理由付けにもなります。
これまでにも新商品をリリースする際にFlashゲームをリリースする企業はありましたが
根本的に違うのは展開しているビジネスにゲームを取り入れることで継続してユーザに気にしてもらえるところではないでしょうか。

・行動分析
従来のWebでは分からなかったユーザの行動がデータとして蓄積できるというメリットがあります。
今まで何ページ読んだか、どのくらいの頻度でアクセスしたか、滞在時間はどのくらいか、どのくらいシェアされたかという情報しか分からなかったものが
ゲームとしての枠組みを構築することで、ルールによってユーザの行動がどのくらい変わるかということを計測することができます。

ゲーミフィケーションが可能になった背景

・数値化する機器の普及、低価格化
あるものをデジタルゲームとして取り入れる時、その情報が数値化されている方が圧倒的にゲームに取り込みやすいです。
万歩計は歩数を数値化し、その数値によってキャラクターの反応を変えることができます。
モバイル端末にGPSがついたことによって位置情報が数値化できるので位置ゲーを作ることができます。
この数値化された情報をゲームのパラメータとして取り込むことで情報を取り巻く事象がゲーム化できるということです。
機器に数値化できるセンサーが乗るためには、センサーが自体が普及していなければならないということも記述されていました。
新しい何かをゲーム化するにはそのものの周辺技術の発展も影響するということだと思います。

・デバイスの発達
ゲームを習慣づけるためには利用したいと思ったタイミングで利用できることが重要です。
PCゲームや据え置き機を起動するのを億劫だと感じてしまう人は一定数居てゲームを継続する人数がその時点で減ってしまいます。
そういう意味でスマートフォンのような、いつでもゲームを利用できるポータブルなデバイスの普及がゲーミフィケーションを可能にします。

・ゲームに慣れ親しんだ層が厚くなった
デジタルゲームをするということ自体がゲームを全くしたことの無い層からは敷居が高く
普及するためにはデジタルゲームをしたことがある層が厚くなければなりません。
書籍によれば50代前半くらいがゲームをやったことがある可能性のある年代だとしています。

ゲームデザイン

この書籍が面白いと思ったのは現在あるゲームを元に具体的なゲームデザインの方法を提示している所です。
ロック解除(機能の解除)、レベルデザインといったものから、既存のソーシャルゲームが取り組んでいること、
やってしまいがちな良くないメカニクス、またそれの改善の可能性などが丁寧に記されています。
これは僕個人の考え方ですが、ある物をゲーム化する大きな利点のひとつに継続化することができる、ということがあると思います。
苦痛になる行為、面白くない行為をゲームとして取り入れることで積極的に参加できるものにしてしまう。
ゼロの状態から新しい行為を生み出すということが既存のゲームの考え方なら
ある行為のその人にとっての価値を変異させてしまう、というのがゲーミフィケーションの面白いところだと思います。


ということでクソ長いエントリになってしまったのですが

ビジネス的な事例と既存のゲームのノウハウの両方からトピックを引っ張ってきていたので
筆者がゲームが好きなのだろうなというところが凄く共感が持てたところです。



以下とりとめもなくメモ

●ゲームと物語について
筆者はマスメディアのスケールの手法として物語をあげ、
ソーシャルメディアには物語的視点よりもネタ消費の方が効果があるといっていたが
実際にゲーム化する上で物語が必要になるケースもありそう。
例えば構造的に複雑なものを物語の文脈に載せることで分かりやすくなったり。

●すれ違い通信について
すれ違いは数値化することでゲームにするということではない事例の1つかも。
むしろアナログ的なゲーム化なのかもしれない

●ユーザとのやりとり/プラットフォーム
継続という点で重要なのは如何にユーザの生活の中の1部として定着させるか。
そのためにはバーチャルでもリアルでもユーザが通る場所を確保することが重要。
またユーザに能動的に通知をプッシュできる、ユーザが気になった時にアクセスできる、サービスの情報が流れるという仕組みが
プラットフォームに備わってキツいかもしれない。

●細かな物を統合する
1つのパッケージが単発的で継続を促進させなくても
何個かのパッケージを1つの大きなゲーム行為の要素として載せることで
ゲームをする価値付けをすることもできる。

●一気に伝え過ぎない
アンロック、レベルデザインといったメカニズムを用いて
通知、学習、基本、応用といったプロセスを用いて文章ではなく理解してもらうという方法がある。

●外発的、内発的動機付け
外発的:クイズを解くとお金がもらえる
内発的:面白いからクイズを解く

2011年5月3日火曜日

[JSFL]CS5でのexportPNG

仕事でJSFLを使う機会があるのですが、
フラッシュの素材を一括png書き出しするスクリプトを随分前に書きました。
僕はCS4を使ってたので、動作確認も勿論CS4で。

今日、CS5でスクリプトを実行したら、うまく動かないという話だったので、
やってみたら確かに動かない。
パネルには"ビットマップが大きすぎる。8000×8000以内じゃないとムリ"というエラーが吐かれていました。

exportPNGメソッドの使い方は以下のような感じ。
document.exportPNG([fileURI [, bCurrentPNGSettings [, bCurrentFrame]]]

bCurrentPNGSettingsはドキュメントによると
現在の PNG のパブリッシュ設定を使用するか(true)、PNG 書き出しダイアログボックスを表示するか(false)を指定するブール値

これがfalseの場合はFlash上で「イメージの書き出し」でpngを指定すると出てくるダイアログボックスが出てきます。
もちろん一括書き出しでそんな面倒な操作できないのでtrueにしておいたんですけど、
cs4ではうまくいっていたのにcs5だと前述のエラーが出て書き出せません。

そこで書き出し直前で、document.exportPublishProfileString()で得られるxml文字列を確認してみたところ、
width,heightとも60px。。。
その後いろいろ試したのですが、改善せず。

最後に省略していたbCurrentFrameをtrueにしてみました。

このbCurrentFrameはリファレンスによると
現在のフレームのみを書き出すか(true)、すべてのフレームをフレームごとに別の PNG ファイルとして書き出すか(false)を指定するブール値。このパラメーターはオプションです。デフォルト値は false です
だそうで、
要は、trueで現在の選択フレームのみを画像化するということです。

今回は1フレームしか必要なかったので、この値をtrueにするとすんなり動いてくれました。
よかったぁぁぁ。。。


余談ですが、このdocument.exportPNGは失敗するとfalseを返す仕様なのですが、
前述のエラー時には、trueを堂々と吐いてて、コノヤローと思いました。

JSFLは便利なんですが、ときたまこういうことしでかしてくれます。
あと微妙にバージョンで挙動が違ったりサポートしてなかったりするので注意です。

2011年4月20日水曜日

ドキュメントスキャナで電子化じゃぁぁ

先週、ドキュメントスキャナーを買ってみた。

目的は自炊ではなく、メモの電子化!!
最近、マインドマップで読書のメモをとろう運動をしてて
ささっと取り込めるスキャナが欲しかったので。

メモの類いは全部EverNoteに全部放りこんでおきたいなと。

購入したのは、CanonのDR-150



ScanSnapのポータブルのものに比べると若干重かったけど、
持ち運ぶ機会もそんなにないし。

USB電源なのが不安だったけど、今やってみたら問題ないレベルでした。
iPhoneで取り込んだメモみてニヤニヤしてます。
マインドマップ楽しいなー。
マインドマップ読書法はある程度慣れてきたら記事にしてみたいところ。


2011年4月17日日曜日

ブログはじめました。

日々のアレコレ、開発メモ、書評などなど書きつらねてみようと思います。