“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ラボラトリー所属 C#充)
PlaygroundというゲームエンジンのOSSメンテナ
よく、雑な冗談をtwitterで
投げっぱなしてます
KLabでの仕事
携帯ブラウザ向けソーシャルゲームの開発

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

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

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

(さっき聞いた)
どのような職種の方? 企画/クリエイティブ/開発
どんなもの作りたいかイメージ固まってる?
しばらく、Playgroundの話は
しません
ゲーム作りたいですか?
面白いゲーム作りたいですか?
ゲームと2Dゲームの話
ゲームってなんだっけ
これをちゃんと考えないと
後が大変
ゲームは娯楽のひとつ
娯楽 Entertainment
プレイヤーに
楽しんでもらってなんぼ
どう作るかよりも何を作る
かのほうがはるかに大事
幸い、このハッカソンは「楽
しむのが大事」であって、
アウトプットを過度に求め
てない
楽しみながら「面白いもの
作ろう」とひったすら考え
て時間が終わっても良いと
思う
※個人の感想です
感情と理性のバランス
心震えるゲーム(Rez)
頭震えるゲーム(チェス)
楽しんでゲームを作るために
思い出しておきたい子供心
まずはどんなゲームを作り
たいか、必死で考える
安直に?
なんとなくクイズのアレっぽいの∼とか
なんとなくパズルのアレっぽいの∼とか
考えなしに作ったのはもう粗方どう仕様もない出来
楽しく考えるヒントが要る
どんなもの作りたい?
遊んだ人にどんな感情を持って欲しいか
楽しい?悲しい?嬉しい?寂しい?悔しい?
これらのどれとも、「面白い」は仲良くできる
なかざわのイメージ: ゲーム=面白さ(ハマる、ツボ
る、etc…)を仲介者として、プレイヤーとコミュニ
ケーションするもの
「このゲーム、何が面白い
の?」に対してスパァン!と答え
られる程度に練っておかな
いと、作ってるうちに
きっと心折れます
“ゲーム”周辺トピックス少々
ゲームの持つストレス解消面
どんなストレスを抱えているかは、プレイヤーによっ
て異なる
一概に「爽快感を追えばok」というわけではない
「これはゲームであっても遊びではない」もあり
いわゆるシリアスゲーム
ゲームの複雑さ
基本的に、やることが増えれば増えるほどプレイヤー
は脱落しやすくなる
ゲームを始めてすぐに20枚ぐらい「how to play」を
スクロールしていくとか、もう辛さしか無い
最小限に絞って「面白い?」を問う
ゲーミフィケーション?
Webサービスなどにゲームのエッセンスを活かすこと
利用者の行動モデルを規定し、その中で種々の感情
を喚起するような仕組みを作るという点ではシリア
スゲームと同じ
ゲーム自体とは、出発点が違う。主にコンテキスト
も違う。そして、役割も違う
2Dゲームというものを
楽しく考える
2Dと3Dという話
次元…?
0次元から考えてみる
ラジオで野球中継を聞く
リアルサウンド∼風のリグレット∼
(故・飯野賢治氏)
次のスライドのような
ゲーム
この3D全盛時代にもう一度考えたい2Dゲームのこと
次元を減らす
=想像力で補う余地を増やす
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 より引用
この3D全盛時代にもう一度考えたい2Dゲームのこと
1995年 2014年
完全に一致
1995年 2014年
もし、Oculus Riftを使って次の世代の2D
ゲームを作ってみたい!という方が居たら…
一緒に考えてみましょう。どんなのが面白いだろう?
PlaygroundはWindowsでも普通に使えるし、ネイティブ拡
張もやり放題なので、バーチャルボーイっぽいこととか、
更に未来へ行きたいという人が居れば、来週Playground自
体の拡張を頑張ってみます
着地させるのけっこう大変
できなかったらごめんなさい
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/

More Related Content

PDF
13.11.12 Tech Hills #7 Playground - introduction
PDF
コードしか書けないエンジニアがゲームを作るには。みんなで作る:ccocos2d-xゲーム開発
PPTX
エンジン戦略におけるブリッジエンジニアの役割
PDF
Cocos2d-x x iBeacon Bluetoothを使ったゲームを作ろう
PDF
「RAD Studio XE5によるマルチ言語/マルチデバイス開発の進め方」
PDF
Jokerscriptを勝手に紹介
PDF
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
PDF
Unity sdk-plugin
13.11.12 Tech Hills #7 Playground - introduction
コードしか書けないエンジニアがゲームを作るには。みんなで作る:ccocos2d-xゲーム開発
エンジン戦略におけるブリッジエンジニアの役割
Cocos2d-x x iBeacon Bluetoothを使ったゲームを作ろう
「RAD Studio XE5によるマルチ言語/マルチデバイス開発の進め方」
Jokerscriptを勝手に紹介
Web制作で培ってきたFlashのリッチな表現力をモバイルアプリに
Unity sdk-plugin

