0
“Playground”でゲームづくり、
その前に
@muo_jp / なかざわ けい, K Laboratory, KLab Inc.
2014/04/12, 2Dゲームハッカソン
 なかざわ けい   @muo_jp
プログラミング19年目 29歳
(BASIC→C→PHP→Ruby→Python→C#2.0→C#3.0→C#4.0)
社会人 10年目(20歳∼)、経営学修士(IT業界の経営戦略論)
KLab 4年目(K...
よく、雑な冗談をtwitterで
投げっぱなしてます
KLabでの仕事
携帯ブラウザ向けソーシャルゲームの開発

→JSでのネイティブゲームエンジン評価・プロト

→Androidアプリのアーキテクチャ設計・プロト

→Playgroundの周辺ツール開発
その他なんでも
今回の話は会社の公式見解では
なく、超絶個人的な見解です
先に軽くアンケート
どのような業界の方? ゲーム/Web/他システム

(さっき聞いた)
どのような職種の方? 企画/クリエイティブ/開発
どんなもの作りたいかイメージ固まってる?
しばらく、Playgroundの話は
しません
ゲーム作りたいですか?
面白いゲーム作りたいですか?
ゲームと2Dゲームの話
ゲームってなんだっけ
これをちゃんと考えないと
後が大変
ゲームは娯楽のひとつ
娯楽 Entertainment
プレイヤーに
楽しんでもらってなんぼ
どう作るかよりも何を作る
かのほうがはるかに大事
幸い、このハッカソンは「楽
しむのが大事」であって、
アウトプットを過度に求め
てない
楽しみながら「面白いもの
作ろう」とひったすら考え
て時間が終わっても良いと
思う
※個人の感想です
感情と理性のバランス
心震えるゲーム(Rez)
頭震えるゲーム(チェス)
楽しんでゲームを作るために
思い出しておきたい子供心
まずはどんなゲームを作り
たいか、必死で考える
安直に?
なんとなくクイズのアレっぽいの∼とか
なんとなくパズルのアレっぽいの∼とか
考えなしに作ったのはもう粗方どう仕様もない出来
楽しく考えるヒントが要る
どんなもの作りたい?
遊んだ人にどんな感情を持って欲しいか
楽しい?悲しい?嬉しい?寂しい?悔しい?
これらのどれとも、「面白い」は仲良くできる
なかざわのイメージ: ゲーム=面白さ(ハマる、ツボ
る、etc…)を仲介者として、プレイヤーとコミ...
「このゲーム、何が面白い
の?」に対してスパァン!と答え
られる程度に練っておかな
いと、作ってるうちに
きっと心折れます
“ゲーム”周辺トピックス少々
ゲームの持つストレス解消面
どんなストレスを抱えているかは、プレイヤーによっ
て異なる
一概に「爽快感を追えばok」というわけではない
「これはゲームであっても遊びではない」もあり
いわゆるシリアスゲーム
ゲームの複雑さ
基本的に、やることが増えれば増えるほどプレイヤー
は脱落しやすくなる
ゲームを始めてすぐに20枚ぐらい「how to play」を
スクロールしていくとか、もう辛さしか無い
最小限に絞って「面白い?」を問う
ゲーミフィケーション?
Webサービスなどにゲームのエッセンスを活かすこと
利用者の行動モデルを規定し、その中で種々の感情
を喚起するような仕組みを作るという点ではシリア
スゲームと同じ
ゲーム自体とは、出発点が違う。主にコンテキスト
も違う。...
2Dゲームというものを
楽しく考える
2Dと3Dという話
次元…?
0次元から考えてみる
ラジオで野球中継を聞く
リアルサウンド∼風のリグレット∼
(故・飯野賢治氏)
次のスライドのような
ゲーム
次元を減らす
=想像力で補う余地を増やす
2Dゲームってどういうもの
だろう
奥行きのないゲーム?
https://www.youtube.com/watch?v=HR6rAmIGY1M のサムネイルより引用
http://www.jp.playstation.com/software/title/jp0576npjj00039_000000000000000001.html より引用
http://www.nintendo.co.jp/wii/vc/vc_fz/vc_fz_04.html より引用
2Dゲームというのを改めて
考える
軸がないというよりは、軸を固定したもの
1つの軸が固定されているからこそ、想像力をかきた
てられる
軸への介入を要素として取り込んだものもある
プレイヤーからすると、当然複雑性が増す
ここでようやく開発環境の話。
“何で作るか”
クリエイターがプレイヤーとコミュニケー
ションする上での足かせになりうるもの
動作面: 起動が遅い, 動作が遅い, 反応が悪い, 安定性が悪い
開発面
頭の中にあるものを実際に作ってみて結果を見れるまでに時間がかかる
実用的なものを作りあげるま...
“Playground”ってなんぞ
KLabが2011年の秋から独自開発した
2D/2.5D向けゲームエンジン
Playgroundのアーキテクチャ
http://www.klab.com/jp/press/130926.html
2011年秋、開発のきっかけ
モバイル向けの有力なクロスプラットフォームの2Dエン
ジンが無く、cocos2d-xが”cocos2d-1.0.1-x-0.9.2”として
初期リリースされた頃だった
ソースコードに対する完全なアクセスのもと、ソフ...
2011年秋、開発のきっかけ
高速に動作させたいモジュールをC++で書ける環境が欲し
かった
自社のゲーム要件に必要なライブラリやツールはどのみち
内製の必要があった
技術的なチャレンジとしても価値のあるものと考えられた
※なお、@muo_jpは主にこの周辺で
使われるツールの開発と、Android
向けの各種チューニングなどをして
きました(エンジン本体は大半を同
僚の天才プログラマが書いてます)
“Playground”の特徴
基本性能が高め
OpenGLのドローコールを自動的に最適化し、高速描
画を実現している(iPhone 3GSでも、ある程度の複雑
さまでなら60fpsを出せる)
あまり開発上で意識しなくてもパフォーマンスを
稼げるエリアが多い
低遅延なサウンド...
様々な環境で動作する
実動作環境はiOSかAndroidを想定しつつ、開発の利
便性のためにWindowsでも動作するようになってい
る
MacとHTML5はまだ実験中(最近Webブラウザ上へ
の移植を試みた)
ゲーム作りの柔軟性高め
主にLua言語を使い、応答性の良いクロスプラット
フォームなモバイルゲームを作れる
C++での拡張も書ける
C#サポートはまだ実験的
ゲームデータの扱いが強め
Unityでいうところのアセットバンドル(AssetBundle)
のように、ゲーム起動後に追加データをダウンロー
ドしてきて利用する仕組みもある
必要に応じてデータを暗号化して利用する仕組みを
持っている
全部入り
アプリ内課金の仕組みを標準で組み込んでいる
全てのソースにアクセスし、チューニングのヒントに
したり、更なる改善を施すことができる
全部無料(マジで)
“Playground”の弱いところ
GUIでペタペタとものを配置してプロパティを設定す
ればゲーム完成!とはいかない
エディタに弱いところいろいろある(クセがある=こな
れてない箇所が結構ある)し、ハイパーイケてるリア
ルタイムプレビューとかもない
利用人数が凄く少ない
前回のハッカソン!!
2013/11/02-03
第1回Playgroundハッカソン
腕利きのハッカー い
社内環境では平然とWindowsに統一さ
れていたが「Windows使いたくない!俺
はMacでやる!」といってMac向けの地雷
を踏み抜いて道を整備してくれた
@vvakameさん
「ネットワークアクセスのAPIドキュメン
ト無いじゃん!」といってOSS版と社内版
で微妙に異なるネットワークAPIを掘り進
み、共通ライブラリ化してくれた
@vvakameさん
「なんか新しいコードがコミットされたら
アプリを自動ビルドしてDeployGateに上げ
られるといいよねー」と唐突にMakefile書き
始めた@bols_blueさん。しかもMacより更
に地雷のUbuntu環境で。
ドキュメントとサンプルを読み
解き、エスパー全開で作業フ
ローを構築してくれた
@chun_ryoさん
もりもりとコードを書いてくれたHさん
と、ハッカソン発起から大半の仕切り
までやってくれた@mhidakaさん、時折
コードを書きつつも「画像素材ねー!」
となったら唐突にペンタブ取り出して制
作してくれた@garyumaruさん
ハッカソン中にエンジン中のリ
ソース開放ミス(バグ)を見つけ
てPull Requestを投げてくれた
@zaki50さん
C#→C++のコンバータに不足
していたforeach構文をゴリゴ
リ実装してくれた
@yfakariya(ふじわら)さん
物凄い勢いで地盤が整備され
ていくのを目の当たりにした
なので、けっこう進みやすくなってると思う
Playgroundでの開発の基本
Playground環境の導入
一式の入ったUSBメモリを回しま
す。ファイルコピーでポン、です
ちゃんとやるなら、https://github.com/KLab/PlaygroundOSS/
からソースを拾ってきてビルドなどです
実際にプロジェクトを触っ
てみる
めっちゃ頑張れば…
しかし今回は楽しんでいき
ましょう
特に、面白いゲームというのを
一緒に楽しんで考えてみましょう!
さて・・・そんな中で
軸を増やす・・・?
夢の中で った、ような……
http://www.madoka-magica.com/tv/story/01.html より引用
http://www.nintendo.co.jp/n09/vue/p_vwlj/ より引用
http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%9C%E3%83%BC%E3%82%A4 より引用
http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%9C
%E3%83%BC%E3%82%A4 より引用
1995年 2014年
完全に一致
1995年 2014年
もし、Oculus Riftを使って次の世代の2D
ゲームを作ってみたい!という方が居たら…
一緒に考えてみましょう。どんなのが面白いだろう?
PlaygroundはWindowsでも普通に使えるし、ネイティブ拡
張もやり放題なので、バーチャル...
Playground関連の参考URL
Playground導入

http://brightechno.com/blog/archives/150
PlaygroundのLuaインタフェース

http://lab.klab.org/Playg...
この3D全盛時代にもう一度考えたい2Dゲームのこと
この3D全盛時代にもう一度考えたい2Dゲームのこと
Upcoming SlideShare
Loading in...5
×

この3D全盛時代にもう一度考えたい2Dゲームのこと

4,407

Published on

Published in: Entertainment & Humor
0 Comments
15 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,407
On Slideshare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
8
Comments
0
Likes
15
Embeds 0
No embeds

No notes for slide

Transcript of "この3D全盛時代にもう一度考えたい2Dゲームのこと"

  1. 1. “Playground”でゲームづくり、 その前に @muo_jp / なかざわ けい, K Laboratory, KLab Inc. 2014/04/12, 2Dゲームハッカソン
  2. 2.  なかざわ けい   @muo_jp プログラミング19年目 29歳 (BASIC→C→PHP→Ruby→Python→C#2.0→C#3.0→C#4.0) 社会人 10年目(20歳∼)、経営学修士(IT業界の経営戦略論) KLab 4年目(Kラボラトリー所属 C#充) PlaygroundというゲームエンジンのOSSメンテナ
  3. 3. よく、雑な冗談をtwitterで 投げっぱなしてます
  4. 4. KLabでの仕事 携帯ブラウザ向けソーシャルゲームの開発
 →JSでのネイティブゲームエンジン評価・プロト
 →Androidアプリのアーキテクチャ設計・プロト
 →Playgroundの周辺ツール開発 その他なんでも
  5. 5. 今回の話は会社の公式見解では なく、超絶個人的な見解です
  6. 6. 先に軽くアンケート どのような業界の方? ゲーム/Web/他システム
 (さっき聞いた) どのような職種の方? 企画/クリエイティブ/開発 どんなもの作りたいかイメージ固まってる?
  7. 7. しばらく、Playgroundの話は しません
  8. 8. ゲーム作りたいですか? 面白いゲーム作りたいですか?
  9. 9. ゲームと2Dゲームの話
  10. 10. ゲームってなんだっけ
  11. 11. これをちゃんと考えないと 後が大変
  12. 12. ゲームは娯楽のひとつ
  13. 13. 娯楽 Entertainment
  14. 14. プレイヤーに 楽しんでもらってなんぼ
  15. 15. どう作るかよりも何を作る かのほうがはるかに大事
  16. 16. 幸い、このハッカソンは「楽 しむのが大事」であって、 アウトプットを過度に求め てない
  17. 17. 楽しみながら「面白いもの 作ろう」とひったすら考え て時間が終わっても良いと 思う ※個人の感想です
  18. 18. 感情と理性のバランス
  19. 19. 心震えるゲーム(Rez) 頭震えるゲーム(チェス)
  20. 20. 楽しんでゲームを作るために 思い出しておきたい子供心
  21. 21. まずはどんなゲームを作り たいか、必死で考える 安直に? なんとなくクイズのアレっぽいの∼とか なんとなくパズルのアレっぽいの∼とか 考えなしに作ったのはもう粗方どう仕様もない出来
  22. 22. 楽しく考えるヒントが要る
  23. 23. どんなもの作りたい? 遊んだ人にどんな感情を持って欲しいか 楽しい?悲しい?嬉しい?寂しい?悔しい? これらのどれとも、「面白い」は仲良くできる なかざわのイメージ: ゲーム=面白さ(ハマる、ツボ る、etc…)を仲介者として、プレイヤーとコミュニ ケーションするもの
  24. 24. 「このゲーム、何が面白い の?」に対してスパァン!と答え られる程度に練っておかな いと、作ってるうちに きっと心折れます
  25. 25. “ゲーム”周辺トピックス少々
  26. 26. ゲームの持つストレス解消面 どんなストレスを抱えているかは、プレイヤーによっ て異なる 一概に「爽快感を追えばok」というわけではない 「これはゲームであっても遊びではない」もあり いわゆるシリアスゲーム
  27. 27. ゲームの複雑さ 基本的に、やることが増えれば増えるほどプレイヤー は脱落しやすくなる ゲームを始めてすぐに20枚ぐらい「how to play」を スクロールしていくとか、もう辛さしか無い 最小限に絞って「面白い?」を問う
  28. 28. ゲーミフィケーション? Webサービスなどにゲームのエッセンスを活かすこと 利用者の行動モデルを規定し、その中で種々の感情 を喚起するような仕組みを作るという点ではシリア スゲームと同じ ゲーム自体とは、出発点が違う。主にコンテキスト も違う。そして、役割も違う
  29. 29. 2Dゲームというものを 楽しく考える
  30. 30. 2Dと3Dという話
  31. 31. 次元…?
  32. 32. 0次元から考えてみる
  33. 33. ラジオで野球中継を聞く
  34. 34. リアルサウンド∼風のリグレット∼ (故・飯野賢治氏)
  35. 35. 次のスライドのような ゲーム
  36. 36. 次元を減らす =想像力で補う余地を増やす
  37. 37. 2Dゲームってどういうもの だろう 奥行きのないゲーム?
  38. 38. https://www.youtube.com/watch?v=HR6rAmIGY1M のサムネイルより引用
  39. 39. http://www.jp.playstation.com/software/title/jp0576npjj00039_000000000000000001.html より引用
  40. 40. http://www.nintendo.co.jp/wii/vc/vc_fz/vc_fz_04.html より引用
  41. 41. 2Dゲームというのを改めて 考える 軸がないというよりは、軸を固定したもの 1つの軸が固定されているからこそ、想像力をかきた てられる 軸への介入を要素として取り込んだものもある プレイヤーからすると、当然複雑性が増す
  42. 42. ここでようやく開発環境の話。 “何で作るか”
  43. 43. クリエイターがプレイヤーとコミュニケー ションする上での足かせになりうるもの 動作面: 起動が遅い, 動作が遅い, 反応が悪い, 安定性が悪い 開発面 頭の中にあるものを実際に作ってみて結果を見れるまでに時間がかかる 実用的なものを作りあげるまでに時間がかかる 開発中のテンション途切れを招きやすい 運用面 開発したものを世に出すのにお金がかかる
  44. 44. “Playground”ってなんぞ
  45. 45. KLabが2011年の秋から独自開発した 2D/2.5D向けゲームエンジン
  46. 46. Playgroundのアーキテクチャ http://www.klab.com/jp/press/130926.html
  47. 47. 2011年秋、開発のきっかけ モバイル向けの有力なクロスプラットフォームの2Dエン ジンが無く、cocos2d-xが”cocos2d-1.0.1-x-0.9.2”として 初期リリースされた頃だった ソースコードに対する完全なアクセスのもと、ソフト ウェアスタックをすべてコントロールできる環境が欲し かった
  48. 48. 2011年秋、開発のきっかけ 高速に動作させたいモジュールをC++で書ける環境が欲し かった 自社のゲーム要件に必要なライブラリやツールはどのみち 内製の必要があった 技術的なチャレンジとしても価値のあるものと考えられた
  49. 49. ※なお、@muo_jpは主にこの周辺で 使われるツールの開発と、Android 向けの各種チューニングなどをして きました(エンジン本体は大半を同 僚の天才プログラマが書いてます)
  50. 50. “Playground”の特徴
  51. 51. 基本性能が高め OpenGLのドローコールを自動的に最適化し、高速描 画を実現している(iPhone 3GSでも、ある程度の複雑 さまでなら60fpsを出せる) あまり開発上で意識しなくてもパフォーマンスを 稼げるエリアが多い 低遅延なサウンド出力ライブラリを標準で持つ
  52. 52. 様々な環境で動作する 実動作環境はiOSかAndroidを想定しつつ、開発の利 便性のためにWindowsでも動作するようになってい る MacとHTML5はまだ実験中(最近Webブラウザ上へ の移植を試みた)
  53. 53. ゲーム作りの柔軟性高め 主にLua言語を使い、応答性の良いクロスプラット フォームなモバイルゲームを作れる C++での拡張も書ける C#サポートはまだ実験的
  54. 54. ゲームデータの扱いが強め Unityでいうところのアセットバンドル(AssetBundle) のように、ゲーム起動後に追加データをダウンロー ドしてきて利用する仕組みもある 必要に応じてデータを暗号化して利用する仕組みを 持っている
  55. 55. 全部入り アプリ内課金の仕組みを標準で組み込んでいる 全てのソースにアクセスし、チューニングのヒントに したり、更なる改善を施すことができる 全部無料(マジで)
  56. 56. “Playground”の弱いところ
  57. 57. GUIでペタペタとものを配置してプロパティを設定す ればゲーム完成!とはいかない エディタに弱いところいろいろある(クセがある=こな れてない箇所が結構ある)し、ハイパーイケてるリア ルタイムプレビューとかもない 利用人数が凄く少ない
  58. 58. 前回のハッカソン!!
  59. 59. 2013/11/02-03 第1回Playgroundハッカソン
  60. 60. 腕利きのハッカー い
  61. 61. 社内環境では平然とWindowsに統一さ れていたが「Windows使いたくない!俺 はMacでやる!」といってMac向けの地雷 を踏み抜いて道を整備してくれた @vvakameさん
  62. 62. 「ネットワークアクセスのAPIドキュメン ト無いじゃん!」といってOSS版と社内版 で微妙に異なるネットワークAPIを掘り進 み、共通ライブラリ化してくれた @vvakameさん
  63. 63. 「なんか新しいコードがコミットされたら アプリを自動ビルドしてDeployGateに上げ られるといいよねー」と唐突にMakefile書き 始めた@bols_blueさん。しかもMacより更 に地雷のUbuntu環境で。
  64. 64. ドキュメントとサンプルを読み 解き、エスパー全開で作業フ ローを構築してくれた @chun_ryoさん
  65. 65. もりもりとコードを書いてくれたHさん と、ハッカソン発起から大半の仕切り までやってくれた@mhidakaさん、時折 コードを書きつつも「画像素材ねー!」 となったら唐突にペンタブ取り出して制 作してくれた@garyumaruさん
  66. 66. ハッカソン中にエンジン中のリ ソース開放ミス(バグ)を見つけ てPull Requestを投げてくれた @zaki50さん
  67. 67. C#→C++のコンバータに不足 していたforeach構文をゴリゴ リ実装してくれた @yfakariya(ふじわら)さん
  68. 68. 物凄い勢いで地盤が整備され ていくのを目の当たりにした なので、けっこう進みやすくなってると思う
  69. 69. Playgroundでの開発の基本
  70. 70. Playground環境の導入
  71. 71. 一式の入ったUSBメモリを回しま す。ファイルコピーでポン、です ちゃんとやるなら、https://github.com/KLab/PlaygroundOSS/ からソースを拾ってきてビルドなどです
  72. 72. 実際にプロジェクトを触っ てみる
  73. 73. めっちゃ頑張れば…
  74. 74. しかし今回は楽しんでいき ましょう
  75. 75. 特に、面白いゲームというのを 一緒に楽しんで考えてみましょう!
  76. 76. さて・・・そんな中で
  77. 77. 軸を増やす・・・?
  78. 78. 夢の中で った、ような…… http://www.madoka-magica.com/tv/story/01.html より引用
  79. 79. http://www.nintendo.co.jp/n09/vue/p_vwlj/ より引用
  80. 80. http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%9C%E3%83%BC%E3%82%A4 より引用
  81. 81. http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%AB%E3%83%9C %E3%83%BC%E3%82%A4 より引用
  82. 82. 1995年 2014年
  83. 83. 完全に一致 1995年 2014年
  84. 84. もし、Oculus Riftを使って次の世代の2D ゲームを作ってみたい!という方が居たら… 一緒に考えてみましょう。どんなのが面白いだろう? PlaygroundはWindowsでも普通に使えるし、ネイティブ拡 張もやり放題なので、バーチャルボーイっぽいこととか、 更に未来へ行きたいという人が居れば、来週Playground自 体の拡張を頑張ってみます 着地させるのけっこう大変 できなかったらごめんなさい
  85. 85. Playground関連の参考URL Playground導入
 http://brightechno.com/blog/archives/150 PlaygroundのLuaインタフェース
 http://lab.klab.org/PlaygroundOSS/Doc/LuaAPI/ Lua入門
 http://dotinstall.com/lessons/basic_lua
 http://starcode.web.fc2.com/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×