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
88
UIを使ったデモシーンの実装
galupeno
0
1.2k
BULLUET RUNNERS!!! presentation slide
galupeno
0
270
Other Decks in Programming
See All in Programming
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
15
5.7k
Claude Agent SDK を使ってみよう
hyshu
0
1.2k
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
560
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
700
Swift Concurrency - 状態監視の罠
objectiveaudio
2
550
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
210
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
1
310
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
230
Devoxx BE - Local Development in the AI Era
kdubois
0
130
技術的負債の正体を知って向き合う
irof
0
190
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
1
470
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
860
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
980
How to train your dragon (web standard)
notwaldorf
97
6.3k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Designing for Performance
lara
610
69k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
KATA
mclloyd
PRO
32
15k
Code Review Best Practice
trishagee
72
19k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
The Cost Of JavaScript in 2023
addyosmani
55
9k
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 [ؾ·͙Εࣹܸ] ্ମ ੍ࣹܸ
͍͜͠ΖɺԶΕ͔͚ͱΔ
࣭λΠϜ