Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CCKでできる!NPCのAIロジック

 CCKでできる!NPCのAIロジック

第5回clusterワールド制作ゆるゆる勉強会

Galupeno

May 31, 2021
Tweet

More Decks by Galupeno

Other Decks in Programming

Transcript

  1. CCKͰͰ͖ΔʂNPCͷAIϩδοΫ 1. NPC͕ొ৔͢Δ 2. αΠΫϧΛճ͢TriggerΛ༩͑Δ 3. ߦಈύλʔϯΛબ୒͢Δ 4. ߦಈ͢Δ 5.

    ߦಈऴྃͰTriggerΛग़͢
 3ʹ໭Δ 6. ౗͞ΕͨΒຊମΛඇΞΫςΟϒԽ͠ɺ
 ౗͞ΕϞʔγϣϯ༻ͷNPCΛΞΫςΟϒԽ͢Δʢߦಈ͕ࠞ͟ΔͷͰແཧ໼ཧ͔͛͑͢Δʣ جຊతͳߦಈ࿦ཧͷྲྀΕ αΠΫϧ Lottery TimerͳͲ
  2. ࣮૷ʹඞཁͳίϯϙʔωϯτʢඞཁʣ 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ϩδοΫ
  3. ࣮૷ʹඞཁͳίϯϙʔωϯτʢඞཁʣ Timer • ߦಈ࿦ཧͰαΠΫϧΛճ͢ࡍʹඞཁͰ͢ • ઌड़ͷLottery͔ΒૹΒΕͨTriggerΛड ͚औΓɺͦͷߦಈύλʔϯ࣌ؒ෼଴ػɺ ͦͷޙLottery΁TriggerΛૹΔ • ͔ͬ͠ΓϝοηʔδΛ؅ཧ͢Ε͹େਓ਺

    Ͱ΋ΠϕϯτͰ΋αΠΫϧ్͕ઈ͠ͳ͍ • ͨͩ߈ܸΛ͘ΒͬͨϞʔγϣϯͳͲΛڬ Ήͱߦಈ͕ࠞ͟Δ͜ͱ͋Γ 8 ϩϘϑΝΠτͷNPCϩϘͷαΠΫϧTimer ↑1ඵपظͷαΠΫϧɻ
 NPCϩϘ͸1ඵ͝ͱʹҠಈ੍ޚΛϥϯμϜʹબΜͰ͍Δ CCKͰͰ͖ΔʂNPCͷAIϩδοΫ
  4. ࣮૷ʹඞཁͳίϯϙʔωϯτʢԠ༻ʣ LogicͳͲ • ߦಈ࿦ཧʹ෯ΛՃ͑·͢ • ϩϘɿඃ஄ͨ͠Βଈ࠲ʹߦಈબ୒
 ऴᖼఱ࢖ɿମྗͷ͜Γ൒෼Ͱ߈ܸ ύλʔϯมԽ • ߦಈத͸উखʹ࣍ͷߦಈͰ্ॻ͖

    ͞Εͳ͍Α͏LogicΛೖΕΔඞཁ ΋͋ΔʢͦΕͰ΋ϥάͰ্ॻ͖͞ΕΔ͜ͱ͕͋Δʣ • ࣮૷ͱσόοάʹ͸ࠜؾ͕ඞཁ🙀 9 ϩϘϑΝΠτͷNPCϩϘ ࢝·Γͷྦͷऴᖼఱ࢖ʢϥεϘεʣ ↑ඃ஄ͨ͠ΒࠨӈʹҠಈ͢Δ੍ޚɻ
 ൺॏઃఆͰʮӈʹಀ͕͛ͪʯͱ͍͏
 “บ”΍“ߦಈಛੑ”ΛઃఆͰ͖Δ ↑HP͕8Ҏ্ͷ࣌ͱ8ະຬͷ࣌Ͱ
 ߦಈύλʔϯΛม͑Δɻ
 8Ҏ্ͷ࣌͸εΩͷଟ͍߈ܸɺ
 8ະຬʹͳΔͱ߈ܸ࣌ͷεΩ͕ݮΔɻ
 ઓಆʹ׳ΕͨϓϨΠϠʔΛ๞͖ͤ͞ͳ͍޻෉ CCKͰͰ͖ΔʂNPCͷAIϩδοΫ
  5. ࢝·Γͷྦͷऴᖼఱ࢖ʢϥεϘεʣ AIߦಈྫ • ొ৔ޙ͸ඞͣεΩগϨʔβʔ
 ίπΛ஌ͬͯΔϓϨΠϠʔΛ๞͖ͤ͞ͳ͍ͨΊ • લ൒͸εΩ͕ଟΊͷ߈ܸͰɺޙ൒ʹͳΔ ͱεΩ͕ݮΔ • ߈ܸϞʔγϣϯҎ֎ʹ4ඵͷ଴ػϞʔ

    γϣϯ͕1/5ͷ֬཰ͰೖΔʢೖΕ͗͢஫ҙʣ • HP͕0ʹͳͬͨॠؒDestroy͠ɺ΍ΒΕઐ༻ͷ ϥεϘεΛొ৔ͤͯ͞౼െΛԋग़͢ΔʢڧҾʣ CCKͰͰ͖ΔʂNPCͷAIϩδοΫ [଴ػ] [εΩଟϨʔβʔ] [εΩগϨʔβʔ] [֦ࢄϨʔβʔ] લ൒ઓ ޙ൒ઓ [ඃܸ] LotteryͳͲ [ొ৔] [౼െ]
  6. ϩϘϑΝΠτͷCPUϩϘ AIߦಈྫ • Ҡಈ੍ޚͱࣹܸ؅੍͕ผʹͳ͍ͬͯΔɻ
 ࣹܸͨͩ͠؅੍͕٭෦ͷΞχϝʔγϣϯΛ্ॻ͖͠ ͯ͠·͍ͬͯΔͷͰɺAnimationͷLayer෼͚͕ඞཁ • ϓϨΠϠʔϩϘͷ઀ۙͰ༗ޮࣹఔΛݕ஌ ͠߈ܸͯ͘͠Δɻࣹఔݍ಺ʹଈϑϧΦʔτ͸ ڧ͗ͨ͢ͷͰؾ·͙Εʹܸͬͯ͘ΕΔΑ͏ʹͨ͠

    • ༗ޮࣹఔݕ஌ΛԠ༻͢Ε͹ɺϓϨΠϠʔ ͔Β཭ΕͨΒ͖ۙͮɺۙ͗ͨ͢Β཭ΕΔ ͳͲͷߦಈಛੑ΋࣮૷Ͱ͖Δ CCKͰͰ͖ΔʂNPCͷAIϩδοΫ [଴ػ] ඃ஄ LotteryͳͲ [ొ৔] [ܸഁ]
 ʢ࣮૷ෆ׬શʣ [ࠨӈʹಈ͍ͯࣼઢΛ੾Δ]
 ʢӈʹಀ͛Δบ͕͋Δʣ [Ҡಈɿલޙࠨӈ] Lottery ٭෦
 Ҡಈ੍ޚ ϓϨΠϠʔϩϘ͕
 ઀ۙ(OnCollide) Lottery [ؾ·͙Εࣹܸ] ্ମ
 ࣹܸ؅੍