What's hot (20)

ODP
Unity ネイティブプラグインの作成について
PPTX
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
PDF
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
PDF
HTML5でハイブリットなアプリ開発をアレしてみた件
PDF
SmartARの使い方(基本編)
PDF
Unity開発ロードマップ最新情報
PDF
5分でわかる Unity Forma
PDF
The forefront of html5 implementation
PDF
チャットボット開発を取り巻く環境と Cogbot コミュニティ
PPTX
C# で i phone ゲーム開発
PDF
Unity MARSハンズオンセミナー(7月15日号) - Unityステーション
PPTX
ia-cloudとNodeREDで作る工場IoT–センサ接続やダッシュボードのカスタムNode開発秘話
PDF
Remote Development with Visual Studio Code & A clean dev env, working every ...
PDF
Unity2019 注目機能まとめ
PDF
VS Code新機能紹介 2020-2021
PDF
de:code 夏まつり クイズクライアント作ったよ!
PPTX
Hacktoberfest 概要、Node-REDプロジェクト貢献手順
PDF
Win32 APIをてなずけよう
PDF
Xamarin と Visual Studio でまとめて作る iOS / Android / Windows アプリ ( Developers Summ...
PPTX
UnityでUI開発を高速化した件
Unity ネイティブプラグインの作成について
【Unity道場 自動車編】空間再現ディスプレイの概要と活用事例
VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験
HTML5でハイブリットなアプリ開発をアレしてみた件
SmartARの使い方(基本編)
Unity開発ロードマップ最新情報
5分でわかる Unity Forma
The forefront of html5 implementation
チャットボット開発を取り巻く環境と Cogbot コミュニティ
C# で i phone ゲーム開発
Unity MARSハンズオンセミナー(7月15日号) - Unityステーション
ia-cloudとNodeREDで作る工場IoT–センサ接続やダッシュボードのカスタムNode開発秘話
Remote Development with Visual Studio Code & A clean dev env, working every ...
Unity2019 注目機能まとめ
VS Code新機能紹介 2020-2021
de:code 夏まつり クイズクライアント作ったよ!
Hacktoberfest 概要、Node-REDプロジェクト貢献手順
Win32 APIをてなずけよう
Xamarin と Visual Studio でまとめて作る iOS / Android / Windows アプリ ( Developers Summ...
UnityでUI開発を高速化した件
Ad

Viewers also liked (20)

PDF
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
PDF
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
PDF
asm.jsとWebAssemblyって実際なんなの?
PDF
とある会社のエンジニアたちのAndroidへのフリーダムな取り組み
KEY
Android好きがWindows Phone開発を始めてみた / 12.04.23 Bar Windows Phone LT
PDF
kosenconf_Tsukuba_sciences_slide
PDF
Wtidev0227 tmokita
PDF
線形写像を行列で表現しよう
PPTX
Emscriptenと不思議のダンジョン
PDF
13.08.10 7行110bytesで構文を拡張 出来るReVIEWの話
PDF
Webブラウザで使えるいろんな処理系
PPTX
Attention-based NMT description
PDF
ChainerによるRNN翻訳モデルの実装+@
PPTX
Backand Presentation
PDF
PHP7はなぜ速いのか
PDF
Encoder-decoder 翻訳 (TISハンズオン資料)
PDF
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
ODP
Unityは神,Unrealは現実
PDF
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PDF
Droid kaigiプレゼン
UnrealEngineが5日間でasm.js化できたと聞いた俺たちは…
Webの未来 〜 PNaClとasm.jsでカワルミライ - いま、モバイルWebの先端で起こっていること
asm.jsとWebAssemblyって実際なんなの?
とある会社のエンジニアたちのAndroidへのフリーダムな取り組み
Android好きがWindows Phone開発を始めてみた / 12.04.23 Bar Windows Phone LT
kosenconf_Tsukuba_sciences_slide
Wtidev0227 tmokita
線形写像を行列で表現しよう
Emscriptenと不思議のダンジョン
13.08.10 7行110bytesで構文を拡張 出来るReVIEWの話
Webブラウザで使えるいろんな処理系
Attention-based NMT description
ChainerによるRNN翻訳モデルの実装+@
Backand Presentation
PHP7はなぜ速いのか
Encoder-decoder 翻訳 (TISハンズオン資料)
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
Unityは神,Unrealは現実
PHP7で変わること ——言語仕様とエンジンの改善ポイント
Droid kaigiプレゼン
Ad

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

PPTX
20120204高専カンファ岐阜「簡単なゲーム制作」
PDF
ごちうさ Advent Calendar
PDF
20131123 playgroundハッカソン
PDF
【公開用】モバイルオンラインゲーム開発を支える早く、安く、使いやすいサーバインフラ構築
PDF
C#でゲームを作る2016 第5回
PPT
IEとメモ帳でかんたんゲーム開発
PDF
ゲームとUIの関係
PDF
〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド
PDF
【Unity道場 幕張スペシャル3】「Playground」を魔改造!? ゲームデザイン授業への活用
PDF
I phone勉強会 2010_03_06_gameloop
PDF
30分で分かった気になるソーシャルゲーム入門
PDF
面白いゲームを作る方法
PPTX
スマートフォン勉強会 関東 19
PDF
ゲーム業界から見たアジャイル開発
PDF
土下座パラダイスはこうして生まれた
PDF
rogyゼミ第2回 ニックさん
PDF
Sig App4
PDF
GDDでPlayNを見てゾクっとしたなど
PPTX
すごろくゲームでPlayFabの活用を検討
PDF
大規模JavaScript開発
20120204高専カンファ岐阜「簡単なゲーム制作」
ごちうさ Advent Calendar
20131123 playgroundハッカソン
【公開用】モバイルオンラインゲーム開発を支える早く、安く、使いやすいサーバインフラ構築
C#でゲームを作る2016 第5回
IEとメモ帳でかんたんゲーム開発
ゲームとUIの関係
〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド
【Unity道場 幕張スペシャル3】「Playground」を魔改造!? ゲームデザイン授業への活用
I phone勉強会 2010_03_06_gameloop
30分で分かった気になるソーシャルゲーム入門
面白いゲームを作る方法
スマートフォン勉強会 関東 19
ゲーム業界から見たアジャイル開発
土下座パラダイスはこうして生まれた
rogyゼミ第2回 ニックさん
Sig App4
GDDでPlayNを見てゾクっとしたなど
すごろくゲームでPlayFabの活用を検討
大規模JavaScript開発

More from Kei Nakazawa (17)

PPTX
ScalaでASICやFPGA用の回路を設計するChisel
PDF
C#からSORACOMを管理できるようにした話(SoraCommonNet)
PDF
15.06.27 実録 ソフトウェア開発者が FPGAを独習した最初の3歩@RTLを語る会(9)
PDF
15.05.17 ゆるふわRe:VIEW'erの近況
PDF
13.11.02 inside playground(抄)
PDF
13.11.02 playgroundthon環境構築
KEY
12.11.12 めいめいについて考えること
KEY
12.09.08 明星和楽2012 KLabハンズオンセッション
KEY
12.08.25 tab api hackathon
KEY
キャバァーン! サツバツエアアイオー弐〇壱弐
KEY
12.04.22 勉強会イントロ
KEY
12.03.17 第1回NFC勉強会資料
KEY
11.12.21 Lecturedroid 02
KEY
11.11.01 非公式懇親会LT(せきとばったー)
KEY
11.11.22 かなり役立つ競技プログラミング
KEY
11.05.21 Google I/O報告会 in 東京 なかざわ資料
PDF
ABC2011W 翻訳プロジェクト@muo_jp
ScalaでASICやFPGA用の回路を設計するChisel
C#からSORACOMを管理できるようにした話(SoraCommonNet)
15.06.27 実録 ソフトウェア開発者が FPGAを独習した最初の3歩@RTLを語る会(9)
15.05.17 ゆるふわRe:VIEW'erの近況
13.11.02 inside playground(抄)
13.11.02 playgroundthon環境構築
12.11.12 めいめいについて考えること
12.09.08 明星和楽2012 KLabハンズオンセッション
12.08.25 tab api hackathon
キャバァーン! サツバツエアアイオー弐〇壱弐
12.04.22 勉強会イントロ
12.03.17 第1回NFC勉強会資料
11.12.21 Lecturedroid 02
11.11.01 非公式懇親会LT(せきとばったー)
11.11.22 かなり役立つ競技プログラミング
11.05.21 Google I/O報告会 in 東京 なかざわ資料
ABC2011W 翻訳プロジェクト@muo_jp

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