SlideShare a Scribd company logo
kenzan100
Ruby/Railsしかやってなかった人が
10時間で Swift iOSゲームをつくったら
自己紹介
岡崎雄太 @kenzan100
スマフォのユーザービリティテストを行う会社
InnoBetaでエンジニア(今年 1月から)
Rails歴 2年くらい
その前は、カードゲーム作って起業してました
Swift 以前
FlappyBird!! iOSでのゲーム開発って華あるな∼
でも、Objective-Cのコードって、見ただけでクラ
クラする
!
!
RubyMotionに手を出してみようかな..
http://ashfurrow.com/blog/2012/03/why-objective-c-is-hard
Swift 出現
読める! 読めるぞっ!
よし、ゲーム作るぜ!
開発時間 ふりかえり
Swift本、リファレンス読む
サンプルコード読む
ゲームの振る舞い実装
イラスト、アニメーション
1h
3h
3h
3h
第一の壁: Sprite Kit
「ゲーム開発」→ Swiftってよ
りも、Sprite Kitだった。
結局、フレームワークが提供
するクラスを覚えないと何も
できない
サンプルコード命
Swift FlappyBird Cloneに救
われる
リファレンスは、(多分) 中級
者のためのもの。
初めて触るときは、サンプル
コードが何よりもモチベーショ
ン
PhysicsBodyすげー!
(もはや Swiftじゃないけど..)
SpriteKitへのアクセスが容易だ
から、恩恵を早めに受けれる→
モチベーション保てた
第二の壁: 型
型推論、型変換! これで、実装時間の 1/3 は持ってかれた
恩恵は理解できるが、型の理解のハードルが高い
Rubyならこれで良いのに..
第三の壁: 継承
クラス、継承
理解に時間がかかった
のは、Rails/
ActiveRecordにどっ
ぷり漬かっていた弊害
な気がする
http://www.codeproject.com/Articles/783584/Subclassing-Objective-C-classes-in-Swift-and-the-p
とりあえず晒します
https://github.com/
kenzan100/2dTowerDefence-Swift
デモ
まとめ
誰かも言ってたけど、簡単なゲームつくりたいなら
おすすめだと思う(学習効率的な意味で)
LLな言語だけやってた人にとって、知識を拡げる 
マイルストーンになれそう
これからもゲームつくります        
http://letsmakegameswith.me

More Related Content

What's hot

Developers Summit 2014 PaaS Time Attack!
Developers Summit 2014 PaaS Time Attack!Developers Summit 2014 PaaS Time Attack!
Developers Summit 2014 PaaS Time Attack!
Masahiro NAKAYAMA
 
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswiftSwift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswift
Tomohiro Kumagai
 
Yidev201406.pub
Yidev201406.pubYidev201406.pub
Yidev201406.pub
itoz itoz
 
キャラサミ「渚の妖精ぎばさちゃん」20141124
キャラサミ「渚の妖精ぎばさちゃん」20141124キャラサミ「渚の妖精ぎばさちゃん」20141124
キャラサミ「渚の妖精ぎばさちゃん」20141124
Katsushiro Koizumi
 
がんばれガンプ ソルバルウを倒せ
がんばれガンプ ソルバルウを倒せがんばれガンプ ソルバルウを倒せ
がんばれガンプ ソルバルウを倒せ
Tomohiro Suzuki
 
2007 It合宿 発表資料/佐瀬 武志
2007 It合宿 発表資料/佐瀬 武志2007 It合宿 発表資料/佐瀬 武志
2007 It合宿 発表資料/佐瀬 武志kurubushionline
 
iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahooiOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
Hiramatsu Ryosuke
 
Apple Map
Apple MapApple Map
Apple Map
Tomohiro Kumagai
 
リモートスクラム開発やってみた
リモートスクラム開発やってみたリモートスクラム開発やってみた
リモートスクラム開発やってみた
Ken SASAKI
 
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm
Hiramatsu Ryosuke
 
レッツゴーゆるふわ.Rb
レッツゴーゆるふわ.Rbレッツゴーゆるふわ.Rb
レッツゴーゆるふわ.Rb
Hiroshi Ogino
 
高見知英のデジタルガジェット紹介
高見知英のデジタルガジェット紹介高見知英のデジタルガジェット紹介
高見知英のデジタルガジェット紹介
高見 知英
 
Uiテスト@yidev
Uiテスト@yidevUiテスト@yidev
Uiテスト@yidev
Yusuke Kita
 
Django と Wagtail で作る Headless CMS
Django と Wagtail で作る Headless CMSDjango と Wagtail で作る Headless CMS
Django と Wagtail で作る Headless CMS
Iosif Takakura
 
f3js - JS Board Shibuya #6 LT
f3js - JS Board Shibuya #6 LTf3js - JS Board Shibuya #6 LT
f3js - JS Board Shibuya #6 LT
Jun Kato
 
