Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CCKでできる!NPCのAIロジック
Search
Galupeno
May 31, 2021
Programming
0
1.3k
CCKでできる!NPCのAIロジック
第5回clusterワールド制作ゆるゆる勉強会
Galupeno
May 31, 2021
Tweet
Share
More Decks by Galupeno
See All by Galupeno
クラスターゲームラボ #1ゲームの仕様を考える
galupeno
0
200
ロボのダイエット
galupeno
0
160
クラスター・カンバセイション・クラブ#8パブリック文化防衛のための緊急会議
galupeno
0
140
CCKにちょい足し!Constraintを使ってみよう スライド資料
galupeno
0
1.3k
みんなアバターどないしとぉ?スライド
galupeno
0
89
UIを使ったデモシーンの実装
galupeno
0
1.2k
BULLUET RUNNERS!!! presentation slide
galupeno
0
270
Other Decks in Programming
See All in Programming
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
220
SidekiqでAIに商品説明を生成させてみた
akinko_0915
0
110
NIKKEI Tech Talk#38
cipepser
0
350
Blazing Fast UI Development with Compose Hot Reload (droidcon London 2025)
zsmb
0
440
TransformerからMCPまで(現代AIを理解するための羅針盤)
mickey_kubo
7
5.9k
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
250
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
4
17k
Dive into Triton Internals
appleparan
0
390
pnpm に provenance のダウングレード を検出する PR を出してみた
ryo_manba
1
170
AI 駆動開発におけるコミュニティと AWS CDK の価値
konokenj
5
320
AI Agent 時代的開發者生存指南
eddie
4
2.3k
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
2k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Statistics for Hackers
jakevdp
799
220k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Making Projects Easy
brettharned
120
6.4k
Designing Experiences People Love
moore
142
24k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Thoughts on Productivity
jonyablonski
72
4.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Transcript
BY Ψϧϖϊ 2021/05/31 CCKͰͰ͖ΔʂNPCͷAIϩδοΫ ୈ5ճclusterΏΔΏΔษڧձ
͢ਓɿΨϧϖϊ • ओʹήʔϜϫʔϧυͳͲΛ࡞Δ • ΠϕϯτΛओ࠵͢Δ͜ͱ͋Δ • VRͱͭΑͭΑPCڥ·͍ͩ࣋ͬͯͳ͍ • ήʔϜCCKҎ֎Ͱ࡞ͬͨ͜ͱͳ͍ •
࠷ۙμϯΨϯϩϯύΛ࠶ϓϨΠͯ͠ ໄڹࢠ͞Μ͕ૉఢͩͳʔͱࢥͬͯΔ 2
LT༰ɾҙ • CCKͷجຊతͳίϯϙʔωϯτͰͰ͖Δ NPCͷߦಈཧAIͷ࡞ΓํΛ֓આ͠·͢ • ͜͜Ͱఆ͢ΔNPC ʮ1ϫʔϧυʹ1ମͷϘεʯͰ͋Γɺ ʮ1ϫʔϧυʹଟͷMobʯͳͲʹ͍ͭͯ Ԡ༻ͱ͠·͢ •
͋ΒΏΔঢ়گʹରॲͰ͖ΔߴͳAIͰ ͋Γ·ͤΜɻҠಈ੍ޚ߈ܸύλʔϯʹ গ͠ͷੑΛ࣋ͨͤΔͷͰ͢ 3
ࢀߟϫʔϧυ • ্ɿʲҰਓ༻ʳϩϘϑΝΠτνϡʔτϦ ΞϧʲରCPUઓʳ ɾࡢήʔϜϫʔϧυഋͷ෭࢈ ɾvsϓϨΠϠʔͱରͳఢNPCϩϘ ɾલޙࠨӈʹҠಈͭͭ͠ɺ߈ܸͯ͘͠Δ • Լɿ࢝·ΓͷྦɺऴΘΓͷඍসʢྗͷ ͱӨͷϋʔυϞʔυʣ
ɾࡢGAMEJAMౙͷൃల൛ ɾvsϓϨΠϠʔΑΓڧେͳϥεϘε ɾҰՕॴʹͱͲ·ͬͯ߈ܸͯ͘͠Δ 4
CCKͰͰ͖ΔʂNPCͷAIϩδοΫ 1. NPC͕ొ͢Δ 2. αΠΫϧΛճ͢TriggerΛ༩͑Δ 3. ߦಈύλʔϯΛબ͢Δ 4. ߦಈ͢Δ 5.
ߦಈऴྃͰTriggerΛग़͢ 3ʹΔ 6. ͞ΕͨΒຊମΛඇΞΫςΟϒԽ͠ɺ ͞ΕϞʔγϣϯ༻ͷNPCΛΞΫςΟϒԽ͢Δʢߦಈ͕ࠞ͟ΔͷͰແཧཧ͔͛͑͢Δʣ جຊతͳߦಈཧͷྲྀΕ αΠΫϧ Lottery TimerͳͲ
CCKͰͰ͖ΔʂNPCͷAIϩδοΫ • Trigger Lotteryʢඞཁʣ ߦಈཧʹϥϯμϜੑΛ࣋ͨͤ·͢ɻϓϨΠϠʔΛ͖ͤ͞ͳ͍ཁૉ͕ੜ·Ε·͢ • Timerʢඞཁʣ ߦಈཧͰαΠΫϧΛճ͢ࡍʹඞཁͰ͢ɻαΠΫϧΊͬͨʹ్ઈ͠·ͤΜ • LogicͳͲʢԠ༻ʣ
ߦಈྙཧʹ෯ΛՃ͑·͢ɻϓϨΠϠʔΛ͖ͤ͞ͳ͍ཁૉΛ͞ΒʹੜΈ·͢ ࣮ʹඞཁͳίϯϙʔωϯτ 6
࣮ʹඞཁͳίϯϙʔωϯτʢඞཁʣ Trigger Lottery • ߦಈཧʹϥϯμϜੑΛ࣋ͨͤ·͢ • ྫɿ1/4ͷ֬Ͱશମ߈ܸɺ2/4ͷ֬Ͱ ूத߈ܸɺ1/4ͷ֬ͰػϞʔγϣϯ • ߦಈύλʔϯܾఆTriggerͱಉ࣌ʹɺ
ޙड़ͷTimerʹ͚ͯTriggerΛग़͢ • ൺॏΛม͑Δ͜ͱͰNPCʹߦಈಛੑΛ࣋ ͨͤΒΕΔ • ύλʔϯ͕ݻఆ͞ΕͣɺͲ͖Ͳ͖Θ͘Θ ͘ײ͕ੜ·ΕΔʂ 7 [ҠಈαΠΫϧ] [લਐ] WEIGHT: 1.5 [ޙୀ] WEIGHT: 1.5 [ӈฏߦҠಈ] WEIGHT: 2 [ࠨฏߦҠಈ] WEIGHT: 2 [ఀࢭ] WEIGHT: 3 ϩϘϑΝΠτͷNPCϩϘͷϥϯμϜҠಈ ↑Ҡಈorఀࢭͷϝοηʔδͱಉ࣌ʹTimerͷSIgnalग़͢ CCKͰͰ͖ΔʂNPCͷAIϩδοΫ
࣮ʹඞཁͳίϯϙʔωϯτʢඞཁʣ Timer • ߦಈཧͰαΠΫϧΛճ͢ࡍʹඞཁͰ͢ • ઌड़ͷLottery͔ΒૹΒΕͨTriggerΛड ͚औΓɺͦͷߦಈύλʔϯ࣌ؒػɺ ͦͷޙLotteryTriggerΛૹΔ • ͔ͬ͠ΓϝοηʔδΛཧ͢Εେਓ
ͰΠϕϯτͰαΠΫϧ్͕ઈ͠ͳ͍ • ͨͩ߈ܸΛ͘ΒͬͨϞʔγϣϯͳͲΛڬ Ήͱߦಈ͕ࠞ͟Δ͜ͱ͋Γ 8 ϩϘϑΝΠτͷNPCϩϘͷαΠΫϧTimer ↑1ඵपظͷαΠΫϧɻ NPCϩϘ1ඵ͝ͱʹҠಈ੍ޚΛϥϯμϜʹબΜͰ͍Δ CCKͰͰ͖ΔʂNPCͷAIϩδοΫ
࣮ʹඞཁͳίϯϙʔωϯτʢԠ༻ʣ LogicͳͲ • ߦಈཧʹ෯ΛՃ͑·͢ • ϩϘɿඃͨ͠Βଈ࠲ʹߦಈબ ऴᖼఱɿମྗͷ͜ΓͰ߈ܸ ύλʔϯมԽ • ߦಈதউखʹ࣍ͷߦಈͰ্ॻ͖
͞Εͳ͍Α͏LogicΛೖΕΔඞཁ ͋ΔʢͦΕͰϥάͰ্ॻ͖͞ΕΔ͜ͱ͕͋Δʣ • ࣮ͱσόοάʹࠜؾ͕ඞཁ🙀 9 ϩϘϑΝΠτͷNPCϩϘ ࢝·ΓͷྦͷऴᖼఱʢϥεϘεʣ ↑ඃͨ͠ΒࠨӈʹҠಈ͢Δ੍ޚɻ ൺॏઃఆͰʮӈʹಀ͕͛ͪʯͱ͍͏ “บ”“ߦಈಛੑ”ΛઃఆͰ͖Δ ↑HP͕8Ҏ্ͷ࣌ͱ8ະຬͷ࣌Ͱ ߦಈύλʔϯΛม͑Δɻ 8Ҏ্ͷ࣌εΩͷଟ͍߈ܸɺ 8ະຬʹͳΔͱ߈ܸ࣌ͷεΩ͕ݮΔɻ ઓಆʹ׳ΕͨϓϨΠϠʔΛ͖ͤ͞ͳ͍ CCKͰͰ͖ΔʂNPCͷAIϩδοΫ
࢝·ΓͷྦͷऴᖼఱʢϥεϘεʣ AIߦಈྫ • ొޙඞͣεΩগϨʔβʔ ίπΛͬͯΔϓϨΠϠʔΛ͖ͤ͞ͳ͍ͨΊ • લεΩ͕ଟΊͷ߈ܸͰɺޙʹͳΔ ͱεΩ͕ݮΔ • ߈ܸϞʔγϣϯҎ֎ʹ4ඵͷػϞʔ
γϣϯ͕1/5ͷ֬ͰೖΔʢೖΕ͗͢ҙʣ • HP͕0ʹͳͬͨॠؒDestroy͠ɺΒΕઐ༻ͷ ϥεϘεΛొͤͯ͞౼െΛԋग़͢ΔʢڧҾʣ CCKͰͰ͖ΔʂNPCͷAIϩδοΫ [ػ] [εΩଟϨʔβʔ] [εΩগϨʔβʔ] [֦ࢄϨʔβʔ] લઓ ޙઓ [ඃܸ] LotteryͳͲ [ొ] [౼െ]
ϩϘϑΝΠτͷCPUϩϘ AIߦಈྫ • Ҡಈ੍ޚͱ੍ࣹܸ͕ผʹͳ͍ͬͯΔɻ ੍ࣹܸ͕ͨͩ͠٭෦ͷΞχϝʔγϣϯΛ্ॻ͖͠ ͯ͠·͍ͬͯΔͷͰɺAnimationͷLayer͚͕ඞཁ • ϓϨΠϠʔϩϘͷۙͰ༗ޮࣹఔΛݕ ͠߈ܸͯ͘͠ΔɻࣹఔݍʹଈϑϧΦʔτ ڧ͗ͨ͢ͷͰؾ·͙Εʹܸͬͯ͘ΕΔΑ͏ʹͨ͠
• ༗ޮࣹఔݕΛԠ༻͢ΕɺϓϨΠϠʔ ͔ΒΕͨΒ͖ۙͮɺۙ͗ͨ͢ΒΕΔ ͳͲͷߦಈಛੑ࣮Ͱ͖Δ CCKͰͰ͖ΔʂNPCͷAIϩδοΫ [ػ] ඃ LotteryͳͲ [ొ] [ܸഁ] ʢ࣮ෆશʣ [ࠨӈʹಈ͍ͯࣼઢΛΔ] ʢӈʹಀ͛Δบ͕͋Δʣ [Ҡಈɿલޙࠨӈ] Lottery ٭෦ Ҡಈ੍ޚ ϓϨΠϠʔϩϘ͕ ۙ(OnCollide) Lottery [ؾ·͙Εࣹܸ] ্ମ ੍ࣹܸ
͍͜͠ΖɺԶΕ͔͚ͱΔ
࣭λΠϜ