PlayNのeclipseの開発環境構築からサンプルプロジェクトの実行まで 
水曜日, 11月 30, 2011, 12:08 AM - プログラム
Google Developer Day 2011の2日後のEXP-Hackathonで触った
PlayNというゲームライブラリが思いのほか面白かったので
環境構築の方法をサイトのページにまとめてみた。

eclipseの開発環境構築からサンプルプロジェクトの実行まで

次はブランクプロジェクトの作成方法をまとめたい。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 2.9 / 789 )

GDD2011に行ってきた 
木曜日, 11月 3, 2011, 08:15 PM - 近況
11月1日(火)にGoogle Developer Day 2011に行って来ました。

場所はパシフィコ横浜でした。


会場全体で混線が起こると困るので「個人のWi-Fiはダメ・ゼッタイ」が徹底されていました。
代わりに会場のWi-Fiが解放されていたので皆そちらを使っていました。
(といってもいくつか野良APが見えましたががが・・・)


そして開催。


なんかドロイド君ロボが居ました(前から何回か見かけてたけど)。

聞きに行ったセッションはAndroidやGoogle App Engineのマネタイズについてや、
クラウドでゲームを作る方法についてが多かったです。


こっちは閉会時の写真です。
段上に上がっている方々はGooglerからボランティアスタッフの方々で、
GDD2011の運営に携わった方々です。本当にありがとうございました。



会場で頂いたものはこんな感じです。

Google缶バッチとzeemoteというBluetoothコントローラ、Chromeアメです。
Google缶バッチは一人一種類を10個を受け取り、交流を兼ねて他の人と交換して
2種類をコンプリートするとGoogle帽子を貰えるといったものでした(僕は2個揃わなかった、、)。


あとGDD Tシャツと、DevQuiz満点Tシャツです。
DevQuiz満点Tシャツは文字通り大人げなくDevQuizで満点を取った人だけに配られました。


全体を通していいな〜と思ったのは2個ほどありました。
一つは「L10N Beta」というユーザがインストール中のアプリを翻訳でき、
翻訳した内容をアプリ作者に送ることができるものです。
今まで翻訳できても送るのが大変だったのですが、それが気軽にできるので期待大です。
L10N Beta

2つ目は「playn」と呼ばれるゲームライブラリです。
このライブラリはGWT上で動作するライブラリで、Javaでプログラムを書けば
AndroidでもJavaアプリケーションでもHTML5(WebGL)にできる
クロスプラットフォームに対応しています。
playn project
セッションで使用された@proppyさんの資料 ←凄いことにこの資料上のDEMOは直接操作できます。

とまぁ簡単ですが、GDD2011で記憶に残ったことでした。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 822 )

AtomタブレットにMeeGoを入れたいが入らない 
土曜日, 10月 22, 2011, 10:36 PM - Linux
ONKYOのAtomタブレットのTW217が手に入ったのでMeeGoを入れてみようと思った。
http://www.jp.onkyo.com/pc/personalmobi ... 7/spec.htm

MeeGoのリポジトリからStableらしいっぽいものをダウンロードしてインストールした。
http://download.meego.com/MeeGo/snapsho ... st/images/

インストーラそのものはスンナリ終わった。
でも電源を入れてもGUiが立ち上がってこない・・・。

起動中にブートローダを止めて、カーネルのquietオプションを削除して
起動してメッセージを確認すると「could not open framebuffer」と出ていた。

いろいろ調べてみるとTW217はGMA500のグラフィックチップ(?)を使ってるけど、
カーネルがこのチップをサポートしてないらしい。
http://www.x.org/wiki/IntelGraphicsDriver
Linuxのカーネル2.6.39以降でサポートされたらしいので、
新しいカーネルで試してみたい。

とりあえず今日はここまで。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 762 )