IoTLT5 RaspberryPiを使った Felica認証を 色々パワーアップしてみた!
IoTLT5 RaspberryPiを使ったFelica認証を色々パワーアップしてみた!IoTLT5 RaspberryPiを使ったFelica認証を色々パワーアップしてみた!
IoTLT5 RaspberryPiを使った Felica認証を 色々パワーアップしてみた!
Masaki Yamamoto
 
楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do
infinite_loop
 
ArduinoとMicrosoft AzureでIoTっぽいことをしてみた
ArduinoとMicrosoft AzureでIoTっぽいことをしてみたArduinoとMicrosoft AzureでIoTっぽいことをしてみた
ArduinoとMicrosoft AzureでIoTっぽいことをしてみた
Kaori Emi
 
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidevSwift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Tomohiro Kumagai
 
Scala、play初心者が触った感想 share用
Scala、play初心者が触った感想 share用Scala、play初心者が触った感想 share用
Scala、play初心者が触った感想 share用amkt922
 

What's hot (20)

Developers Summit 2014 PaaS Time Attack!
Developers Summit 2014 PaaS Time Attack!Developers Summit 2014 PaaS Time Attack!
Developers Summit 2014 PaaS Time Attack!
 
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswiftSwift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswift
 
Yidev201406.pub
Yidev201406.pubYidev201406.pub
Yidev201406.pub
 
キャラサミ「渚の妖精ぎばさちゃん」20141124
キャラサミ「渚の妖精ぎばさちゃん」20141124キャラサミ「渚の妖精ぎばさちゃん」20141124
キャラサミ「渚の妖精ぎばさちゃん」20141124
 
がんばれガンプ ソルバルウを倒せ
がんばれガンプ ソルバルウを倒せがんばれガンプ ソルバルウを倒せ
がんばれガンプ ソルバルウを倒せ
 
2007 It合宿 発表資料/佐瀬 武志
2007 It合宿 発表資料/佐瀬 武志2007 It合宿 発表資料/佐瀬 武志
2007 It合宿 発表資料/佐瀬 武志
 
iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahooiOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
 
Apple Map
Apple MapApple Map
Apple Map
 
リモートスクラム開発やってみた
リモートスクラム開発やってみたリモートスクラム開発やってみた
リモートスクラム開発やってみた
 
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm
 
レッツゴーゆるふわ.Rb
レッツゴーゆるふわ.Rbレッツゴーゆるふわ.Rb
レッツゴーゆるふわ.Rb
 
高見知英のデジタルガジェット紹介
高見知英のデジタルガジェット紹介高見知英のデジタルガジェット紹介
高見知英のデジタルガジェット紹介
 
Uiテスト@yidev
Uiテスト@yidevUiテスト@yidev
Uiテスト@yidev
 
Django と Wagtail で作る Headless CMS
Django と Wagtail で作る Headless CMSDjango と Wagtail で作る Headless CMS
Django と Wagtail で作る Headless CMS
 
f3js - JS Board Shibuya #6 LT
f3js - JS Board Shibuya #6 LTf3js - JS Board Shibuya #6 LT
f3js - JS Board Shibuya #6 LT
 
IoTLT5 RaspberryPiを使った Felica認証を 色々パワーアップしてみた!
IoTLT5 RaspberryPiを使ったFelica認証を色々パワーアップしてみた!IoTLT5 RaspberryPiを使ったFelica認証を色々パワーアップしてみた!
IoTLT5 RaspberryPiを使った Felica認証を 色々パワーアップしてみた!
 
楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do
 
ArduinoとMicrosoft AzureでIoTっぽいことをしてみた
ArduinoとMicrosoft AzureでIoTっぽいことをしてみたArduinoとMicrosoft AzureでIoTっぽいことをしてみた
ArduinoとMicrosoft AzureでIoTっぽいことをしてみた
 
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidevSwift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
 
Scala、play初心者が触った感想 share用
Scala、play初心者が触った感想 share用Scala、play初心者が触った感想 share用
Scala、play初心者が触った感想 share用
 

Similar to Railsしかやってなかった人が10時間で Swift iOSゲームをつくったら

Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
Tomoki Hasegawa
 
Swiftだめ自慢Beta5
Swiftだめ自慢Beta5Swiftだめ自慢Beta5
Swiftだめ自慢Beta5
今城 善矩
 
SwiftでSioriを開発した体験記
SwiftでSioriを開発した体験記SwiftでSioriを開発した体験記
SwiftでSioriを開発した体験記
yohei sugigami
 
Swiftビギナーズ勉強会_swift感想文
Swiftビギナーズ勉強会_swift感想文Swiftビギナーズ勉強会_swift感想文
Swiftビギナーズ勉強会_swift感想文
Naoki Numajiri
 
