Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CCKでできる!NPCのAIロジック
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Galupeno
May 31, 2021
Programming
1.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CCKでできる!NPCのAIロジック
第5回clusterワールド制作ゆるゆる勉強会
Galupeno
May 31, 2021
More Decks by Galupeno
See All by Galupeno
クラスターゲームラボ #1ゲームの仕様を考える
galupeno
0
250
ロボのダイエット
galupeno
0
170
クラスター・カンバセイション・クラブ#8パブリック文化防衛のための緊急会議
galupeno
0
160
CCKにちょい足し!Constraintを使ってみよう スライド資料
galupeno
0
1.4k
みんなアバターどないしとぉ?スライド
galupeno
0
110
UIを使ったデモシーンの実装
galupeno
0
1.3k
BULLUET RUNNERS!!! presentation slide
galupeno
0
290
Other Decks in Programming
See All in Programming
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
790
ALB ログから Trace を気合で繋げる技術
fohte
7
890
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
140
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
410
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
240
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
6
1.6k
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
130
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
170
AIとGame Jamで、ゲームを完成させた話
takahirosaeki
0
120
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
240
Family mrubyの進捗
kishima
1
110
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
110
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
1.1k
A better future with KSS
kneath
240
18k
Agile that works and the tools we love
rasmusluckow
331
22k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Become a Pro
speakerdeck
PRO
31
6.2k
GraphQLとの向き合い方2022年版
quramy
50
15k
Ruling the World: When Life Gets Gamed
codingconduct
0
330
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
700
Done Done
chrislema
186
16k
Embracing the Ebb and Flow
colly
88
5.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
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 [ؾ·͙Εࣹܸ] ্ମ ੍ࣹܸ
͍͜͠ΖɺԶΕ͔͚ͱΔ
࣭λΠϜ