SlideShare a Scribd company logo
1 of 23
今更C++でアプリを作
ってる話
西山信行 @5mingame2
自己紹介
自己紹介
• 1990~ ゲームプログラマとして働く(PCや家庭用など)
• 2002~ 開発仲間と制作会社運営
• 2008~ キャリア公式ガラケーサイト運営
• 2009~ iPhoneアプリ開発
• 2010~ 専門学校非常勤講師
• 2012~ 個人で作ったiPhoneアプリを発表
• 2018~ 再びゲーム開発の現場へ
• Technical Arts(http://www.techarts.co.jp)
今日の内容
今日の内容
• アプリ紹介
• なぜC++なのか
• 開発手法
• Tips
アプリ紹介
• デモプレイします
なぜC++なのか
なぜC++なのか
• 自分がC++でゲーム作るの好きだから
• 自分の作品を専門学校の授業で利用できる
• 専門学校では主にC++でのゲーム製作を教えている
開発手法
開発手法
• CinderというFrameworkを利用
• 創造的コーディングのためのフレームワーク
• https://libcinder.org
• https://github.com/cinder/Cinder
• 最新版は 0.9.1
Cinderの特徴
Cinderの特徴
• 基本的な描画
• 基本的な入力(キー・マウス・タッチ)
• 基本的なサウンド処理
• 基本的なベクター・行列演算
• 基本的なetc. etc…
Cinderの特徴
• あまり手厚いサポートはない
• 学生が初めて3Dを触るのにちょうど良い規模感
• 公式リファレンスは割と充実している
• ネットでググってもほとんど情報が見つからない
• 教える立場としてはありがたい
Cinderの特徴
• OpenGLの薄いラッパーとして使える
• 必要であれば直接OpenGLのAPIを使える
• OSの違いをかなり吸収してくれる
• マルチタッチ入力やサウンド周りとか
• ライブラリの再ビルドでトラブルが少ない
Tips
Tips
• C++のバージョンについて
• Xcode最新版やVisualStudio2017を使えるのであれば、
C++14が使える
• ソースファイルの文字コードはUTF-8(BOM付き)
• ソースファイルの文字コードはUTF-8(BOM付き)
Tips
• こういうのはどうする?(iOS SDKとの連携)
Tips
• iOS SDKとの連携はObjective-C++で解決
• 拡張子 .mm のソースファイル
• C++の関数の中で Objective-C が書ける
• 他のC++のコードから使える!
Tips
• Cinder 0.9.1はシェーダー必須
• デスクトップPCとiPhoneではシェーダーの仕様が結構
違う → 差の少ないバージョンで揃える
• デスクトップPC: OpenGL 3.3
• iPhone: OpenGL ES3.0
Tips
• Cinderでは日本語表示が厳しい
• fontstashを利用
• https://github.com/memononen/fontstash
• https://github.com/tangrams/fontstash-es
まとめ
まとめ
• iPhoneアプリ開発はC++でも十分イケる
• 手間がかかるのであまりオススメできない
• アプリが完成したら是非手にとってみてください
まとめ
• 何か気になる事や引っかかったことがあれば
• https://twitter.com
• https://github.com/tek-nishi

More Related Content

What's hot

すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!Genya Murakami
 
チケット駆動開発現場の最前線.pdf
チケット駆動開発現場の最前線.pdfチケット駆動開発現場の最前線.pdf
チケット駆動開発現場の最前線.pdfYokoba
 
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスターUnity Technologies Japan K.K.
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチンyohhoy
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列Kenjiro Sugimoto
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ信之 岩永
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策gree_tech
 
ガイデットフィルタとその周辺
ガイデットフィルタとその周辺ガイデットフィルタとその周辺
ガイデットフィルタとその周辺Norishige Fukushima
 
俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターンMasaru Kurahayashi
 
Constexprとtemplateでコンパイル時にfizz buzz
Constexprとtemplateでコンパイル時にfizz buzzConstexprとtemplateでコンパイル時にfizz buzz
Constexprとtemplateでコンパイル時にfizz buzz京大 マイコンクラブ
 
Unreal Engine を用いた、駐車スペース検知のための学習データ生成
Unreal Engine を用いた、駐車スペース検知のための学習データ生成Unreal Engine を用いた、駐車スペース検知のための学習データ生成
Unreal Engine を用いた、駐車スペース検知のための学習データ生成Silicon Studio Corporation
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All ThingsUnityTechnologiesJapan002
 
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方光晶 上原
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法MITSUNARI Shigeo
 
基礎線形代数講座
基礎線形代数講座基礎線形代数講座
基礎線形代数講座SEGADevTech
 
CEDEC2015 サブディビジョンサーフェスの すべてがわかる
CEDEC2015 サブディビジョンサーフェスの すべてがわかるCEDEC2015 サブディビジョンサーフェスの すべてがわかる
CEDEC2015 サブディビジョンサーフェスの すべてがわかるTakahito Tejima
 
ゲームAI製作のためのワークショップ(III)
ゲームAI製作のためのワークショップ(III)ゲームAI製作のためのワークショップ(III)
ゲームAI製作のためのワークショップ(III)Youichiro Miyake
 

What's hot (20)

すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
 
チケット駆動開発現場の最前線.pdf
チケット駆動開発現場の最前線.pdfチケット駆動開発現場の最前線.pdf
チケット駆動開発現場の最前線.pdf
 
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
 
20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン20分くらいでわかった気分になれるC++20コルーチン
20分くらいでわかった気分になれるC++20コルーチン
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
async/await のしくみ
async/await のしくみasync/await のしくみ
async/await のしくみ
 
Epic Online Services でできること
Epic Online Services でできることEpic Online Services でできること
Epic Online Services でできること
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策[CEDEC2012]ネットワークゲームの不正行為と対策
[CEDEC2012]ネットワークゲームの不正行為と対策
 
ガイデットフィルタとその周辺
ガイデットフィルタとその周辺ガイデットフィルタとその周辺
ガイデットフィルタとその周辺
 
俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン
 
Constexprとtemplateでコンパイル時にfizz buzz
Constexprとtemplateでコンパイル時にfizz buzzConstexprとtemplateでコンパイル時にfizz buzz
Constexprとtemplateでコンパイル時にfizz buzz
 
Unreal Engine を用いた、駐車スペース検知のための学習データ生成
Unreal Engine を用いた、駐車スペース検知のための学習データ生成Unreal Engine を用いた、駐車スペース検知のための学習データ生成
Unreal Engine を用いた、駐車スペース検知のための学習データ生成
 
【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things【Unite Tokyo 2019】Understanding C# Struct All Things
【Unite Tokyo 2019】Understanding C# Struct All Things
 
自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方自宅で出来る!ゲームサーバの作り方
自宅で出来る!ゲームサーバの作り方
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
 
基礎線形代数講座
基礎線形代数講座基礎線形代数講座
基礎線形代数講座
 
CEDEC2015 サブディビジョンサーフェスの すべてがわかる
CEDEC2015 サブディビジョンサーフェスの すべてがわかるCEDEC2015 サブディビジョンサーフェスの すべてがわかる
CEDEC2015 サブディビジョンサーフェスの すべてがわかる
 
comp_pfiseminar
comp_pfiseminarcomp_pfiseminar
comp_pfiseminar
 
ゲームAI製作のためのワークショップ(III)
ゲームAI製作のためのワークショップ(III)ゲームAI製作のためのワークショップ(III)
ゲームAI製作のためのワークショップ(III)
 

Similar to 今更C++でiOSアプリを作る話

C++でiOSアプリ
C++でiOSアプリC++でiOSアプリ
C++でiOSアプリ5mingame2
 
趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイスHiroaki Murayama
 
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会Mori Tetsuya
 
WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際Hiroyuki Yamaoka
 
なれる!フリーランス
なれる!フリーランスなれる!フリーランス
なれる!フリーランスleverages_event
 
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
 
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果KayoMiyata
 
Windows phone関係のなにか。
Windows phone関係のなにか。Windows phone関係のなにか。
Windows phone関係のなにか。Hiroyuki Mori
 
endeworksでのWebAppの作り方
endeworksでのWebAppの作り方endeworksでのWebAppの作り方
endeworksでのWebAppの作り方33rpm
 
【社内ツール最強対決!! 151125】
【社内ツール最強対決!! 151125】【社内ツール最強対決!! 151125】
【社内ツール最強対決!! 151125】寛之 石川
 
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術vaccho
 
iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術Tomoki Hasegawa
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1Hiroki Toyokawa
 
いんふらフレンズ
いんふらフレンズいんふらフレンズ
いんふらフレンズMiho Yamamoto
 
スマートフォン勉強会 関東 19
スマートフォン勉強会 関東 19スマートフォン勉強会 関東 19
スマートフォン勉強会 関東 19Kenji Daikoku
 
<女性限定>在宅ワーク講座 公開版 Django入門
<女性限定>在宅ワーク講座 公開版 Django入門<女性限定>在宅ワーク講座 公開版 Django入門
<女性限定>在宅ワーク講座 公開版 Django入門Hirokazu Tokuno
 
Another Visual Studio - Visual Studio for Mac
Another Visual Studio - Visual Studio for MacAnother Visual Studio - Visual Studio for Mac
Another Visual Studio - Visual Studio for MacTomohiro Suzuki
 
Visual Studio 拡張機能の作り方
Visual Studio 拡張機能の作り方Visual Studio 拡張機能の作り方
Visual Studio 拡張機能の作り方Yuki Igarashi
 
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化Hiroyuki Mori
 

Similar to 今更C++でiOSアプリを作る話 (20)

C++でiOSアプリ
C++でiOSアプリC++でiOSアプリ
C++でiOSアプリ
 
趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス趣味プログラマの先輩からのアドバイス
趣味プログラマの先輩からのアドバイス
 
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
 
WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際
 
なれる!フリーランス
なれる!フリーランスなれる!フリーランス
なれる!フリーランス
 
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プロトタイプ開発 〜実践事例のご紹介〜
 
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
 
Windows phone関係のなにか。
Windows phone関係のなにか。Windows phone関係のなにか。
Windows phone関係のなにか。
 
endeworksでのWebAppの作り方
endeworksでのWebAppの作り方endeworksでのWebAppの作り方
endeworksでのWebAppの作り方
 
【社内ツール最強対決!! 151125】
【社内ツール最強対決!! 151125】【社内ツール最強対決!! 151125】
【社内ツール最強対決!! 151125】
 
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
 
iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術iOSアプリ制作ツールアプリビルダーを支える技術
iOSアプリ制作ツールアプリビルダーを支える技術
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
 
いんふらフレンズ
いんふらフレンズいんふらフレンズ
いんふらフレンズ
 
スマートフォン勉強会 関東 19
スマートフォン勉強会 関東 19スマートフォン勉強会 関東 19
スマートフォン勉強会 関東 19
 
事業企画
事業企画事業企画
事業企画
 
<女性限定>在宅ワーク講座 公開版 Django入門
<女性限定>在宅ワーク講座 公開版 Django入門<女性限定>在宅ワーク講座 公開版 Django入門
<女性限定>在宅ワーク講座 公開版 Django入門
 
Another Visual Studio - Visual Studio for Mac
Another Visual Studio - Visual Studio for MacAnother Visual Studio - Visual Studio for Mac
Another Visual Studio - Visual Studio for Mac
 
Visual Studio 拡張機能の作り方
Visual Studio 拡張機能の作り方Visual Studio 拡張機能の作り方
Visual Studio 拡張機能の作り方
 
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化2013 11-09 デスクトップ・アプリの価値を高めるモダン化
2013 11-09 デスクトップ・アプリの価値を高めるモダン化
 

今更C++でiOSアプリを作る話