SlideShare a Scribd company logo
1 of 15
Download to read offline
C++でiOSアプリ
西山信行
@5mingame2
自己紹介
• 1990年からゲームプログラマとしてご飯食べてます
• 最近は専門学校でゲームプログラミングを教えてます
• 細々とiOS向けアプリを作って発表しています
自己紹介
• 3月は無収入なのでテクニカルアーツという会社で先
輩の仕事を手伝っています

http://www.techarts.co.jp
• 関東ゲーム制作部(東ゲ部)にもちょいちょい顔を出し
ています

https://togebu.doorkeeper.jp
今日話すこと
• iOSであえてC++でゲームを作るマゾい話
新作準備中
• C++で作ってる新作アプリ(仮)を見てください
こんな感じ
• Cinderというフレームワークを利用
• C++14でプログラムを書く
• Objective-C++で書く
Cinderとは
• アート系向けのフレームワーク
• ポリゴンをうねうねさせたりとかグニョグニョさせた
りとかが強い
• 現行バージョン(0.9.1)はShader必須
• https://libcinder.org
Cinderである理由
• 学校の授業で3Dの基礎的なのを教えるのに、フレーム
ワークの規模がちょうど良い
• ググってもあんまり実例が見つからないのが良い
• リファレンスが英語なのが良い
Cinderでできる
• OpenGLのめんどくさい描画手続きの省略
• マルチタッチやRetinaや画面の回転
• WindowsとmacOSとiOSで動くアプリが作れる
• サウンド周りの扱い
Cinderでできない
• UnityのUI的なやつ
• FBXとかの表示
• 可愛い女子(VTuber的なやつ)の表示
• 日本語の文字列表示
C++14に関して
• なんら問題なく使える
• iOS独自の処理はObjective-C++で書く(.mm)
• C++(.cpp)からObjective-C++(.mm)特有の関数とか
を使うのはやめといたほうがいい
• Objective-C++(.mm)からC++(.cpp)の関数とかは使
える
日本語表示に関して
• https://github.com/memononen/fontstash

fontstashがオススメ
• https://github.com/tangrams/fontstash-es

ここを参考にしていい感じの実装ができた
シェーダーに関して
• OpenGL 3.3 と OpenGL ES3.0の互換性がかなり良
い線いってる。今から始めるならオススメ!!
気をつけること
• WindowsとmacOSの両方でビルドする場合はソース
コードの文字コードはUTF-8(BOMつき)にする!
• ソースコードの文字コードはUTF-8(BOMつき)にす
る!!!
以上です!!
• 無事新作を出せたらまた告知します

More Related Content

What's hot

Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録Fumiya Sakai
 
30代からのプライベートiOSデベロッパーのとしての軌跡
30代からのプライベートiOSデベロッパーのとしての軌跡30代からのプライベートiOSデベロッパーのとしての軌跡
30代からのプライベートiOSデベロッパーのとしての軌跡Fumiya Sakai
 
日本の祝祭日を計算してカレンダ-に表示するアプリサンプル
日本の祝祭日を計算してカレンダ-に表示するアプリサンプル日本の祝祭日を計算してカレンダ-に表示するアプリサンプル
日本の祝祭日を計算してカレンダ-に表示するアプリサンプルFumiya Sakai
 
Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Firebaseでのファイルアップロード処理と便利ライブラリの紹介Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Firebaseでのファイルアップロード処理と便利ライブラリの紹介Fumiya Sakai
 
UIPageViewControllerとContainerViewでこんな見た目を実現するTips
UIPageViewControllerとContainerViewでこんな見た目を実現するTipsUIPageViewControllerとContainerViewでこんな見た目を実現するTips
UIPageViewControllerとContainerViewでこんな見た目を実現するTipsFumiya Sakai
 
デザイナーだった記憶を忘れないために自分なりに気をつけていること
デザイナーだった記憶を忘れないために自分なりに気をつけていることデザイナーだった記憶を忘れないために自分なりに気をつけていること
デザイナーだった記憶を忘れないために自分なりに気をつけていることFumiya Sakai
 
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)Fumiya Sakai
 
ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)
ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)
ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)Fumiya Sakai
 
mBaaSの基本的な扱い方の事始め(parse.comとNCMBの使い方比べ)
mBaaSの基本的な扱い方の事始め(parse.comとNCMBの使い方比べ)mBaaSの基本的な扱い方の事始め(parse.comとNCMBの使い方比べ)
mBaaSの基本的な扱い方の事始め(parse.comとNCMBの使い方比べ)Fumiya Sakai
 
