windowsappで楽しむゲームプログラミングのセカイ
TRANSCRIPT
Windowsで楽しむゲームプログラミングのセカイ
2015/5/10 @garicchi
2015/5/10 1
栂井 良太Togai Ryota
@garicchi
がりっち
Shizuoka Univ
JAZUG
Microsoft MVP for Windows Platform Development
Microsoft Student Partners
対話システム
コーヒー
経済、教育
ゲームプログラミング
http://garicchi.com
普段はここに住んでます
2015/5/10 3
最近考えていること
›どうやったら学生がWindowsAppsを作ってくれるのか
2015/5/10 4
なぜ学生はWindowsAppsを作らないのか
2015/5/10 5
›市場› ✕
› WindowsAppsで儲けるのは難しい
›人気› ✕
› 一時は人気が出かけたがWindows <<超えられない壁<<iOS,Android
›所持デバイス› △
› WindowsならまだしもWindowsPhone
なぜ学生はWindowsAppsを作らないのか
› (人気がない&&ユーザーが少ない) != 作らない› 趣味レベルに限っては必ずしもそうとは言えない
›学生を2種類にわけて考えてみる
1. プログラミングをすることで得られる利益を目的とする学生› iOS、Androidなど人気プラットフォーム
2. プログラミングをすること自体を楽しむ学生› 人気があるプラットフォームよりもむしろ自分が持ってるデバイス、環境で楽しめるプラットフォームを好む
› ゲームが好きな学生も多い
2015/5/10 6
Windowsとゲームプログラミング
›意外とWindowsで動くゲームを作りたいと思っている学生は多い› 利益を求めているわけではない
› 自分の持っているPCで動くオレオレゲームを作ってたまに友達と遊ぶぐらいのことがしたい
›なぜWindows?› FPSや東方Project、フリーゲームなど、Windows上で遊ばれる
› ↑のようなものを自分も作って配布したいと思っている
2015/5/10 7
自分の過去を思い出す..
›東方Projectに激ハマリ› 作者が自分でゲームを作っていることを知って自分も勉強
2015/5/10 8
自分の過去を思い出す..
›寮務主事を倒すゲームを作成(ボスは校長)› 友達にexeを配布して楽しんだ
›思えばあの頃、めちゃくちゃプログラミングスキルが向上したし、楽しかった
2015/5/10 9
2015/5/10 10
ゲームプログラミング
プログラミングスキルの向上
プログラミングの楽しさ
WindowsApps
Windowsゲームプログラミング
→コレいけそう
WindowsAppsゲームプログラミングのメリット
›インディーズゲームプログラマーに持って来いの市場› 企業がソシャゲ参入をしていない
› ぶっちゃけちょっとおもしろいもの作れば余裕でランキング入りできる(と思う
› つまらないアプリを作っても低評価で落ち込むことが少ない
›ストアアプリが全画面なの嫌なんだけど› ゲームって全画面でやるじゃろ?
2015/5/10 11
WindowsAppsゲームプログラミングのメリット
›ゲーム配信インフラ› 今までのexe配布は負担が出かかった
› サーバーの用意
› バージョン管理
› インストールの説明書作成
› Windowsストアでは› ゲーム配信ストアを利用
› ハッピー
›課金インフラ› アプリ内課金で小遣い稼ぎもできるかも?
2015/5/10 12
WindowsAppsゲームプログラミングのメリット
›Windows10のOne Windows› 僕の友達1/1にアンケートをとった結果
› ゲーム用ハードで動かせるとすごくうれしいらしい
› Windows10→Xbox One
› さまざまなデバイスと選択肢
›コントローラの重要性› 今どきコントローラ操作って…
› →コントローラで動くゲーム作れたら楽しい!
2015/5/10 13
WindowsAppsゲームプログラミングのメリット
›プログラミングスキルの向上› ツール系アプリケーション
› アルゴリズムの実装の必要性が薄い
› ボタン配置してイベント処理書くだけではスキル向上が難しい
› ゲームプログラミングの場合› アルゴリズム一つによって結果が見違えるほど変わる
› メモリ管理、高速化、などなど意識することができる
›情報教育› 情報学において習得すべき分野をほぼすべてカバー
› オートマトン、アルゴリズム、データ構造、ネットワークプログラミング、オブジェクト指向、線形代数学、コンパイラ、人工知能etc…
2015/5/10 14
WindowsAppsゲームプログラミングの障壁1
›DirectX› Microsoftが標準で推奨しているゲームプログラミング方法
› 自由度が高い分非常に難しいAPI郡
› 引数の多さもあるがその型名の長さ
2015/5/10 15
WindowsAppsゲームプログラミングの障壁2
›公式がゲームプログラミング入門者にやさしくない› ドキュメントがろくなものではない
› サンプルもまともなものがない
› プロジェクトテンプレートもない
› →なぜか?
›私の推測だけど› そもそも公式が入門者に向けたものではない
› すでにDirectXでゲームフレームワークが構築してある企業がフレームワークをWindowsAppsに移植しやすいようにしているから?
2015/5/10 16
›こうなるのは仕方ないとして(実際右側は優れているし)
2015/5/10 17
›Windowsでゲームを作りたいと思っている人の障壁はなくすべき
›じゃないと↑の状態が加速するばかり
では私達になにができるのか?
›ゲームプログラミングの技術スタック(考案: 俺)
2015/5/10 18
グラフィックスAPI(例 DirectX、OpenGL)
ゲームライブラリ(例 XNA、MonoGame、DxToolkit、Dxライブラリ)
ゲームフレームワーク(例 Cocos2dx)
ゲームエンジン (例 Unity、Unreal)企業が提供(非常にHot)→
MSが提供している部分→
オープンソース→
オープンソース→
ツール化されたゲーム制作ツール
激ムズ自由度MAX API
グラフィックAPIを使いやすく
ゲームの実用的な処理を管理
Shiztex
›静岡大学情報学部の学生を中心としたゲーム開発コミュニティ› 今言ったようなゲーム開発の障壁をなくして、楽しくゲームを作ることを目的
› したいなぁと思ってること› ゲーム開発の入門記事の執筆
› ゲーム開発フレームワークの作成
› サンプルコードの作成
› 現実› アクティブユーザー俺一人
2015/5/10 19
なんとなくやったこと
›ホームページ作成› http://shiztex.com
›Google+ コミュニティの作成› https://plus.google.com/communities/112153060056010608391
›MonoGame用フレームワークの作成› https://github.com/garicchi/CobaltFrame
2015/5/10 20
MonoGame
› Version 3.4で公式よりも早くWindows10対応
› CrossPlatform(iOS,Android,Windows,Linux)
› Xamarin環境で開発できる› VisualStudio、XmarinStudio
› XamarinのAPIが使える
›個人的に一番注目したい
2015/5/10 21
CobaltFrame
› MonoGame用のクロスプラットフォームゲームフレームワーク
› めざせCocos2dx
2015/5/10 22
まとめ
›WindowsAppsはWindowsAppsで利益を求めない学生や趣味ゲームプログラマーこそ楽しめるプラットフォームである可能性を提示
›↑のようになるためにはゲームプログラミングに対する障壁を消す› 勉強会、フレームワーク作成、記事執筆etc…
›コミュニティをよろしくお願いします!
2015/5/10 23