読者です 読者をやめる 読者になる 読者になる

5.1さらうどん

@giginetの技術ブログ。ゲーム開発、iOS開発、その他いろいろ

try!Swift 2017でApple Watch上でファミコンエミュレータを動かす話をしました

try!Swift活動報告

try!Swiftお疲れ様でした。いろいろあったのでざっくり報告します。

トーク『👾&⌚️』

以前お伝えしたように『👾&⌚️』というタイトルでLTをしました。

内容は、watchOS上でファミコンエミュレータを動作させるという内容です。

👾 & ⌚️ (LT) | try! Swift Tokyo 2017 #tryswiftconf Day2-16 聞き起こし - niwatakoのはてなブログ

去年と違い、今年は皆さん真面目なトークが多い印象で、僕は去年ノリでPokèmonとか言いまくってて、こんなんで良いのかと不安だったんですが、結果として、会期中のトークで一番盛り上がったんじゃないかなと自負しています。 LTらしいLTができてよかったかなあと。

700人近い参加者と、はじめての同時通訳ということで非常に緊張しました。

動画と発表の書き起こしは近いうちに公開されると思います。

ちなみに、今回開発したものは全てオープンソース化してあります。ご興味のある方は動かしてみてください。

fastlanetoolsのcore contributorになりました

TwitterのFabric.ioからGoogleのFirebaseチームに移籍した、モバイル開発向けのユーティリティfastlaneのマージ権を作者の@からいただきました。

スターが14000を超える巨大OSSのメンテナーになるのは初めてなので、日々寄せられるPRやissueの数に圧倒されています。 早速、コードレビューしたりテストを増やしたりしているのですが、ほぼ業務という感じで大変ですね。

ハッカソン

3日目のハッカソンでは、スピーカーをしていた関係で審査側に回っていたため、ハッカソン自体はほぼ何もできませんでした。

とりあえず空き時間でSwiftにcontributionしてみようと試みるも、ビルドだけで半日以上が費やされ、PRを出すところにまで至らなかった。

ビルド待ちの空き時間でまたゲーム作ってたら結構ウケが良かった。

40分で書いた雑コードを貼っておきます。

『Realm入門』の献本をいただきました

他に、久しぶりに再会した知人の@さんから献本をいただきました。学ばせていただきます。

軽量・高速モバイルデータベースRealm入門

軽量・高速モバイルデータベースRealm入門

やっていく

いろいろな方に名前を覚えていただき、様々なモノをいただいて最高のカンファレンスでした。 特に、トーク後の懇親会では、常に話しかけられ続けて、最高の時を過ごせました。 今後もコミュニティに貢献していければと思っています。

とりあえずハッカソンでは何もできなかったので、近いうちにSwiftにcontributionできるといいなあと考えています。

ゲーム開発についてもっと知りたい方は

久しぶりに著書を紹介しておきます。 2年前の本ですがまだまだ使えています。Swiftではありませんが是非に! (そろそろ新作書きたい)

try!Swift Tokyo 2017で『👾&⌚️』というトークをします

f:id:gigi-net:20170226214728p:plain

TOKYO - try! Swift

3/2, 3/3に行われるtry!Swiftカンファレンスで『👾&⌚️』(GAME AND WATCH)というタイトルでLTをさせていただきます!!! 3/3 18:00からの予定です。トリの1つ前です。

内容はApple Watch + SpriteKitについてです。 僕の仕事は愚か、おそらく皆様の業務に1ミリも役に立たない話だと思うのですが、好きなことをこのような大きな場で話させていただけるのは光栄ですね。 わずか5分話すだけなのですが、おそらく1000人近い参加者の前で、同時通訳付きで話すのは初めての経験なので緊張しています。

Apple Watchでのゲーム開発は以前にwatchOS 2でブロック崩しを作るというトークをしたことがあります。

giginet.hateblo.jp

今回はいろいろパワーアップしてると思うのでご期待ください。

fastlane Meetup Japan

f:id:gigi-net:20170226214949p:plain

try!Swiftとは関係ないのですが、3/1(水)にはfastlane Meetup Japanというイベントでも発表いたします。

fastlane Meetup Japan - connpass

fastlaneは業務で使っていることもあって、最近かなり高頻度でcontributionしていて、それがご縁でcontributorとして話させていただきます。 こちらは業務の話が中心になると思います。

平日の日中という参加しづらい時間帯ですが、fastlane開発者の方も来日する貴重な機会となっておりますので、ご興味のある方は是非。

2016年にやったことを振り返ってみた

振り返る

なんか流行ってるっぽいので今年の活動をまとめた

出したアプリ

ふっかつのじゅもん(3月)

〜ふっかつのじゅもん〜

〜ふっかつのじゅもん〜

  • gigi-net.net
  • ゲーム
  • 無料