あのアプリの動きをUIKitのみでDIYしてみる(part2)
あのアプリの動きをUIKitのみでDIYしてみる(part2)あのアプリの動きをUIKitのみでDIYしてみる(part2)
あのアプリの動きをUIKitのみでDIYしてみる(part2)Fumiya Sakai
 
Rails5とAPIモードについての解説
Rails5とAPIモードについての解説Rails5とAPIモードについての解説
Rails5とAPIモードについての解説Fumiya Sakai
 
Core dataと比較してrealmを使ったまとめ
Core dataと比較してrealmを使ったまとめCore dataと比較してrealmを使ったまとめ
Core dataと比較してrealmを使ったまとめFumiya Sakai
 
正社員からフリーランスになってみて
正社員からフリーランスになってみて正社員からフリーランスになってみて
正社員からフリーランスになってみてleverages_event
 
自分のライブラリを1年運用をして見た振り返りと知見
自分のライブラリを1年運用をして見た振り返りと知見自分のライブラリを1年運用をして見た振り返りと知見
自分のライブラリを1年運用をして見た振り返りと知見Fumiya Sakai
 
Parse.comを使ってみた感想とまとめ
Parse.comを使ってみた感想とまとめParse.comを使ってみた感想とまとめ
Parse.comを使ってみた感想とまとめFumiya Sakai
 
Railsの現場に入る前のお話(勉強法)
Railsの現場に入る前のお話(勉強法)Railsの現場に入る前のお話(勉強法)
Railsの現場に入る前のお話(勉強法)Fumiya Sakai
 
時間制限付きクイズアプリをつくる
時間制限付きクイズアプリをつくる時間制限付きクイズアプリをつくる
時間制限付きクイズアプリをつくるFumiya Sakai
 
宮崎の山の中でリモートワークしてみた
宮崎の山の中でリモートワークしてみた宮崎の山の中でリモートワークしてみた
宮崎の山の中でリモートワークしてみたTomoe Sawai
 
言語は違うけどもインスパイアされて作られたとあるライブラリ(PaperclipとLaravel-stapler)
言語は違うけどもインスパイアされて作られたとあるライブラリ(PaperclipとLaravel-stapler)言語は違うけどもインスパイアされて作られたとあるライブラリ(PaperclipとLaravel-stapler)
言語は違うけどもインスパイアされて作られたとあるライブラリ(PaperclipとLaravel-stapler)Fumiya Sakai
 
ハンドメイドカレンダー(プレゼン用)
ハンドメイドカレンダー(プレゼン用)ハンドメイドカレンダー(プレゼン用)
ハンドメイドカレンダー(プレゼン用)Fumiya Sakai
 

What's hot (20)

Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録Ruby on railsでlinebotを試した記録
Ruby on railsでlinebotを試した記録
 
30代からのプライベートiOSデベロッパーのとしての軌跡
30代からのプライベートiOSデベロッパーのとしての軌跡30代からのプライベートiOSデベロッパーのとしての軌跡
30代からのプライベートiOSデベロッパーのとしての軌跡
 
日本の祝祭日を計算してカレンダ-に表示するアプリサンプル
日本の祝祭日を計算してカレンダ-に表示するアプリサンプル日本の祝祭日を計算してカレンダ-に表示するアプリサンプル
日本の祝祭日を計算してカレンダ-に表示するアプリサンプル
 
Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Firebaseでのファイルアップロード処理と便利ライブラリの紹介Firebaseでのファイルアップロード処理と便利ライブラリの紹介
Firebaseでのファイルアップロード処理と便利ライブラリの紹介
 
UIPageViewControllerとContainerViewでこんな見た目を実現するTips
UIPageViewControllerとContainerViewでこんな見た目を実現するTipsUIPageViewControllerとContainerViewでこんな見た目を実現するTips
UIPageViewControllerとContainerViewでこんな見た目を実現するTips
 
デザイナーだった記憶を忘れないために自分なりに気をつけていること
デザイナーだった記憶を忘れないために自分なりに気をつけていることデザイナーだった記憶を忘れないために自分なりに気をつけていること
デザイナーだった記憶を忘れないために自分なりに気をつけていること
 
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
ライブラリでよくある動きをUIKitのみでDIYしてみる(Part1)
 
ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)
ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)
ContainerViewとStoryboardとSwift3.0の交響曲(シンフォニー)
 