DevQuizのスライドパズルの解答 
月曜日, 9月 12, 2011, 09:16 PM - プログラム
GoogleがGoogle Developer Day 2011というイベントの開催にあたり、
参加権を掛けたDevQuizという問題をやってるので解いてみた。
普通のクイズの他にChrome ExtensionやAndroid、Google App Scriptを使った問題があります。
どれもエンジニアの人で、プログラムを書いて解かせないと解け無いような問題ばかりです。
その中のチャレンジ問題がかなり重い問題だったので、その解答についてです。

問題の概要


3x3〜6x6のスライドパズルが5000問をヒタスラ解くというものです。
5000問を通して手数に上限があるので、あまりダラダラとはできません。
手数をオーバーすると残りの問題を解いても採点されないので
なるべく少ない手数で解かなければいけません。

マイアプローチ


全部でソルバー1号、2号、3号の3つを作って5000問を解きました。
1号と2号は横型探索で、3号が正攻法で解くもので、
1号と2号で簡単な問題を粗方潰し、3号に難解な問題をとかせました。

ソルバー1号、2号(幅野郎)


特徴


・横型探索
・メモリに100万手を履歴として保持する
・100万手を超す履歴はOOMになるので評価関数にて低いものから破棄する
・次手の候補も多すぎる場合は評価関数にて低いものから破棄する
・過去に出現した手は履歴にマッチングさせることで検出して破棄する
・1時間で100問くらいしか解けないくらい遅い上にメモリを喰う

大雑把なアルゴリズム




工夫点


・メモリは2GBを与えた
・盤面はbyte配列で表現してメモリの消費量を削減
・履歴マッチングにはハッシュマップで計算量を削減
・ソルバー1号は評価関数にマンハッタン距離の合計を使用
・ソルバー2号は評価関数にマンハッタン距離×パネルの重要度の合計を使用
 (端っこのパネルの重要が大きくなるよう設定)
・AWSのラージインスタンスで7プロセスを実行して遅さを補った

実行結果


ソルバー1号と2号はどちらも4970問ほどを
それなりに短い手数で解いてくれました。

ソルバー3号


特徴


・人がパズルを解くときのように端っこから埋めて行きます。
・最初に各パネルに順位を付けて、その順に埋めて行きます。
・壁があっても解けるような順位付けをしています。
・1問1秒掛からない
・結果の手数に無駄が多い
・ソースが物凄い汚い(何)

順位付けのイメージ1





順位付けのイメージ2(ややこしい場合)




工夫点


・特に無し、解くこと最優先

実行結果


ソルバー1号と2号が解けなかった残り30問ほどを全部解いてくれました。

とまぁ、3つのソルバーで5000問全て無事解けました。
3号の結果の手数が多めでしたがソルバー1号と2号が手数をかなり余らせてくれていたので
合計手数も制限内に収まり、無事に5000問の全問を解くことができました。

ソースコード


ソースコードは以下からダウンロードできます。
ソースコードはこちら
eclipseのプロジェクトをzipにしたもので、インポートで取り込めます。
miscにある程度の説明書きも書いてますのでご参考までにどうぞ。

2011/09/17追記


GDD2011 Tokyo - devQuiz答え合わせ大会 in 関西にて詳細を発表しました。
資料はこちら

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 3 / 939 )

Startup Weekend Kyotoに参加してきました 
月曜日, 8月 8, 2011, 10:56 PM - 近況
Startup Weekend Kyotoというイベントに参加してきました。
3日間連続のイベントでかなり疲れたけど、
いろいろと普通に仕事してるだけじゃ絶対に得られない経験ができました。


Startup Weekendは何か新しいものを創りたい、起業を志す人、
エンジニアやデザイナ、ビジネスマネージャーなどが週末に集まって
サービスのローンチ(開始)まで行うイベントです。
ただのハッカソンと異なるのは、実際にサービスから起業するなど、
次世代のイノベーターたちや起業家を生み出すところまでやっているところです。
詳しいことは本家のサイトに書いてるので書かないけど3日間の流れです。