今年のGGJ(48時間でゲームを作るイベント)で作ったアプリを手直ししてほぼそのまま出した。 プレイ時間は2~3分で終わるけど、そこそこの完成度だし、自己紹介代わりに人に見せたり、アイスブレイキングに最適な作品になった気がする。

48時間2人で作れるゲームとしてはボリューム、完成度共に事実上限界に近い気がするので、来年以降のGGJのあり方を考えていかなければならない

あの日々を思い出す脱出ゲーム『ふっかつのじゅもん』をリリースしました - Kawaz広報ブログ

Camp Camera(12月)

f:id:gigi-net:20161222000454j:plain

Camp Camera

Camp Camera

  • gigi-net.net
  • フード/ドリンク
  • 無料

この前出したやつ。FF15っぽい飯画像が撮影できる。 年末駆動で思いついて1週間ぐらいでガッと作ってみた。ちゃんと使えてるし満足。

地味にゲーム以外のアプリを個人でリリースしたのは初めて。

VOXQUEST(11月)

VOXQUEST -オクスクエスト-

VOXQUEST -オクスクエスト-

  • gigi-net.net
  • ゲーム
  • 無料

2012年ぐらいにリリースしたゲームが、iOS10で動かなくなっていたので、この機会に基幹部分をドラスティックに作り直した。 昔作って思い入れの強いゲームは今後遊べなくなると辛いので、継続的にメンテしていきたい。

続編のVOXCHRONICLEなどは未だに32bitで開発していて、そろそろヤバいと思うので保守管理に着手していきたい。

OSS

今年は仕事が開発基盤系の仕事に移った関係もあり、OSSを作ろうという気概が高まり、ちゃんと使える形にした物は過去最高レベルで多かった。

未完成でボツになった奴も多いけれど、ちゃんと使える状態まで作ったぞ!というのをまとめてみた。

作ったやつ 概要 時期 言語
0 giginet/CCBlowingDitector cocos2d-x for iOSでマイクからの息を検知するやつ 1月 C++
11 giginet/JSONMatcher SwiftでJSONのテストケース書くやつ 5月 Swift
5 giginet/NibLoaderKit UIKitのカスタムビューを簡単に読み込むやつ 7月 Swift
1 giginet/alfred-irkit-workflow AlfredからIRKitで部屋のリモコン弄るやつ 7月 Python
15 giginet/CustomKeyboardTextField UIKitでピッカー付きのテキストフィールドを簡単に作る奴 8月 Swift
3 giginet/beddit-python Beddit Sleep TrackerというIoTのAPI叩くやつ 8月 Python
2 giginet/django-slack-invitation Djangoでユーザー登録時にSlackチームに招待するやつ 8月 Python
11 cookpad/Phakchi iOSアプリのCDC Testingするやつ 9月 Swift
47 giginet/Toybox CLIからXcode Playgroundの管理するやつ 9月 Swift
72 giginet/xcprofiler Xcodeプロジェクトのビルド時間を計測するやつ 12月 Ruby

OSSだから当たり前だけどちゃんと他人が使えるような形で出すこと、未完成でもお蔵入りになるよりは拘らずに出すことを強く意識した。

大体ほとんどのプロジェクトは思いつきではじめられて、土日でガッと作ってリリースみたいなのが多くて長続きしない。 スターの最高は数日前に出したxcprofilerの72個で、ありがたいことにGitHubのTrending1位にも入れた。

反面、ひそかに今年の抱負に★100個を掲げていたので、そこまでは到達せずに残念である。 とはいえ、まあ今までちゃんと出してこなかったので、質・量的にわりと良いのではと言う感じ。

あと、多くのモノはちゃんと実用しているものが多くて良かったと思う。 プロダクトに組み込むとか、業務で利用していくようにしないと、一度作ったモノを継続的に保守管理していくのは難しいと認識した。

Contribution

今年github.comで出したPRは84件だった。とはいえ、自分のモノに出したり、個人プロジェクトに出したりも多いので、純粋なパッチ自体はそこまで多くなさそうだし、ちょっと寂しい。まだまだ増やせると思う。

今年よくPRを出したのはfastlaneで、5件ほど出していた。 今年の抱負に掲げていたけど、達成できなかったので、来年はSwiftとかPythonとか言語自体にcontributionしたい。

f:id:gigi-net:20161231212156p:plain

育てた草

ブログ記事

何か作るごとに書いていた。ありがたいことにコンスタントにブクマをいただけている。