mBaaSの基本的な扱い方の事始め(parse.comとNCMBの使い方比べ)
mBaaSの基本的な扱い方の事始め(parse.comとNCMBの使い方比べ)mBaaSの基本的な扱い方の事始め(parse.comとNCMBの使い方比べ)
mBaaSの基本的な扱い方の事始め(parse.comとNCMBの使い方比べ)
 
あのアプリの動きをUIKitのみでDIYしてみる(part2)
あのアプリの動きをUIKitのみでDIYしてみる(part2)あのアプリの動きをUIKitのみでDIYしてみる(part2)
あのアプリの動きをUIKitのみでDIYしてみる(part2)
 
Rails5とAPIモードについての解説
Rails5とAPIモードについての解説Rails5とAPIモードについての解説
Rails5とAPIモードについての解説
 
Core dataと比較してrealmを使ったまとめ
Core dataと比較してrealmを使ったまとめCore dataと比較してrealmを使ったまとめ
Core dataと比較してrealmを使ったまとめ
 
正社員からフリーランスになってみて
正社員からフリーランスになってみて正社員からフリーランスになってみて
正社員からフリーランスになってみて
 
自分のライブラリを1年運用をして見た振り返りと知見
自分のライブラリを1年運用をして見た振り返りと知見自分のライブラリを1年運用をして見た振り返りと知見
自分のライブラリを1年運用をして見た振り返りと知見
 
Parse.comを使ってみた感想とまとめ
Parse.comを使ってみた感想とまとめParse.comを使ってみた感想とまとめ
Parse.comを使ってみた感想とまとめ
 
Railsの現場に入る前のお話(勉強法)
Railsの現場に入る前のお話(勉強法)Railsの現場に入る前のお話(勉強法)
Railsの現場に入る前のお話(勉強法)
 
時間制限付きクイズアプリをつくる
時間制限付きクイズアプリをつくる時間制限付きクイズアプリをつくる
時間制限付きクイズアプリをつくる
 
宮崎の山の中でリモートワークしてみた
宮崎の山の中でリモートワークしてみた宮崎の山の中でリモートワークしてみた
宮崎の山の中でリモートワークしてみた
 
言語は違うけどもインスパイアされて作られたとあるライブラリ(PaperclipとLaravel-stapler)
言語は違うけどもインスパイアされて作られたとあるライブラリ(PaperclipとLaravel-stapler)言語は違うけどもインスパイアされて作られたとあるライブラリ(PaperclipとLaravel-stapler)
言語は違うけどもインスパイアされて作られたとあるライブラリ(PaperclipとLaravel-stapler)
 
ハンドメイドカレンダー(プレゼン用)
ハンドメイドカレンダー(プレゼン用)ハンドメイドカレンダー(プレゼン用)
ハンドメイドカレンダー(プレゼン用)
 

Similar to C++でiOSアプリ

なれる!フリーランス
なれる!フリーランスなれる!フリーランス
なれる!フリーランスleverages_event
 
ゲームデザインについて
ゲームデザインについてゲームデザインについて
ゲームデザインについてmeyco
 
SORACOM Conference "Discovery" 2018 | E1. Wioで始めるIoTプロトタイプ開発 〜実践事例のご紹介〜
SORACOM Conference "Discovery" 2018 | E1. Wioで始めるIoTプロトタイプ開発 〜実践事例のご紹介〜SORACOM Conference "Discovery" 2018 | E1. Wioで始めるIoTプロトタイプ開発 〜実践事例のご紹介〜
SORACOM Conference "Discovery" 2018 | E1. Wioで始めるIoTプロトタイプ開発 〜実践事例のご紹介〜SORACOM,INC
 
WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際Hiroyuki Yamaoka
 
Cocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたCocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたTomohiro Suzuki
 
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】Meyco U
 
自宅で仕事。安くなってきたGPUインスタンスをParsecで活用しよう。
自宅で仕事。安くなってきたGPUインスタンスをParsecで活用しよう。自宅で仕事。安くなってきたGPUインスタンスをParsecで活用しよう。
自宅で仕事。安くなってきたGPUインスタンスをParsecで活用しよう。Kengo Nakajima
 