Rubymotion
RubymotionRubymotion
Rubymotionjewel12
 
Source kittenについて
Source kittenについてSource kittenについて
Source kittenについて
佐藤 俊太郎
 
React Nativeの話のその前に… サービスの作り方の話
React Nativeの話のその前に… サービスの作り方の話React Nativeの話のその前に… サービスの作り方の話
React Nativeの話のその前に… サービスの作り方の話
Kanako Kobayashi
 
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
yohei sugigami
 
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
Kanako Kobayashi
 
Swift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリとSwift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリと
Sachiko Kajishima
 
APIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjpAPIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjp
Takeshi Komiya
 
楽しいSwift!クラスと構造体を知る:)
楽しいSwift!クラスと構造体を知る:)楽しいSwift!クラスと構造体を知る:)
楽しいSwift!クラスと構造体を知る:)
Kanako Kobayashi
 
Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9
Tomohiro Kumagai
 
Rubyを楽しくする第一歩!ブロックを理解する!
Rubyを楽しくする第一歩!ブロックを理解する!Rubyを楽しくする第一歩!ブロックを理解する!
Rubyを楽しくする第一歩!ブロックを理解する!
Kanako Kobayashi
 
この実装には問題がある!
この実装には問題がある!この実装には問題がある!
この実装には問題がある!
GOMI NINGEN
 
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
Fumiya Sakai
 
Zaim 500万ユーザに向けて
Zaim 500万ユーザに向けてZaim 500万ユーザに向けて
Zaim 500万ユーザに向けて
Wataru Nishimoto
 
Effective SQLite For Android
Effective SQLite For AndroidEffective SQLite For Android
Effective SQLite For Android
Shinobu Okano
 
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
佐藤 俊太郎
 
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることスマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
Kazuaki KURIU
 

Similar to Railsしかやってなかった人が10時間で Swift iOSゲームをつくったら (20)

Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
 
Swiftだめ自慢Beta5
Swiftだめ自慢Beta5Swiftだめ自慢Beta5
Swiftだめ自慢Beta5
 
SwiftでSioriを開発した体験記
SwiftでSioriを開発した体験記SwiftでSioriを開発した体験記
SwiftでSioriを開発した体験記
 
Swiftビギナーズ勉強会_swift感想文
Swiftビギナーズ勉強会_swift感想文Swiftビギナーズ勉強会_swift感想文
Swiftビギナーズ勉強会_swift感想文
 
Rubymotion
RubymotionRubymotion
Rubymotion
 
Source kittenについて
Source kittenについてSource kittenについて
Source kittenについて
 
React Nativeの話のその前に… サービスの作り方の話
React Nativeの話のその前に… サービスの作り方の話React Nativeの話のその前に… サービスの作り方の話
React Nativeの話のその前に… サービスの作り方の話
 
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
開発技術対決! Dots.カンファレンス エキシビジョン iOS代表
 
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
iOS開発を楽しむ最初の一歩!デリゲートをなるべく分かりやすく!
 
Swift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリとSwift愛好会_ライブラリを使わずにゴリゴリと
Swift愛好会_ライブラリを使わずにゴリゴリと
 
APIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjpAPIドキュメントの話 #sphinxjp
APIドキュメントの話 #sphinxjp
 
楽しいSwift!クラスと構造体を知る:)
楽しいSwift!クラスと構造体を知る:)楽しいSwift!クラスと構造体を知る:)
楽しいSwift!クラスと構造体を知る:)
 
Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9Xcode 7 の新しいところ #cm_ios9
Xcode 7 の新しいところ #cm_ios9
 
Rubyを楽しくする第一歩!ブロックを理解する!
Rubyを楽しくする第一歩!ブロックを理解する!Rubyを楽しくする第一歩!ブロックを理解する!
Rubyを楽しくする第一歩!ブロックを理解する!
 
この実装には問題がある!
この実装には問題がある!この実装には問題がある!
この実装には問題がある!
 
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
デザイナー→Webエンジニア→iOSエンジニアと渡り歩いた僕なりのSwiftとの向き合い方と生かす戦略
 
Zaim 500万ユーザに向けて
Zaim 500万ユーザに向けてZaim 500万ユーザに向けて
Zaim 500万ユーザに向けて
 
Effective SQLite For Android
Effective SQLite For AndroidEffective SQLite For Android
Effective SQLite For Android
 
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
yidev 第18回勉強会 「業務でSwiftで3ヶ月開発してきたので一旦振り返り」
 
スマホアプリディレクターが考えていること
スマホアプリディレクターが考えていることスマホアプリディレクターが考えていること
スマホアプリディレクターが考えていること
 

Railsしかやってなかった人が10時間で Swift iOSゲームをつくったら