記事
SwiftでJSONのテストを良い感じにするJSONMatcher作った - 5.1さらうどん
XIBを読み込んで良い感じにViewを生成できるライブラリ作った - 5.1さらうどん
UITextFieldに簡単にカスタムキーボード貼るライブラリ作った+iOS UIライブラリのCI改善の話 - 5.1さらうどん
PyCon 2016でPythonのライブラリ開発についてトークします - 5.1さらうどん
PyConJP 2016で『はじめて作るDjangoプラグイン』というトークをしました #pyconjp - 5.1さらうどん
バースデープレゼント2016 - 5.1さらうどん
XcodeのPlaygroundを簡単に管理できるツール「Toybox」を作りました - 5.1さらうどん
あのゲームっぽく飯画像を撮るアプリ、『Camp Camera』をリリースしました - 5.1さらうどん
Swiftプロジェクトのビルド時間を計測・改善するxcprofilerを作った話 - クックパッド開発者ブログ
iOSアプリの継続的デリバリーへの取り組みについての勉強会を開催しました - クックパッド開発者ブログ

意外と爆発的に流行った記事はなかった。来年はゲームの記事とか書きたい。

発表

今年デカかったのはPyConで発表したこと。 懇親会などで聞いた話によると、結構対抗が少ない分野で運が良かった気がする。

準備がひたすら大変だった記憶しか無い。

あとは体調が悪くて、今年の大半は引きこもっていて何もしていない。秋ぐらいからちょっとマシになってきたので出歩くようになってきた。 iOS/Swiftのデカいカンファレンスで話せていないので、来年は何か話したい。特に海外カンファレンスは行ってみたい。

あと、発表ではないのだが、ご縁でPodcastに出たりとかした。自分の声が嫌いなのであまり表に出たくない。

遊んだゲーム

Kawaz - 今年遊んだゲームを振り返ってみる2016【Kawaz Advent Calendar 12/19】

55本ほど買ってた。新作は20本ほど。印象に残ったのはクラロワ、P5、Undertale辺り

続けていたこと

Coursera Machine learning

流行には乗っておこうと思って、CourseraのMachine Learnngコース修了した。 なんだかんだで11週無事にやり遂げた。

まだ何にも実装できていないが、基礎的な所は学べたので、「マシンラーニングでドーン」みたいな雑な発言をしなくて済むようになった。オススメ。

来年はアイディアはあるのでChainerとか使って何か雑に画像判定とか作ってみたい。

日記

5月中旬ぐらいから1日も欠かさず毎日書いていた。わりと続いたと思う。

すぐに記憶が揮発するので、読んだ本の感想とか、作業記録とか、飲み会で話したこととか書いておくと良い。

f:id:gigi-net:20161231212427p:plain

DMM英会話

2ヶ月ぐらいは毎日やってたけどその後飽きて続かなかった。

読んだ本

何冊読んだか数えてないけど2~30冊ぐらい読んだ気がする。書評はパブリックにはしてないけど、日記とかには書くようにしてた。

印象に残ったやつ

Functional Swift: Updated for Swift 3

Functional Swift: Updated for Swift 3

ALLIANCE アライアンス―――人と企業が信頼で結ばれる新しい雇用

ALLIANCE アライアンス―――人と企業が信頼で結ばれる新しい雇用

チームが機能するとはどういうことか――「学習力」と「実行力」を高める実践アプローチ

チームが機能するとはどういうことか――「学習力」と「実行力」を高める実践アプローチ

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

やり抜く力 GRIT(グリット)――人生のあらゆる成功を決める「究極の能力」を身につける

やり抜く力 GRIT(グリット)――人生のあらゆる成功を決める「究極の能力」を身につける

あと、身体ぶっ壊してたので、とにかく辛くて、睡眠とか、マインドフルネスとか、哲学とか、普段絶対読まないような怪しげな書物に傾倒していたのが印象深かった。

まとめ

今年はとにかく体調をぶっ壊してアカンかった。 今振り返れば、1月からひたすら具合悪いと言ってる記憶しか無かった。 特に夏ぐらいが最悪で、いきなり過呼吸で病院に運ばれたり、仕事以外に外に出歩けないようになっていた。 具合悪すぎて、MRIとか大腸内視鏡とか突っ込んだけど特に病変はなくて良かった。結局原因はよくわからなかった。 それが原因で、引きこもって1人で風呂に入りながら本読んでたりとか、出歩かずにコード書いていたりしていて、対外的な活動があんまりできなかった。

11月中旬ぐらいになってようやっと調子がよくなってきて、普段の生活を取り戻せたけど、今年はとにかくそれが辛かった。 とにかく来年は辛い思いをすることなく健康に生きたい。

皆様身体には本当に気をつけて欲しい。

今振り返ってみると、勢いだけでガッと進める短期プロジェクトが多いので、来年は趣味のゲーム開発とかを含めて、半年ぐらい長期で続けられることをしていきたい。 特にゲームはもうちょっと出したい。

今年もお世話になりました。来年もよろしくお願いします。