Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
RPGにおけるイベント
駆動型の設計と実装
2015/12/1
プログラマー/ディレクター
朝比奈むかで
!ご注意!
• これはまだ修正中内容です
• 実際の講演時のものと違う可能性があります
• 後日、加筆修正版が更新される予定です
アジェンダ
• 自己紹介
• イベント駆動型とは?
• RPGの設計について
• イベント駆動型の実装方法
• まとめ
自己紹介
• 朝比奈むかで(@asahina_muakde)
• モバイル・コンソール開発経験
• 普段はプログラマーですが、
ディレクターも経験。
ゲームデザインに熱心に研究中。
!注意点(1)
• 研究や既出に基づく考察ではない
• 開発関係・リリースしたタイトルでの事例
• ゲームデザインは3年程前までの内容
!注意点(2)
• 用語省略させていただきますm(__)m
用語 略称
ロールプレイングゲーム
(ゲームデザイン)
RPG
オブジェクト
(処理単位・ゲームオブジェクト)
OBJ
クラシックスタイル
ロールプレイングゲーム
JRPG
イベント駆動型とは?
イベント駆動型とは?
• 具体的にはイベント駆動型プログラミングのこと
→“イベントドリブン”とも呼ばれる
• 特定のイベント(キー押した、マウスクリック)
等が発生した時に処理が実装される(ECA規則)
• 特徴としては不要な処理が減り処理単...
イベント駆動型をわかりやすく(1)
• “イベント”が発生時に処理が実行される
• “イベント”って具体的には?
• 逆にいうと“イベント”がないと待機状態になる
イベント駆動型をわかりやすく(2)
• イベントの内容は“メッセージ”で定義される
• メッセージは“メッセンジャー“と”リスナー”
によって受け渡しされる
※詳細は後で詳しく
イベント駆動型をわかりやすく(3)
• “メッセンジャー”と“リスナー”は別々の制御
→“メッセンジャー”だけ、“リスナーだけ”、両方可
• “リスナー”は“メッセージ”をフィルタできる
イベント駆動型・まとめ
• “イベント”発生時に処理される
• “イベント”はユーザー操作や処理実行より発生
• インタラクションした処理から “メッセージ”を
“メッセンジャー”から“リスナー”に受渡する
• “リスナー“は“メッセージ”をフ...
RPGの設計について
RPG設計について(1)
• 今回は2DPRGでの設計で説明
→イベント駆動型を実装する為には、事前の設計が必要
• ゲームデザイン実現の為、設計は重要かつ必然
→概念も含めて、設計をしっかりしないとダメです
• RPG設計の一例として紹介
→...
RPG設計について(2)
• PRGの要求を定義します
→例えば下図のような物を想定してみます
RPG設計について(2)
• PRGの要求を定義します
→例えば下図のような物を想定してみます
RPG設計について(3)
• この内容を実装する為の要素を考えてみます
RPG設計について(3)
• この内容を実装する為の要素を考えてみます
RPG設計について(4)
• 加えてRPGはクリティカルな要求頻度が高い
RPG設計について(4)
• 加えてRPGはクリティカルな要求頻度が高い
RPG設計について(5)
• PRGは“目に見えない“必須な仕様が多い
• またRPGは追加・変更、修正が日常茶飯事
RPGの設計について(6)
• ゲームシステムがゲーム進行に依存しない
• 複数システムが並列動作し、様々な条件で起動
RPG設計について(7)
• RPGでの実装要求を満たす仕組み一覧
RPG設計について(8)
• RPGでの実装要求を満たす仕組み一覧
RPGにおける
イベント駆動型の実装方法
イベント駆動型の役割について
• ゲーム上でのイベント駆動は何をするのか?
• この挙動について具体例を示しながら解説します
メッセージの受け渡しについて(1)
• 送信側から受取側へメッセージを送る
メッセージの受け渡しについて(2)
• メッセージは複数に対して送付できる
メッセージの受け渡しについて(3)
• 受取側すべてのメッセージ処理しなくてもいい
メッセージの受け渡しについて(4)
• メッセージは即時処理、待機(遅延)処理がある
• メッセージはキューに積んで処理(FastInLastout)
イベント駆動の流れ(1)
• 最小単位での“イベント駆動”を紹介
• 上記について、イベント駆動を説明していきます
イベント駆動の流れ(2)
“1.プレイヤー正面にNPCがいる時、ボタン押下”
イベント駆動の流れ(3)
※プレイヤー処理がフィールドシステムへメッセージ送付
イベント駆動の流れ(4)
※フィールドシステムでメッセージを受信する
イベント駆動の流れ(5)
※”TalkTalkStart“処理からイベントシステムへメッセージ送付
イベント駆動の流れ(6)
※”TalkTalkStart“処理からゲームシステムへメッセージ送付
イベント駆動の流れ(7)
※イベントシステムがメッセージを受信する
イベント駆動の流れ(8)
※ゲームシステムがメッセージを受信する
イベント駆動の流れ(9)
※イベントシステムはイベント番号からスクリプトを起動
イベント駆動の流れ(10)
• 2.NPC、プレイヤーは移動を停止
イベント駆動の流れ(11)
• 3.NPCがプレイヤーに向きを変える
イベント駆動について(12)
• 4.NPCが向きを変えた時にメッセージを表示
イベント駆動の流れ・おまけ
※イベント終了時は、イベントシステムからメッセージを送付
イベント駆動の流れ・おまけ
※ゲームシステムから制御の再開メッセージを送付
オブジェクトのメッセージ発信
(1)インタラクションによるメッセージ発信
(2)接触判定やスクリプトのメッセージ発信
プログラム(ロジック)メッセージ発信
• プログラム(ロジック)からのメッセージ発信
→ショップでの買い物開始・終了
→闘技場の受付メニューからバトルへの遷移
• バックグラウンド制御のメッセージ発信
→リソースの先読み(ディスクやアセットロー...
イベント駆動の長所
• イベント駆動の長所
イベント駆動の長所・短所(2)
• イベント駆動の短所
イベント駆動の短所
まとめ
• イベント駆動型は万能ではないが適用範囲は広い
• スクリプト言語との相性も良く、RPG開発必須
• 並列処理だけに利用する方法もアリ
• 別途応用例があればご連絡ください(切望
ご清聴ありがとうございました
質問等はTwitter(リプライ・DM)でご連絡ください
Upcoming SlideShare
Loading in …5
×

RPGにおけるイベント駆動型の設計と実装

5,724 views

Published on

2015年12月1日に行われた【#techbuzz】モバイル・コンシューマ「開発比較」勉強会 #3【RPGにおけるイベント駆動型の設計と実装】での講演内容です。

https://atnd.org/events/72184

Published in: Technology
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

RPGにおけるイベント駆動型の設計と実装

  1. 1. RPGにおけるイベント 駆動型の設計と実装 2015/12/1 プログラマー/ディレクター 朝比奈むかで
  2. 2. !ご注意! • これはまだ修正中内容です • 実際の講演時のものと違う可能性があります • 後日、加筆修正版が更新される予定です
  3. 3. アジェンダ • 自己紹介 • イベント駆動型とは? • RPGの設計について • イベント駆動型の実装方法 • まとめ
  4. 4. 自己紹介 • 朝比奈むかで(@asahina_muakde) • モバイル・コンソール開発経験 • 普段はプログラマーですが、 ディレクターも経験。 ゲームデザインに熱心に研究中。
  5. 5. !注意点(1) • 研究や既出に基づく考察ではない • 開発関係・リリースしたタイトルでの事例 • ゲームデザインは3年程前までの内容
  6. 6. !注意点(2) • 用語省略させていただきますm(__)m 用語 略称 ロールプレイングゲーム (ゲームデザイン) RPG オブジェクト (処理単位・ゲームオブジェクト) OBJ クラシックスタイル ロールプレイングゲーム JRPG
  7. 7. イベント駆動型とは?
  8. 8. イベント駆動型とは? • 具体的にはイベント駆動型プログラミングのこと →“イベントドリブン”とも呼ばれる • 特定のイベント(キー押した、マウスクリック) 等が発生した時に処理が実装される(ECA規則) • 特徴としては不要な処理が減り処理単位で完結
  9. 9. イベント駆動型をわかりやすく(1) • “イベント”が発生時に処理が実行される • “イベント”って具体的には? • 逆にいうと“イベント”がないと待機状態になる
  10. 10. イベント駆動型をわかりやすく(2) • イベントの内容は“メッセージ”で定義される • メッセージは“メッセンジャー“と”リスナー” によって受け渡しされる ※詳細は後で詳しく
  11. 11. イベント駆動型をわかりやすく(3) • “メッセンジャー”と“リスナー”は別々の制御 →“メッセンジャー”だけ、“リスナーだけ”、両方可 • “リスナー”は“メッセージ”をフィルタできる
  12. 12. イベント駆動型・まとめ • “イベント”発生時に処理される • “イベント”はユーザー操作や処理実行より発生 • インタラクションした処理から “メッセージ”を “メッセンジャー”から“リスナー”に受渡する • “リスナー“は“メッセージ”をフィルタできる
  13. 13. RPGの設計について
  14. 14. RPG設計について(1) • 今回は2DPRGでの設計で説明 →イベント駆動型を実装する為には、事前の設計が必要 • ゲームデザイン実現の為、設計は重要かつ必然 →概念も含めて、設計をしっかりしないとダメです • RPG設計の一例として紹介 →ゲームの設計に正しい答えはないので…
  15. 15. RPG設計について(2) • PRGの要求を定義します →例えば下図のような物を想定してみます
  16. 16. RPG設計について(2) • PRGの要求を定義します →例えば下図のような物を想定してみます
  17. 17. RPG設計について(3) • この内容を実装する為の要素を考えてみます
  18. 18. RPG設計について(3) • この内容を実装する為の要素を考えてみます
  19. 19. RPG設計について(4) • 加えてRPGはクリティカルな要求頻度が高い
  20. 20. RPG設計について(4) • 加えてRPGはクリティカルな要求頻度が高い
  21. 21. RPG設計について(5) • PRGは“目に見えない“必須な仕様が多い • またRPGは追加・変更、修正が日常茶飯事
  22. 22. RPGの設計について(6) • ゲームシステムがゲーム進行に依存しない • 複数システムが並列動作し、様々な条件で起動
  23. 23. RPG設計について(7) • RPGでの実装要求を満たす仕組み一覧
  24. 24. RPG設計について(8) • RPGでの実装要求を満たす仕組み一覧
  25. 25. RPGにおける イベント駆動型の実装方法
  26. 26. イベント駆動型の役割について • ゲーム上でのイベント駆動は何をするのか? • この挙動について具体例を示しながら解説します
  27. 27. メッセージの受け渡しについて(1) • 送信側から受取側へメッセージを送る
  28. 28. メッセージの受け渡しについて(2) • メッセージは複数に対して送付できる
  29. 29. メッセージの受け渡しについて(3) • 受取側すべてのメッセージ処理しなくてもいい
  30. 30. メッセージの受け渡しについて(4) • メッセージは即時処理、待機(遅延)処理がある • メッセージはキューに積んで処理(FastInLastout)
  31. 31. イベント駆動の流れ(1) • 最小単位での“イベント駆動”を紹介 • 上記について、イベント駆動を説明していきます
  32. 32. イベント駆動の流れ(2) “1.プレイヤー正面にNPCがいる時、ボタン押下”
  33. 33. イベント駆動の流れ(3) ※プレイヤー処理がフィールドシステムへメッセージ送付
  34. 34. イベント駆動の流れ(4) ※フィールドシステムでメッセージを受信する
  35. 35. イベント駆動の流れ(5) ※”TalkTalkStart“処理からイベントシステムへメッセージ送付
  36. 36. イベント駆動の流れ(6) ※”TalkTalkStart“処理からゲームシステムへメッセージ送付
  37. 37. イベント駆動の流れ(7) ※イベントシステムがメッセージを受信する
  38. 38. イベント駆動の流れ(8) ※ゲームシステムがメッセージを受信する
  39. 39. イベント駆動の流れ(9) ※イベントシステムはイベント番号からスクリプトを起動
  40. 40. イベント駆動の流れ(10) • 2.NPC、プレイヤーは移動を停止
  41. 41. イベント駆動の流れ(11) • 3.NPCがプレイヤーに向きを変える
  42. 42. イベント駆動について(12) • 4.NPCが向きを変えた時にメッセージを表示
  43. 43. イベント駆動の流れ・おまけ ※イベント終了時は、イベントシステムからメッセージを送付
  44. 44. イベント駆動の流れ・おまけ ※ゲームシステムから制御の再開メッセージを送付
  45. 45. オブジェクトのメッセージ発信 (1)インタラクションによるメッセージ発信 (2)接触判定やスクリプトのメッセージ発信
  46. 46. プログラム(ロジック)メッセージ発信 • プログラム(ロジック)からのメッセージ発信 →ショップでの買い物開始・終了 →闘技場の受付メニューからバトルへの遷移 • バックグラウンド制御のメッセージ発信 →リソースの先読み(ディスクやアセットロード) →イベントでのタイミング制御 →データセーブ処理
  47. 47. イベント駆動の長所 • イベント駆動の長所
  48. 48. イベント駆動の長所・短所(2) • イベント駆動の短所 イベント駆動の短所
  49. 49. まとめ • イベント駆動型は万能ではないが適用範囲は広い • スクリプト言語との相性も良く、RPG開発必須 • 並列処理だけに利用する方法もアリ • 別途応用例があればご連絡ください(切望
  50. 50. ご清聴ありがとうございました 質問等はTwitter(リプライ・DM)でご連絡ください

×