2014年7月18日金曜日

iPhone/Androidスマホをゲームパッドにするぞ計画

家電量販店などに行くと、スマホタブレット用のゲームをプレイするための、Bluetoothコントローラーが売っています。


こんな感じ(Google画像検索)。


f:id:digitarhythm:20140718175542p:plain


 


しかし、ゲームがやりたい時に必ずコントローラーが近くにあるか?というと、ほとんどの場合は無いと思うんですよ。


私は普段、iPadはこういう状態で持ち歩いています。


f:id:digitarhythm:20140718185702j:plain


 


当然、ゲーム用のコントローラーなど持ち歩いていません。


そして、この状態だとiPadの画面を操作するタイプのアクションゲームも出来ません。


 しかし、私達は普段コントローラーに似たサイズのデバイスを持ち歩いているではないか、ということに気付いたわけです。


そうです、こういうやつです。


f:id:digitarhythm:20140718190221j:plain


 


これならば、ちょっとゲームがやりたくなった時にパっとスマホを取り出して、iPadのゲームをやって、終わったらスマホは充電するなり、ポケットに入れるなりすればコントローラーを持ち歩く必要ありません。


 


で、ゲームのBluetoothコントーラーとして使えるアプリを作ればいいジャマイカと思いますが、そうは簡単にはいかないのです。


ゲームのコントローラーには通常、方向指示ボタンがついています。


どこの誰が考えたかわかりませんが、これが実に良く出来ていて、私達はこれに完膚無きまでに、慣れさせられています。


そこで、スマホの画面に十字の絵を描き、それをコントローラーのごとく操作させようとすると・・・・これが上手くいかないんですねぇ。


なぜなら指先にまったくボタンを押している感触が無いので、指がどんどん十字の絵から離れていってしまうんですね。


そこで次に、「最初にタッチした場所を中心として上下左右を判断する」という方法を取ったアプリが出てきました。


これはまぁ最初の、なんにも考えていないコントローラーよりいくらかはマシでした。


一旦指を離してしまえば次のタッチでリセットされるのですから。


しかし、これもゲームを続けていくとイライラさせられることになります。


なぜなら、位置をリセットするためには指を一旦離さないといけないからです。


使いやすくするために導入した「一旦指を離す」という操作が、ゲームを続けているとイライラポイントに変わってしまうんですね。


そして、指を離せない場面というのも存在します。


アクションゲームで多いと思うのですが、動き回りながら敵を倒していくタイプのゲームだと指を離している暇が無いのです。


例えばこんなゲーム*1です。


f:id:digitarhythm:20140718182229j:plain


そうすると一番最初のなにも考えてない十字の絵と同じ現象が出てしまうのです(指がどんどん十字から離れていってしまう)。


このアンチノミーを解消するにはどうすればいいのか?


いつかAppleがこれを解決するベストソリューションを提供してくれると信じて待っていたのですが、全く出てくる気配すらありません。


それどころか、WebのアップルストアBluetoothゲームコントローラーを売ってる始末です。


では、どうすればいいか?と考えてみました。


まず、「十字の位置をリセットするために指を離す」を除外します。


そもそもゲームをやっている時に指を離さなければならないなどと言うことは、思考の邪魔以外のなにものでもありませんし、上記の理由により離すことが出来ない場面が往々にして訪れます。


しかし指先で十字を認識出来ない以上、指はどんどん画面上を移動していくので、どこかで位置をリセットしなければいけません。


 


そこで、「二回目に閾値を越えた量の位置移動があったらそこを中心点にする」という方法を考えてみました。


f:id:digitarhythm:20140718191003p:plain


上記の図で説明すると、まず最初にタップした位置を中心点として指の方向を取得します。


図の左で言うと「上方向」の処理を行います。


そしてそのままタップし続けるとずーっと「上方向」の処理をし続けますが、指の動きがある閾値を越えたところで、その時の指の位置を中心として十字コントローラーをリセットします。


例えば、画面をタップし指を上へ動かすと自キャラは上へ歩いて行きますが、指を動かすとリセットされるので自キャラは止まります。


しかしそれだと、方向を変えるためには一旦止めてから再び方向を指示するという形になり、タップし直してリセットとあまり変わりません。


 


そこで、方向を指示した後の指の動かす方向によって処理を分ければいいのではないかという考えに辿り着きました。


f:id:digitarhythm:20140718195311p:plain


おおまかに図にすると上図のようになります。


最初にタップした位置から上へ指を動かすと上方向への指示になります。


そこから閾値を越えて右へ指を動かした場合はそこを中心としてリセットし、右方向への指示とします。


左の場合はリセットして左方向への指示です。


下の場合は2段階になり、下に動かすとリセットされそこを十字の中心にします。


そこからさらに下に動かした場合は下方向への指示とするという感じです。


 


と、構想は出来ているので、あとはアプリを作るだけですね(笑)


 


2014年6月11日水曜日

インディカー テキサスファイアストーン600 最終結果

