10年ぶりに東京ゲームショウ 2016行ってきたので雑な感想
中学生ぐらいの時に行ったのが最後だから、多分10年ぶりぐらいになる。確かPS 3が発売されるとかそんな時期だった。
最近またゲームをちょっとずつやるようになったし、VR系も気になったので久々に行ってみた。
色んなものを見て色々考えさせられたし、すごく楽しかったので書きたいことはいっぱいあってまとめられない...wけど雑にまとめ!
http://expo.nikkeibp.co.jp/tgs/2016/public/index.html
エンジニアになったからこそわかるブースが増えた
当たり前だけど中学生の頃なんて大手ゲームメーカーしか知らないガキだったわけで...
さらにITの世界に入ったからこそ「え!?PayPalがブース出してる!?」とか「Intelもブース出してるのかー」とか新鮮な感じだった。
考えてみればPayPalなんかは例えばPlayStation Storeの決済で使えたり、色んなゲームプラットフォームの決済に絡んでいるわけだ。
そう考えるとやっぱりゲームの世界はただゲームを作るだけじゃないなーと改めて思うわけです。
深い。
TwitchのブースでやってたLeague of Legends面白そうだった
ライブストリーミング配信プラットフォームのTwitchのブースでプロゲーマーとかによるLeague of Legendsというゲームのトーナメントがやってた。
ニコ生とかもそうだけどライブでゲーム実況とかってめっちゃ面白いんだよねー。
自分がプレイしてないんだけど、すげー楽しめるという不思議な感じなんだよねー。
League of Legendsそのものを知らなかったけどめっちゃ見てるの面白かった。
解説とか帰ってきてTwitchでLeague of Legendsの実況配信見てると、グループ戦が多い?っぽいが、ブースでは 1 on 1でやってたので、そこがまたすげー面白かった。
eスポーツ面白い!という方々の気持ちがすごく理解できたのでちょっとeスポーツ友達欲しいw
Twitch以外のブースでもeスポーツのトーナメントとかやっててゲーム自体は知らないけど楽しめたので満足。
色んなVRが出ていた
見たことのないVRヘッドセットがなんかいっぱい出てた気がする。
PlayStation VRはやっぱり人気だったので試せなかったよー。
早くBIOHAZARD 7をPlayStation VRでやりたい!!
まとめ
やっぱりゲームってすごいなーいいなーということを思い出させてくれるいい一日だった。来年も行こうと思う。
ゲームを作りたい!ゲームの仕事がしたい!って数年前まで全く思わなかったけど、やっぱりゲームが好きだからゲーム業界はちょっと憧れる。
もちろん簡単な業界ではないが、自分が楽しんできたものや業界には貢献したい!って気持ちがあるので、何か機会があれば関わってみたい!と思う。
あと、プロゲーマー達のプレイを見てるとすごく楽しいので、見ている側にワクワク感やドキドキ感や楽しんでもらえる感覚を与えることができる仕事もいいなーと思う。
とにかくプロゲーマーはすごいし、憧れる。
ゲームは楽しい!!
念願の夢だったクソアプリ EasterEgg Neko Atsume Launcherをリリースしました🐱
こ、これで俺も...ついに...個人アプリ開発者...だぜ?
そうです、ついに!念願の夢だったクソアプリをリリースできました
EasterEgg Neko Atsume Launcher です!
だいたいこんな感じのアプリです
なんだそれ?
Android NのEasterEggである ねこあつめもどきの一覧画面をランチャーアイコンで簡単に起動できるアプリだよー
詳しい説明は以下の記事とか読むとわかるよ
とにかく説明は省くけど、集めたの一覧画面が簡単に起動できるんだよー
アプリのサイズなんと 34KB!?
めっちゃアプリのサイズ軽い
すごいぞ
minSdkVersion 24の世界!?
そしてこのアプリ minSdkVersion 24ですよ
最新のAPI使いたい放題ですよ (誰もアプリの中で使ってるとは言ってない
あ、そう minSdkVersion 24なのでAndroid N以上しかインストールできないアプリです
Githubにコード置いてあるよ
Githubにアプリのコード置いてあります
まとめ
Android Nはいいぞ
フルスクラッチ(写経)でRadioGroupとRadioButtonを実装してみた
コード読むの大好きなので、Android 標準で用意されているViewをフルスクラッチで作ってみる(写経)試みをしてみた。
んで、今回はRadioGroupとRadioButtonをフルスクラッチで実装してみた。
フルスクラッチと言っても、「動機、実装前に気になったこと」の部分をカバーできる範囲の最低限の実装をしました。
そこら辺の理由やそもそもどんな手順で作業したのかみたいなのは、別途まとめたいと思ってます。
とりあえず成果はGithubに置いてあります。本記事に書いてあることもだいたいREADMEにまとめてます。
動機、実装前に気になったこと
以下に書いてあることへの回答的なことはGithubのREADMEにまとまってるので、そちらの参照してください。
- RadioGroupとRadioButtonみたいにRadioButtonにClickListenerみたいなの設定しなくても、親のListenerに通知が来るって実装はどうやってるのか気になった
- RadioButtonにidを振ってなくても各Buttonがそれぞれ別々のButtonとして認識されているのはどうやってるのか気になった
実装してみてわかったこと
- 動的にViewのidを生成するならView.generateViewIdを使うのが良さそう
- ViewGroup側で子Viewのクリックイベント等をハンドリングしたい場合に、ListenerをセットしてもいいがListenerが上書きされる危険性はある
- なので子ViewもCustom Viewにして別口のListenerを作る or setじゃなくてadd Listener的なものがあればそっちにセットするほうがいい
- 特にRadioGroupとRadioButtonみたいに親と子が密接に関連してるものは
- RadioGroupとRadioButtonは親と子が密接?に関連しているViewを作る場合のノウハウを学ぶのに最適だった
- ViewGroup.OnHierarchyChangeListener使えばCustom GroupView作って色々できそう
まとめ
コードリーディング + 実装という最強の2要素が詰まった作業なのでやってみて良かった。
いつも自分が何がなく使っているViewがどう実装されているかを理解できるし、さらに自分が実装する時にも役立ちそうな知識が満載なので面白い。
UXという言葉を使うべきではない。具体的に言ってくれ
特に難しい話をするつもりはない。
「ここのUXが悪い」とか「UX大事、うん」とか...そもそもUXという言葉でまとめるべきではないことに気をつけたい。
UX、UX!!とか連呼してる人はそもそも脇に置いておいて...たまにUXとか言っちゃうそこのあなた。
私もだけど。
具体的な表現で会話をしよう
UXという抽象的な言葉よりももっと具体的な言葉で言ってみる努力をするべき。
極端な例だが例えば
「ここのボタンは小さいとUXが悪いよね」
ではなく
「ここのボタンは小さいと押しにくいよね」
みたいな感じ。
「UX」という部分を具体的に何を指しているのか明確にするべき。
いやまあ、UXとか言っても通じる時はあるんだけどね...
JSON1 Extensionを有効にしたSQLiteをbuildする
SQLite 3.9から導入されたJSON1 Extensionを有効にしたSQLiteをbuildする方法を書いておく。
brewからinstallしたSQLiteだと有効になっていないっぽいので、sourceからbuildして有効にしてみた。
JSON1 Extensionの使い方は、公式のDocumentや他のQiitaの記事を見るといい。
JSON1 Extensionを有効にしたSQLiteをbuildする
SQLiteのversionはversion 3.13.0を使用し、Macでbuildすることを前提としてます。
以下のコマンドを実行すれば、JSON1 Extensionが有効になったsqlite3
が生成される。
wget https://www.sqlite.org/2016/sqlite-autoconf-3130000.tar.gz tar zxvf sqlite-autoconf-3130000.tar.gz cd sqlite-autoconf-3130000 ./configure --enable-json1 # JSON1 Extensionを有効にする make