2012年6月28日木曜日

ソーシャル化 php ②

・SNS が流行ってるぜ
・android でソーシャル化するには PHP がお手軽だ

ということでアプリからレンタルサーバーに接続して、サーバー設置の PHP でデータベース管理的なことを行おうと試みているのですが、なかなかうまくいなかい。ネット上では情報やソースがごろごろしているが、それを試してもうまくいかないから困ったものです。

HttpClient
HttpPost
このあたりを外部ライブラリを導入して用いればサーバー設置の PHP と通信を行うところまでは何とかたどりつく。しかし、ファイルに書き込んだり、ファイルを作ったりすることができない。このあたりができれば、サーバー上に色々なユーザーから持ちあげた情報を蓄積していくことができるのだが...(個人情報とかそういうのではなく、ゲームアプリの個々の進行状況などをアップさせたい)。

答えはパーミッションにあった。FTPソフトにFFFTPを用いているが、こいつで簡単にファイルやフォルダのパーミッション(権限)を調べることができる。Excel なんかだと新しく作ったファイルをネットワーク上に置いたら誰でも上書き保存ができる。誰でも上書きできるのが不都合なら、設定を変えないといけない。

ところがネットファイルの場合は新規ファイルは 644 (オーナー「呼出」「書込」、グループ「呼出」、その他「呼出」)となっている。新規フォルダだと 755 (オーナー「呼出」「書込」「実行」、グループ「呼出」「実行」、その他「呼出」「実行」)となっている。書き込み権限のないファイルに(PHPプログラムで)書き込むことはできないし、書き込み権限のないフォルダ内では(PHPプログラムで)新規ファイルを作成することができない。
参考
http://homepage1.nifty.com/mystaff/howto/permisson.htm

セキュリティ上 777 にすることはよろしくないが、プログラムでファイルを自動生成したり書き込んだりしたいのなら 777 のフォルダ内に、そのような機能を持つ PHP ファイルを設置する必要がある。タネが割れたらけっこう簡単な話だが、この辺を分かりやすいように説明しているウェブサイトも知恵袋もないんですよね~。

2012年6月25日月曜日

ソーシャル化 php ①

前述の「ぐんまのやぼう」にもソーシャルアプリの要素があります。ゆる~く淡~くなんですが、ゲームの進行状況をツイッターにあげることができます。とりあえず昨今のヒットものにはソーシャルの要素が見え隠れする可能性がそれなりに、それなりに、あると思います。ちなみに20年前のゲームなんかソーシャル要素が含まれるものなんて 0% っすからね。社会化の波がキテるのは間違いない。

じゃあソシアルとは何なのか? あるいは君、ソシアルじゃないね! という区別。分別。一言でまとめるなら「ユーザー間の干渉があるか否か」でいいと思います。

パラレルワールド。平行世界...。それぞれが完全に独立しており、AとBに接点はない。AはBの内側を見ることができない。CはA、B、Dが存在していることさえ知らない。Dが神業プレイで即ゲームクリアしても、A、B、Cは「へ~」とも思わない(Dの暗躍を知る術がない)。まるで大都会のワンルームマンションのような世界。それが「非ソシアル型」。↑図の灰色バックの方がこれのモデル図となります。

↑の図(下段)ではAは○○を中継してDに情報(データ)を投げ込んでいます。先ほどのワンルームマンションに例えるなら、管理人さんを通してAさんがDさんに苦情の一つでも言ったような形態です。では、この○○とは何なのか? これがかの有名な「サーバー」さんでございます。必ず、サーバーを介する形で相互干渉なりデータや情報のやりとりを行います。サーバーをいじりたおすことができれば、アプリのソーシャル化など簡単なことです(ただしサーバーをいじりたおすのが難しい)。

私も社会化の流れを僅かずつでも進めていきたいと思い、ここ最近はウェブに接続して java script で動かすということをやったりしてみたが、ど~もサーバーいじりたおすのは java script じゃなしに cgi なり php で行わないといけないみたいだと今更気付かされたわけです。で、androidアプリからデータをサーバーに送ってサーバー内ファイルにデータ保存する、という流れを社会化実験の第一段階として行おうとしたが、それはもう、あっちのブログを見てAを試し、他のブログを見てBを試し、えっ? 結局だめなん? ということに気づいてCを試し、という膨大な試行を要するものであった。

①外部ライブラリ(apache 関連)のダウンロード
②上を eclipse 上でプロジェクトに組み込む
③無料かつ php を起動させることができるレンタルサーバーへの申し込み
④FTP ソフトのダウンロード
⑤php エディタのダウンロード(必須ではない)
⑥ネット上で見かけるソースを切った貼ったで送信側の java ソース完成
⑦受け手(POST)の php ソース完成
⑧⑦を④を使って③に送り込む
⑨空のテキストファイルを④を使って③に送り込む
10.android実機で動作確認(サーバー上にある⑨ファイルを送信文字列で更新することに成功)

