SlideShare a Scribd company logo
『アナザーエデン 時空を超える猫』
スマートフォンでのRPG体験の実現のためにしてきたこと
2018/3/30
⻄⽥ 綾佑
⻄⽥ 綾佑 (Nishida Ryosuke)
Wright Flyer Studios
アナザーエデン
@hosi_mo
2014年 東京⼤学⼤学院 情報理⼯学系研究科修了
同年 グリー株式会社 ⼊社
消滅都市 (2014/5/26~)
ららマジ (2017/1/25~)
武器よさらば (2017/3/30~)
アナザーエデン (2017/4/12~)
ダンまち 〜メモリア・フレーゼ〜 (2017/6/19~)
VR スタジオも内包
2014年2⽉21⽇設⽴
現在5年⽬の社内ゲームスタジオ
Wright Flyer Studios
⽬次
•システム⾯から⽀えたRPG体験のための⼯夫
•膨⼤なイベントスクリプトから創られたRPG体験
システム⾯から⽀えたRPG体験の
ための⼯夫
差異の解消 ≒ 進化
スマートフォン
ゲーム
コンシューマゲーム
との差異の解消
≒
?
よりコンシューマゲームっぽい作り⽅をしてみる
スマホゲーム vs コンシューマゲーム
スマホ コンシューマ
ゲームサイクル ホーム -> ゲーム ゲーム -> 設定
運⽤形態 サービス パッケージ
更新頻度 ⾼ 低
1プレイ時間 5分から10分 数⼗分
データ通信頻度 ⾼ 低
ダウンロード 分割か逐次 ⼀括
ユーザデータ サーバ ローカル
スマホゲーム vs コンシューマゲーム
スマホ コンシューマ
ゲームサイクル ホーム -> ゲーム ゲーム -> 設定
運⽤形態 サービス パッケージ
更新頻度 ⾼ 低
1プレイ時間 5分から10分 数⼗分
データ通信頻度 ⾼ 低
ダウンロード 分割か逐次 ⼀括
ユーザデータ サーバ ローカル
コンシューマライクのために
アナザーエデン の場合
スマホ コンシューマ アナザーエデン
ゲームサイクル ホーム -> ゲーム ゲーム -> 設定 ゲーム -> 設定
運⽤形態 サービス パッケージ サービス
更新頻度 ⾼ 低 中
1プレイ時間 5分から10分 数⼗分 数⼗分
データ通信頻度 ⾼ 低 ⾼ (Background)
ダウンロード 分割か逐次 ⼀括 選択性
ユーザデータ サーバ ローカル ハイブリッド
アナザーエデン の場合
スマホ コンシューマ アナザーエデン
ゲームサイクル ホーム -> ゲーム ゲーム -> 設定 ゲーム -> 設定
運⽤形態 サービス パッケージ サービス
更新頻度 ⾼ 低 中
1プレイ時間 5分から10分 数⼗分 数⼗分
データ通信頻度 ⾼ 低
⾼
(Background)
ダウンロード 分割か逐次 ⼀括 選択性
ユーザデータ サーバ ローカル ハイブリッド
オートセーブ機能
コンシューマライクの第⼀歩
オートセーブのゴール
• プレイヤーの没⼊感を邪魔しない
• ネットワーク環境に依存しない
• いつ中断しても途中からやり直せる
• 割り込みの多いスマフォでも納得感のある挙動を
• ゲームプレイ中、左上に「Auto Saving…」と
表⽰されるタイミングがある
• アプリをkillしても、最後に表⽰されたタイミン
グの状態でゲームが復帰する
「Auto Saving…」
オートセーブのタイミング
• 各種設定UIクローズ時
• フィールドのエリア移動時
• luaイベント終了時
• シナリオ進捗時
• バトル終了時
• 1分に1回(プレイ時間が積み上がる)
ステートが変わる時にセーブ処理
ExplorerState 装備画⾯などのUI表⽰
イベントスクリプト実⾏
エリア移動中
バトル中
釣り中
プレイヤー操作中
ExplorerStateに戻る
タイミングでオートセーブ
FishingState
WarpState
BattleState
EventScriptStat
GlobalUIState
クライアントからサーバへの同期
GameServer
msgpack
AutoSave!
msgpack
Push
diff
Background
}Size = 100
Request Queue
Diff
リクエストごとローカルDBに保存
たくさんリクエストくる
スケーラビリテイだいじ
msgpack
msgpack
msgpack
msgpack
バックグラウンドで同期することで
通信していないか
のように⾒える
通信状態にプレイ
を邪魔されない
レイテンシを気にせず
DBを選択できる
プレイヤー Game Server
オートセーブまとめ
1.オートセーブ制御
2.キューイングとバックグラウンド通信の組み合わせ
アナザーエデンにおける⾮同期オートセーブを⽤いた
通信待ちストレスのないゲーム体験の実現
http://cedec.cesa.or.jp/2017/session/ENG/s58e0fb2eb6330/
https://www.slideshare.net/greetech/ss-79467627
http://gamebiz.jp/?p=192603
膨⼤なイベントスクリプトから
創られたRPG体験
イベントスクリプト
C++製 RPGエンジンのAPIをできる限り多くLuaに解放
イベントスクリプトの種類
Area Script
AreaEvent Script
Story Script
Quest Script
Lottery Script
Enemy Script
Skill Script
- 1エリア1つ。毎フレupdateされる。ランチャ機能付き
- フィールドのギミック全般 ⼀番量が多い
- メインストーリーが記述される。キャラ劇なども記述
- サブクエストが記述される。キャラ劇なども記述
- 出会いキャラ劇の実装
- バトル中の特殊キャラのギミック
- バトル中の味⽅キャラの特殊ギミック
Area Script
AreaEvent Script
- 1エリア1つ。毎フレupdateされる。ランチャ機能付き
- フィールドのギミック全般 ⼀番量が多い
フィールド系 フィールド班
AreaScript
Area EventScriptをたくさん登録してる
AreaEvent Script
部屋の中へ移動
バルーンを表⽰
タップするとプレイヤーのHPを満タンにする
Story Script
Quest Script
Lottery Script
- メインストーリーが記述される。キャラ劇なども記述
- サブクエストが記述される。キャラ劇なども記述
- 出会いキャラ劇の実装
シナリオ系 シナリオ班
QuestScript
AreaScriptからフラグをみて追加される
エルジオンまで到達していたら、
クエスト解放
if Common_isQuestStepActive(quest_step_erujion_chihatokiwokoete_step1) then
Common_registQuestEvent(quest_erujion_chihatokiwokoete, "step1", true)
Enemy Script
Skill Script
- バトル中の特殊キャラのギミック
- バトル中のスキルの特殊ギミック
EnemyScript
特定のボスでHPが⼀定以上削れたら
特殊ギミック発動 等
バトル系 バトル班
製作体制
フィールド班 シナリオ班 バトル班
- シナリオ演出
- キャラ劇の演出
- フィールド作成 (マップエディタ)
- フィールドギミック組み込み
- フィールドパラメータ調整
- fogや天候調整
- シェーダプログラム調整
- レベルデザイン
- バトルギミック設計
レベルデザインから
実装まで⾏う
演出から
実装まで⾏う
フィールドデザインから
実装まで⾏う
アートチームアートチーム アートチーム
製作体制
イベントスクリプト(Lua)を記述できる⼈が25⼈
チーム全体が70~80⼈
⼈によってそれぞれに味わい深いイベントが組まれる
イベントスクリプト事例
実装を⾒てみましょう
⼆度寝
⻤ごっこ
時間によって変化する床
フィールド効果事例
制御をみてみましょう
カメラの画⾓を毎フレーム調整
if pos.x <= 0 and pos.x >= posD.x then
Common_setCameraInfoFOV(fov)
Common_setCameraInfoAngleV(15)
elseif pos.x <= posD.x then
Common_setCameraInfoFOV(60)
Common_setCameraInfoAngleV(15)
特定の箇所のみキャラクターのライトを変更 if v_chr_1.x >= v_left.x and v_chr_1.x <= v_right.x
then
Common_setCharacterLightColor(0.1, 1.4, 1.5, 1.3,
1)
else
特定の場所で全体ライトを変更 if pos.z < posT1.z and pos.x > posT2.x and pos.x <= posT3.x
then
Common_setForegroundLightColor(0.3, 0.7, 0.7, 0.7, 1)
Common_setCharacterLightColor(0.3, 0.7, 0.7, 0.7, 1)
else
Common_setForegroundLightColor(0.3, 1, 1, 1, 1)
Common_setCharacterLightColor(0.3, 1, 1, 1, 1)
余談
⻤のようなミニゲームスクリプト
運⽤とイベントスクリプト
これらの⼊稿にもはやエンジニアという職種は関わっていない
フィールド班
シナリオ班
バトル班
PC版ビルド
(Mac, Windows)
Shift + Rでリロード
イベントスクリプト修正
ok? ⼊稿
APIリスト
C++がLuaに公開してるAPI数 525
バトル
カメラ制御
フィールドオブジェクト制御
UI
アイテム
サウンド、ムービー
フィールドエフェクト (fogとか影とか)
移動
フラグ
- 約 50 API
- 約 30 API
- 約 150 API
- 約 20 API
- 約 10 API
- 約 20 API
- 約 100 API
- 約 30 API
- 約 100 API
スクリプトの規模
リリース時(2017年4⽉) : 63万⾏
20170531 709077 +72238
20170630 804724 +95647
20170731 861798 +57074
1年で100万⾏ペース
現在(2018年3⽉) : 146万⾏
イベントスクリプトに
最⼤限の裁量を
スクリプトまとめ
•C++製 RPGエンジンのAPIをできる限り多くLuaに解放
•イベントスクリプト x オートセーブの合わせ技
•職⼈スクリプター
セキュリティの話
クライアント主導のデータ変更
サーバにロジックを置くケース
サーバにロジックを置くケース
1. サーバからクライアントへ命令送信(APIコールのレスポンスに⼊れる
• クライアントから完了通知が来るまでサーバの命令は不揮発性
2. クライアントがデータを変更
3. オートセーブ時に差分をサーバへ送信(完了済の命令idも送信
4. サーバは命令を削除
サーバからデータ更新命令を送信
Operation Builder
OperationBuilderの流れ : 図
diff
API Call
抽選
OperationBuilde
DB 変
AutoSave
出会い実⾏
命令削除完了報告
OperationBuilderのキモ
• サーバ
• クライアントから完了報告が来るまでは、処理が終わっていな
いものとみなす
• 終わったときちんと⾔ってくるまで、何度も命令を送りなおす
• クライアント側
• 処理完了をかならず差分と⼀緒に保存する
• ⼆回実⾏するのを防ぐ
• ⼆回実⾏してもいいが、実⾏前の状態に巻き戻してからだ
クライアントがデータ作っていることについて
クライアントがデータ作っていることについて
•Luaに全開放している
• データ群、スクリプト群、DB群は暗号化
• イベントスクリプトのチェックサムlogを収集
• メモリも単純なチートツールからは⾒れないよう難読化
• データの発⾏は出所がわかるように全てにタグをつける
• 何か怪しいと思ったらlogを遡る
チートリスクへの対応
• クライアント > サーバとすると、チートリスクが⼀気に増⼤する
• 制御不能になる可能性さえある
• だが、いずれにせよ「完璧に網羅して塞ぐ」はありえない
• ログを適切にとり、調査可能にする
• 個別に⼿続きを⽤意して、ひとつひとつ認証していく
署名
終わりに
•システム⾯から⽀えたRPG体験のための⼯夫
•膨⼤なイベントスクリプトから創られたRPG体験
本格スマホRPG『アナザーエデン』開発の裏側を包み隠さずお話します 〜コード
資産も無く、チームとしての経験も豊富ではない中エンジニアはどう挑んだのか〜
http://cedec.cesa.or.jp/2017/session/ENG/s591428ca963a1/
https://www.youtube.com/watch?v=dEZ31MWhC40
http://gamebiz.jp/?p=192924
引き続き、RPGに全⼒で挑みます!
『アナザーエデン 時空を超える猫』スマートフォンでのRPG体験の実現のためにしてきたこと

More Related Content

More from gree_tech

GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
gree_tech
 
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
gree_tech
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
gree_tech
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
gree_tech
 
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
gree_tech
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
gree_tech
 
海外展開と負荷試験
海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験
gree_tech
 
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
gree_tech
 
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
gree_tech
 
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
gree_tech
 
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件についてデータエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
gree_tech
 
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジーシェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
gree_tech
 
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
gree_tech
 
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
gree_tech
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
gree_tech
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
gree_tech
 
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
gree_tech
 
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
gree_tech
 
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
gree_tech
 

More from gree_tech (20)

GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
 
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
 
アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~
 
長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化
 
Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介
 
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
 
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現についてSINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
SINoALICE -シノアリス- Google Cloud Firestoreを用いた観戦機能の実現について
 
海外展開と負荷試験
海外展開と負荷試験海外展開と負荷試験
海外展開と負荷試験
 
翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み翻訳QAでのテスト自動化の取り組み
翻訳QAでのテスト自動化の取り組み
 
組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い組み込み開発のテストとゲーム開発のテストの違い
組み込み開発のテストとゲーム開発のテストの違い
 
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介サーバーフレームワークに潜んでる脆弱性検知ツール紹介
サーバーフレームワークに潜んでる脆弱性検知ツール紹介
 
データエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件についてデータエンジニアとアナリストチーム兼務になった件について
データエンジニアとアナリストチーム兼務になった件について
 
シェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジーシェアドサービスとしてのデータテクノロジー
シェアドサービスとしてのデータテクノロジー
 
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
「ドキュメント見つからない問題」をなんとかしたい - 横断検索エンジン導入の取り組みについて-
 
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
「Atomic Design × Nuxt.js」コンポーネント毎に責務の範囲を明確にしたら幸せになった話
 
比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)比較サイトの検索改善(SPA から SSR に変換)
比較サイトの検索改善(SPA から SSR に変換)
 
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
コードの自動修正によって実現する、機能開発を止めないフレームワーク移行
 
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
「やんちゃ、足りてる?」〜ヤンマガWebで挑戦を続ける新入りエンジニア〜
 
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
法人向けメタバースプラットフォームの開発の裏側をのぞいてみた(仮)
 
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
基調講演 -グリーが目指すエンジニアのあり方、チームのあり方-
 

Recently uploaded

ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
miyp
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
Toru Miyahara
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Toru Miyahara
 
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
Kurata Takeshi
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
Masatsugu Matsushita
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
K Kinzal
 
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
Yuuitirou528 default
 
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
Toru Miyahara
 

Recently uploaded (8)

ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
ビジュアルプログラミングIotLT17-オープンソース化されたビジュアルプログラミング環境Noodlの紹介
 
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料今さら聞けない人のためのDevOps超入門 OSC2024名古屋  セミナー資料
今さら聞けない人のためのDevOps超入門 OSC2024名古屋 セミナー資料
 
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
Linuxサーバー構築 学習のポイントと環境構築 OSC2024名古屋 セミナー資料
 
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
人的資本経営のための地理情報インテリジェンス 作業パターン分析と心身状態把握に関する実証事例
 
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
本の感想共有会「データモデリングでドメインを駆動する」本が突きつける我々の課題について
 
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHubCompute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
Compute Units/Budget最適化 - Solana Developer Hub Online 6 #SolDevHub
 
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料「VRC海のおはなし会_深海探査とロボットのお話」発表資料
「VRC海のおはなし会_深海探査とロボットのお話」発表資料
 
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
エンジニアのセルフブランディングと技術情報発信の重要性 テクニカルライターになろう 講演資料
 

『アナザーエデン 時空を超える猫』スマートフォンでのRPG体験の実現のためにしてきたこと