1日目は19:00から開始でアイディアの出し方やピッチの練習を参加者全員でした後、
本番のピッチを行い、良いアイディアを選出し、そしてチームの結成までを行いました。
ピッチとは短時間で自分のアイディアを相手に伝える話(発表)です。
2日目はサービスの構築やビジネスモデルなどを実際に作り、
3日目はそれをプレゼンテーションするという流れです。
ちなみに食事は提供されるのでチームメンバーと
一緒にご飯を食べながら進めることもできます。


自分はアイディアは持って行ってはいたけど、
そのアイディアにそれほど温めて無かったので、
ピッチはしなくて良いかなとか思ってました。
でも、他の人の「俺のアイディアを聞けぇ〜」って雰囲気に呑まれたので、
ピッチに飛び込み、そして惨敗しました。まぁ面白かったから良し。

でまぁ、自分のアイディアはボツったので他人のアイディアで面白そうなところを探しました。
いろんなアイディアがあってプラ〜っと見ていて、
レストラン系のレビューサービスの案があり、
そういやこの分野は全く知らないな〜っと思ってこのチームに参加しました。

チーム名は「menu++」、サービス名は「me-new」というチームでした。
最終的にはユーザのレビューをベースにユーザ視点のわかりやすいメニューを
作っていくというWebサービスになりました。

チーム結成した後、話しながら創って行きました。
特に実装は難しくないのでサービス詳細やビジネスモデルに重点をおいたのですが、
問題が出るわ出るわ、先行しているサービスとの競合をどうするかはモチロンのこと、
ビジネスモデルで何処からお金を貰うか、ビジネスとしてのロードマップなど、
普通にエンジニアをしていたら見えないものが沢山見えました。
◆ビジネスモデル
 ・お店から広告でお金を貰う?
 ・サイトのアフィリエイトで貰う?
 ・ユーザに有料メニューを提供してお金を貰う?
◆既存のサービスとの競合
 ・リアルタイム性で勝負?
 ・ユーザ視点を強調?
 ・お店視点を強調?
◆ロードマップ
 ・今すぐお金を稼ぐ形でサービスを開始する?
 ・草の根活動で少しずつ進めていく?
まだまだ書き切れないけど大きな問題はこの辺りです。
これらについて既に起業されているチューターの方から
沢山の貴重な意見が聞けましたのも嬉しかったです。
でも一番難しいと思ったのはチーム内でコンセンサスを取りつつ進めることだと思った。
あとメンバー内で本気で衝突が起こり、コンセンサスは取れないときは
取れないということも思い知りました。


制作についてはスーパーエンジニアがガッツリとデモができるものを作ってくれたので、
僕のすることがなくなったのでデモのロゴを作ったりCSSの手直しをしてました。
僕はチーム参加時にJavaでAndroidとGoogle App Engine、
後はPHPも行けますよ〜とかいってたけど、結局、1行もプログラムを書きませんでした。
まぁ、もともと自分は一極集中型より汎用性の高い器用貧乏だと思っているので、
そういった意味で良い経験ができた。


最後のプレゼンでは賞は取れなかったけど、いくつも失敗したと思う反省点があったので
取れなくても仕方がなかったと思う。でもその経験が得られたことが一番大きかったと思う。
実際、上のビジネスモデルやロードマップの問題についてはチーム内で統一された方針は
最後の最後まで出せてなかったと思う。まぁ、もともと簡単にできるものではないし、
それを如何に巧くやるかがキモなのだと思う。

最後に、今回貴重な経験をさせて頂いたStartup Weekendの運営と参加者の方々と
チームメンバーであるMariko Iwanoさん, Yuki Nishimuraさん, Syuhei Mitaniさん,
Ryo Sakamotoさん, Syo Ikedaさん, Stoyan Zhekovさんに感謝します。
特にチーム内の意見が別れてるのに自己中な自分が微妙なポジションから意見を投げまくっても、
チームを分解させず巧くまとめてくれたボスであるMariko Iwanoさん、
本当にありがとうございました。

次のStartup Weekendも案が出てるらしいので、
開催されるなら参加して次は勝ちに行きたいと思う。

  |  0 trackbacks   |  このエントリーのURL   |  related link   |   ( 2.8 / 714 )


Back Next