まだ序の口ですが、サーバー柔術白帯です。

2012年6月13日水曜日

B級携帯アプリの妙を考える

いまだ500DLいってません。
やる気もうすくなってきて、当ブログも3ヶ月ぶりの更新となっている昨今。
レビューは★1個が2つと★5個を1ついただきました(★1個はほんとに嫌がらせかと思いたくなってきますよ)。
星5の方は謎のメールを送ってきてくれて、8割方内容は理解できたが 「一緒に仕事できることを楽しみにしている」と言われても...?
カネを払ったらアプリのプロモーションをしてくれるということなのかもしれないが よくわからんので、微妙な返事を英文で返してみたが、反応は無し。


話はごっそり変わるが、いま「ぐんまのやぼう」というアプリがミドルヒットの10万越えを達成したらしい。この作者はB級ライトのカジュアルアプリをやたらめっぽう作るという作戦でiphoneのころから実績を地味に重ねてきたところ、件の「ぐんまのやぼう」がまさかまさかの大ヒットとなったらしい。

僕も「信長の野望」とか「三国志」はやったくちなので統一もののゲーム性はわかりますよ。 国力を充実させて隣国に侵攻して制圧、それを繰り返して日本地図を一色に染めていくわけだ、と。 確かにこの一点、この一点に関してはまさに「○○の野望」を語るにふさわしい内容なのですが、、、、、 ものすごいゆるゲーであるということがガチガチの戦国シミュレーションゲームとは一線を画しているわけだ。

・人気の放置プレイ型
・特産物を収穫してGを獲得(一定時間経過でまた収穫できる)
・一定時間というのが起動時間ではなく、リアルタイムの時間であることがミソ
・Gを獲得すると隣国を制圧できる(人口の多い都道府県ほど大量のGが必要)
・他県を制圧するごとにミニゲームが増えていく
・ミニゲームで暇つぶしをすることによって、野菜が生えてくるまでの時間を潰せる
・ミニゲーム自体でもいくらかはGが手に入る
・敵が侵攻してくるなど、プレイヤー側が決定的に負ける要素はない

上記特徴のいくつかは今はやりの「ドリランド」のそれと驚くべき類似性を見せる。 重要なのはドリランドも放置しておくことで行動するためのパワーを回復するシステムとなっていることだ。 また、やればやるほど行動パターン(プレイヤー側の選択肢)が増えていく構造も似ているといえる。

実際に「ぐんまのやぼう」もコンプガチャを取り入れているが、これはシャレというか悪ノリであって、 ドリランドとの真の類似性は時間放置でゲーム内で重要なファクターを獲得(回復)できるという点にあると思う。作者もソーシャルゲームをそこまで意識して似せてゲームデザインを行ったわけではなく、たまたま作ったアプリがなんとな~くドリランド的要素を持っていることに事後的に気付いたのであろう。

ゲーム専用機と携帯電話ゲーム(スマホアプリ)ではユーザーから求められるものが違う、的な話は仮にもデベロッパーなら(個人といえども)100万回読んだことがあるだろう。では実際何が違うのか? タッチパネル? 無料? お手軽? そうだけども、それだけじゃない。いい線いっているが、ボールを芯でとらえていない、そんな気がする。そんな気がしていた。

分断、時間の分断...。

テレビを見ている間にも「それ」は溜まっていく。 仕事をしている間にも「それ」は溜まっていく。 寝ている間にも「それ」は溜まっていく。 一度ハマればちょっと時間があいた、そのあとに「それ」の溜まり具合を確認する作業が定常化してしまう。

・一定時間というのが起動時間ではなく、リアルタイムの時間であることがミソ
これに、これに尽きる。この点を上手に生かしたゲーム(ゲーム?みたいなゲーム)が流行しているような気がしてならない。

脱力系で集中力がいらない。
リアル世界での時間経過でゲーム内でもボーナス発生
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
かつてのゲームではプレイヤーが何もしなければゲーム世界でも何も起こらなかった。また、リアルタイム型のゲームであれば何もしなければ真面目に行動しているCOM側が優勢になるだけであった。
テレビはテレビでずっと見ていないとストーリーが分からなかったり、その日一番の盛り上がり部分を見逃してしまうという失態に繋がってしまう。何だかんだ言って油断ならない。
その点、時間があくことがプレイヤー側にとって決してマイナスにはならず、プラスの効果しか生まないという構造は(実際の世界ではそんな好都合は有り得ないのだが、むしろ、だからこそ...)安心できるし気分のいいものである。
このへんが肝のような肝するな。