佐藤琢磨がエンジンブローした際のイエローでペナルティがあったらしく、最終結果が変わったとのこと。


 



  1. エド・カーペンター

  2. ウィル・パワー

  3. ファン・パブロ・モントーヤ

  4. サイモン・パジェノー

  5. スコット・ディクソン

  6. トニー・カナーン

  7. ミカエル・アレシン

  8. エリオ・カストロネベス

  9. ライアン・ブリスコー

  10. チャーリー・キンボール

  11. ジョセフ・ニューガーデン

  12. グレアム・レイホール

  13. カルロス・ムニョス

  14. ジェームス・ヒンチクリフ

  15. ジャック・ホークスワース

  16. カルロス・ウェルタス

  17. セバスチャン・サベードラ

  18. 佐藤 琢磨

  19. ライアン・ハンターレイ

  20. セバスチャン・ブルデイ

  21. ジャスティン・ウィルソン

  22. マルコ・アンドレッティ


 


が最終結果らしい。


 


2014年6月10日火曜日

XPERIA M

ワールドモデルのXPERIA MのOSアップデートが来ていたのでウホウホいいながらアップデートしてみた。


すると、なんと、貴重な、Android4.3!!!


f:id:digitarhythm:20140610184651j:plain


 


そして、なんと、WebGLに対応したっっっ!


f:id:digitarhythm:20140610221906j:plain


 


WebGLアプリを作るためにnexus5を買ったのに、XPERIA Mで事足りるようになってしまった。


2014年6月6日金曜日

OpenSSLの「CCSメッセージ脆弱性」への対処

redhat系では「openssl-1.0.1e」へアップデートしろと言う記事はあちこちで見られるが、Ubuntu系では情報があまりない。
lepidumからの情報によると、



Ubuntuの14.04 LTS → libssl1.0.0 1.0.1f-1ubuntu2.2
Ubuntuの13.10 → libssl1.0.0の 1.0.1e-3ubuntu1.4
Ubuntuの12.04 LTS → libssl1.0.0 1.0.1-4ubuntu5.14
Ubuntuの10.04 LTS → のlibssl0.9.8 0.9.8k-7ubuntu8.18



 に更新すればいいらしい。


 


2014年5月30日金曜日

標準ブラウザ撲滅委員会

いやぁ、ほんとに日本のキャリア端末に入っている、標準とは名ばかりの端末独自ブラウザである「標準ブラウザ」を撲滅させていきたい。


存在することで不幸になる人は居ても、幸せどころか、なんらかの利点がひとつでもある人なんて存在しない。

まず、名前がおかしい。

Googleの「Default Browser」をそのまま訳しているんだろうけど、それなら一切のカスタマイズをしないで欲しい。

おかげで端末の数だけWebブラウザーが存在することになってしまった。

ユーザーエージェントもまさに泥沼。

これは日本に限った話では無いようなので、もうDefault Browserのことはみんなで忘れようじゃないか。

大丈夫、僕らにはChromeがいるじゃないか。

2010年7月24日土曜日

netatalk

なんかnetatalk2.1にアップデートしてから、途中でサーバーとの接続が停止しましたとか出てTimeMachineバックアップに失敗するようになった。

しかもこないだ突然、いままでのバックアップを破棄して新たにバックアップを作成するとか言い出した。

まぁいいけどさ・・・。

でも、途中でコケてバックアップの初期イメージが作れないので、netatalk2.1.3にアップデートしてみた。

これで安定するといいな。



2010年6月25日金曜日

iPhoneとかiPadとか

2週間前にiPadを注文して、16日の午前3時にiPhoneを予約したら、24日にiPad、25日にiPhoneが届いた。

実は今、転職活動してまして、新しい会社では自分のMacBookでは仕事が出来ないので、今まで持ち歩いていたMacBookの代わりにiPadBluetoothキーボードを持ち歩くことにしたのだ。

なので1200円する「iSSH」というiPad対応のSSHアプリも買ってセットアップも完了。

PocketWiFiで接続して、PublicKeyで自宅サーバーにそのままログイン出来るようにもした。

iPhone4は、それまで使っていたiPhone3GSからそれほど出来ることが増えるわけではないので(ぶっちゃけほとんど変わらない)アクティベーションして同期したらすることが無い(笑)

3GSよりも細いのでなんかケースでも着けて3GSと同じ握り心地にしないと不安になる。

まぁ、それもこの幅に慣れれば大丈夫になるんだろうけど。

一昨日に、iPadとiPhone4用のパワーサポート製アンチグレアシートを買いに行ったが、iPhone4用のはまだ売ってなかった。

ネットで訊いてみると7月に発売になるらしい。

基本的にiPhoneは裸で使う主義なのだが、液晶面のガラスの反射が嫌いなのでシートは貼ろうと思う。

iPadにはすでに貼った。

これでしばらくガジェット生活は安泰かな。



QMK開発環境構築メモ

## Ubuntuコンテナイメージ取得 ```bash docker pull ubuntu:24.04 ``` --- ## コンテナ作成 ```bash docker run -it --name qmk_dev -v [マウント元ディレクトリ]:[マウント先ディレクトリ]...