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

gree_tech
gree_techgree_tech
『アナザーエデン 時空を超える猫』
スマートフォンでのRPG体験の実現のためにしてきたこと
2018/3/30
⻄⽥ 綾佑
『アナザーエデン 時空を超える猫』スマートフォンでのRPG体験の実現のためにしてきたこと
⻄⽥ 綾佑 (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体験
システム⾯から⽀えたRPG体験の
ための⼯夫
差異の解消 ≒ 進化
スマートフォン
ゲーム
コンシューマゲーム
との差異の解消
≒
?
よりコンシューマゲームっぽい作り⽅をしてみる
スマホゲーム vs コンシューマゲーム
スマホ コンシューマ
ゲームサイクル ホーム -> ゲーム ゲーム -> 設定
運⽤形態 サービス パッケージ
更新頻度 ⾼ 低
1プレイ時間 5分から10分 数⼗分
データ通信頻度 ⾼ 低
ダウンロード 分割か逐次 ⼀括
ユーザデータ サーバ ローカル
スマホゲーム vs コンシューマゲーム
スマホ コンシューマ
ゲームサイクル ホーム -> ゲーム ゲーム -> 設定
運⽤形態 サービス パッケージ
更新頻度 ⾼ 低
1プレイ時間 5分から10分 数⼗分
データ通信頻度 ⾼ 低
ダウンロード 分割か逐次 ⼀括
ユーザデータ サーバ ローカル
コンシューマライクのために
アナザーエデン の場合
スマホ コンシューマ アナザーエデン
ゲームサイクル ホーム -> ゲーム ゲーム -> 設定 ゲーム -> 設定
運⽤形態 サービス パッケージ サービス
更新頻度 ⾼ 低 中
1プレイ時間 5分から10分 数⼗分 数⼗分
データ通信頻度 ⾼ 低 ⾼ (Background)
ダウンロード 分割か逐次 ⼀括 選択性
ユーザデータ サーバ ローカル ハイブリッド
アナザーエデン の場合
スマホ コンシューマ アナザーエデン
ゲームサイクル ホーム -> ゲーム ゲーム -> 設定 ゲーム -> 設定
運⽤形態 サービス パッケージ サービス
更新頻度 ⾼ 低 中
1プレイ時間 5分から10分 数⼗分 数⼗分
データ通信頻度 ⾼ 低
⾼
(Background)
ダウンロード 分割か逐次 ⼀括 選択性
ユーザデータ サーバ ローカル ハイブリッド
オートセーブ機能
コンシューマライクの第⼀歩
オートセーブのゴール
• プレイヤーの没⼊感を邪魔しない
• ネットワーク環境に依存しない
• いつ中断しても途中からやり直せる
• 割り込みの多いスマフォでも納得感のある挙動を
• ゲームプレイ中、左上に「Auto Saving…」と
表⽰されるタイミングがある
• アプリをkillしても、最後に表⽰されたタイミン
グの状態でゲームが復帰する
「Auto Saving…」
『アナザーエデン 時空を超える猫』スマートフォンでのRPG体験の実現のためにしてきたこと
オートセーブのタイミング
• 各種設定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
『アナザーエデン 時空を超える猫』スマートフォンでのRPG体験の実現のためにしてきたこと
オートセーブまとめ
1.オートセーブ制御
2.キューイングとバックグラウンド通信の組み合わせ
アナザーエデンにおける⾮同期オートセーブを⽤いた
通信待ちストレスのないゲーム体験の実現
http://cedec.cesa.or.jp/2017/session/ENG/s58e0fb2eb6330/
https://www.slideshare.net/greetech/ss-79467627
http://gamebiz.jp/?p=192603
『アナザーエデン 時空を超える猫』スマートフォンでのRPG体験の実現のためにしてきたこと
膨⼤なイベントスクリプトから
創られたRPG体験
『アナザーエデン 時空を超える猫』スマートフォンでの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のキモ
• サーバ
• クライアントから完了報告が来るまでは、処理が終わっていな
いものとみなす
• 終わったときちんと⾔ってくるまで、何度も命令を送りなおす
• クライアント側
• 処理完了をかならず差分と⼀緒に保存する
• ⼆回実⾏するのを防ぐ
• ⼆回実⾏してもいいが、実⾏前の状態に巻き戻してからだ
『アナザーエデン 時空を超える猫』スマートフォンでのRPG体験の実現のためにしてきたこと
クライアントがデータ作っていることについて
クライアントがデータ作っていることについて
•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体験の実現のためにしてきたこと
1 of 62

Recommended

かわずと!第19回放送『吉里吉里講座』スライド by
かわずと!第19回放送『吉里吉里講座』スライドかわずと!第19回放送『吉里吉里講座』スライド
かわずと!第19回放送『吉里吉里講座』スライドtuna cook
1.8K views29 slides
かわずと!第19回放送『吉里吉里講座』スライド by
かわずと!第19回放送『吉里吉里講座』スライドかわずと!第19回放送『吉里吉里講座』スライド
かわずと!第19回放送『吉里吉里講座』スライドtuna cook
1.2K views29 slides
なんとなくわかるFF14大迷宮バハムートからの脱出 by
なんとなくわかるFF14大迷宮バハムートからの脱出なんとなくわかるFF14大迷宮バハムートからの脱出
なんとなくわかるFF14大迷宮バハムートからの脱出ohba haruyama
832 views6 slides
ノベルゲーム動的演出の考え方 by
ノベルゲーム動的演出の考え方ノベルゲーム動的演出の考え方
ノベルゲーム動的演出の考え方tuna cook
37.3K views71 slides
いつもどおりのテンションでしゃべるEightの怪談 by
いつもどおりのテンションでしゃべるEightの怪談いつもどおりのテンションでしゃべるEightの怪談
いつもどおりのテンションでしゃべるEightの怪談悠滋 山本
470 views42 slides
うえぽんでこれーしょん!製作報告 by
うえぽんでこれーしょん!製作報告うえぽんでこれーしょん!製作報告
うえぽんでこれーしょん!製作報告mabo207
173 views42 slides

More Related Content

More from gree_tech

GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介 by
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介
GREE VR Studio Laboratory「XR-UX Devプロジェクト」の成果紹介gree_tech
229 views13 slides
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表 by
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表
REALITYアバターを様々なメタバースで活躍させてみた - GREE VR Studio Laboratory インターン研究成果発表gree_tech
1K views18 slides
アプリ起動時間高速化 ~推測するな、計測せよ~ by
アプリ起動時間高速化 ~推測するな、計測せよ~アプリ起動時間高速化 ~推測するな、計測せよ~
アプリ起動時間高速化 ~推測するな、計測せよ~gree_tech
1.9K views84 slides
長寿なゲーム事業におけるアプリビルドの効率化 by
長寿なゲーム事業におけるアプリビルドの効率化長寿なゲーム事業におけるアプリビルドの効率化
長寿なゲーム事業におけるアプリビルドの効率化gree_tech
347 views116 slides
Cloud Spanner をより便利にする運用支援ツールの紹介 by
Cloud Spanner をより便利にする運用支援ツールの紹介Cloud Spanner をより便利にする運用支援ツールの紹介
Cloud Spanner をより便利にする運用支援ツールの紹介gree_tech
685 views31 slides
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介 by
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介
WFSにおけるCloud SpannerとGKEを中心としたGCP導入事例の紹介gree_tech
601 views28 slides

More from gree_tech(20)

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

Recently uploaded

概要.pdf by
概要.pdf概要.pdf
概要.pdfTaira Shimizu
6 views1 slide
ウォーターフォール開発で生 産性を測る指標 by
ウォーターフォール開発で生 産性を測る指標ウォーターフォール開発で生 産性を測る指標
ウォーターフォール開発で生 産性を測る指標Kouhei Aoyagi
55 views13 slides
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私修治 松浦
208 views36 slides
SSH超入門 by
SSH超入門SSH超入門
SSH超入門Toru Miyahara
490 views21 slides
Najah Matsuo Self Introduction by
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self IntroductionNajahMatsuo
10 views29 slides
システム概要.pdf by
システム概要.pdfシステム概要.pdf
システム概要.pdfTaira Shimizu
44 views1 slide

Recently uploaded(7)

ウォーターフォール開発で生 産性を測る指標 by Kouhei Aoyagi
ウォーターフォール開発で生 産性を測る指標ウォーターフォール開発で生 産性を測る指標
ウォーターフォール開発で生 産性を測る指標
Kouhei Aoyagi55 views
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私 by 修治 松浦
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
JISTA月例会2023年12月 書籍『3カ月で改善!システム障害対応実践ガイド』ご紹介+失敗学と障害対応と私
修治 松浦208 views
Najah Matsuo Self Introduction by NajahMatsuo
Najah Matsuo Self IntroductionNajah Matsuo Self Introduction
Najah Matsuo Self Introduction
NajahMatsuo10 views
onewedge_companyguide1 by ONEWEDGE1
onewedge_companyguide1onewedge_companyguide1
onewedge_companyguide1
ONEWEDGE166 views

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