ノンエンジニアが手探りでシューティングゲームを作った話。Swiftで。その入り口部分。
ノンエンジニアが手探りでシューティングゲームを作った話。Swiftで。その入り口部分。ノンエンジニアが手探りでシューティングゲームを作った話。Swiftで。その入り口部分。
ノンエンジニアが手探りでシューティングゲームを作った話。Swiftで。その入り口部分。Kotaro Mochizuki
 
アウトプットのすすめ
アウトプットのすすめアウトプットのすすめ
アウトプットのすすめKoichiHirai1
 
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハントHiroyuki Ishikawa
 
Monacaで始めるスマホアプリ開発
Monacaで始めるスマホアプリ開発Monacaで始めるスマホアプリ開発
Monacaで始めるスマホアプリ開発shintaro suzuki
 
2018 programing
2018 programing2018 programing
2018 programingm_miyamoto
 
スマートフォン勉強会 関東 19
スマートフォン勉強会 関東 19スマートフォン勉強会 関東 19
スマートフォン勉強会 関東 19Kenji Daikoku
 
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -Kishi Shundo
 
スマホ版ログレスにポストエフェクトシステムを導入した話
スマホ版ログレスにポストエフェクトシステムを導入した話スマホ版ログレスにポストエフェクトシステムを導入した話
スマホ版ログレスにポストエフェクトシステムを導入した話章暢 藤井
 
Androidの新ビルドシステム
Androidの新ビルドシステムAndroidの新ビルドシステム
Androidの新ビルドシステムl_b__
 
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会Mori Tetsuya
 

Similar to C++でiOSアプリ (20)

なれる!フリーランス
なれる!フリーランスなれる!フリーランス
なれる!フリーランス
 
ゲームデザインについて
ゲームデザインについてゲームデザインについて
ゲームデザインについて
 
SORACOM Conference "Discovery" 2018 | E1. Wioで始めるIoTプロトタイプ開発 〜実践事例のご紹介〜
SORACOM Conference "Discovery" 2018 | E1. Wioで始めるIoTプロトタイプ開発 〜実践事例のご紹介〜SORACOM Conference "Discovery" 2018 | E1. Wioで始めるIoTプロトタイプ開発 〜実践事例のご紹介〜
SORACOM Conference "Discovery" 2018 | E1. Wioで始めるIoTプロトタイプ開発 〜実践事例のご紹介〜
 
WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際
 
Cmujp21_node-webkit
Cmujp21_node-webkitCmujp21_node-webkit
Cmujp21_node-webkit
 
Cocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたCocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみました
 
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
 
自宅で仕事。安くなってきたGPUインスタンスをParsecで活用しよう。
自宅で仕事。安くなってきたGPUインスタンスをParsecで活用しよう。自宅で仕事。安くなってきたGPUインスタンスをParsecで活用しよう。
自宅で仕事。安くなってきたGPUインスタンスをParsecで活用しよう。
 
ノンエンジニアが手探りでシューティングゲームを作った話。Swiftで。その入り口部分。
ノンエンジニアが手探りでシューティングゲームを作った話。Swiftで。その入り口部分。ノンエンジニアが手探りでシューティングゲームを作った話。Swiftで。その入り口部分。
ノンエンジニアが手探りでシューティングゲームを作った話。Swiftで。その入り口部分。
 
アウトプットのすすめ
アウトプットのすすめアウトプットのすすめ
アウトプットのすすめ
 
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
[クリエイティブハント2018]LT 道場破りしたらできちゃった/// #ゴーハント
 
Monacaで始めるスマホアプリ開発
Monacaで始めるスマホアプリ開発Monacaで始めるスマホアプリ開発
Monacaで始めるスマホアプリ開発
 
2018 programing
2018 programing2018 programing
2018 programing
 
スマートフォン勉強会 関東 19
スマートフォン勉強会 関東 19スマートフォン勉強会 関東 19
スマートフォン勉強会 関東 19
 
Swiftvol.1
Swiftvol.1Swiftvol.1
Swiftvol.1
 
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
 
スマホ版ログレスにポストエフェクトシステムを導入した話
スマホ版ログレスにポストエフェクトシステムを導入した話スマホ版ログレスにポストエフェクトシステムを導入した話
スマホ版ログレスにポストエフェクトシステムを導入した話
 
Koyomin Zの紹介
Koyomin Zの紹介Koyomin Zの紹介
Koyomin Zの紹介
 
Androidの新ビルドシステム
Androidの新ビルドシステムAndroidの新ビルドシステム
Androidの新ビルドシステム
 
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
 

C++でiOSアプリ