์ง์ ์คํฌ๋ฆฝํธ๋ก ์ง์ ๋ชฌ์คํฐ AI ๊ตฌํํ ๋ ค๊ณ ํ๋๋ฐย
๊ณต๋ถ์ค์ ๋ฌธ๋ ๊ถ๊ธํ๊ฒ BT๋ ๋ ธ๋๋ฅผ ํ๊ณ ๋ค์ด๊ฐ์ success failure ๋ฑ์ ๋ฐํํ๊ณ ๋ค์ ๋จ๊ณ ๋ฑ์ผ๋ก ๋์ด๊ฐ์ง์์ด?
๊ทผ๋ฐ ๋ง์ฝ ๋ชฌ์คํฐ์ ํ์ฌ ์์ ์ํ๊ฐ ๋๊ธฐ์ํ๊ณ ํ์์ํ๋ก Idle, walkaround, eatsomething ์ค ๋๋คํ ์ํ๋ฅผ ์คํ์ค์ด๋ผ๊ณ ํ ๋
๋ง์ฝ ํ๋ ์ด์ด๊ฐ ๋ชฌ์คํฐ๋ฅผ ๊ณต๊ฒฉํ๋ฉด ์์์ํ์ธ ๋๊ธฐ์ํ์์ ๋๊ธฐ๋ชจ๋๊ฐ failuer๊ฐ ๋๊ณ ๊ฒฝ๊ณ or ์ถ์ ๋ชจ๋์ธ ๋ค์ ์์ ์ํ๋ฅผ ์คํํ๋๊ฒ ๋ง์?
์๋๋ฉด ํ์์ํ๋ค ๋ชจ๋์ ํจ์๋ฅผ ๋ฐ๋ก ๋ง๋ค์ด์ ๊ณต๊ฒฉ๋ฐ์ผ๋ฉด return failure๋ก ๋ค์ ์์ ์ํ๋ก ์ด๋ํ๋๊ฒ ๋ง์?
BT ์ง์ ๊ตฌํํด์ ์ด์ ์๋๋ฐ ๊ทธ๋ฆผ ๊ทธ๋ ค์ ๋ค์ ์ ์ค๋ช ํ๋ฉด ๋ต๋ณ ๋ฌ์์ค ์ง๊ธ ๋ญ๋ผ๋์ง ๋ชจ๋ฅด๊ฒ ใท์
๋์ถฉ ์์๋ค์ ๋ฐ๋ก๋ ์ต์์ ๋ ธํธ(๋ฃจํธ๋ ธ๋) ๋ฐ์ ๋๊ธฐ์ํ์ธ์ง ํ๋จํ๋ ๋ฐ์ฝ๋ ์ดํฐ๋ ธ๋(if๋ ธ๋)์ ๊ฒฝ๊ณ๋ ธ๋๊ฐ ์๋ ์ํ์ด๊ณ ๋ฐ์ฝ๋ ์ดํฐ ๋ ธ๋ ํ์์๋ ๋๋ค ์ ๋ ํฐ ๋ ธ๋๊ฐ, ๋๋ค ์ ๋ ํฐ ๋ ธ๋ ํ์์๋ action๋ ธ๋ idle walk eat๊ฐ ๋ฌ๋ ค์๋ ์ํ์ธ๊ฑฐ๊ฐ์๋ฐ ์ ๋ ํฐ ๋ ธ๋๋ ๋ชจ๋ ๋ ธ๋๊ฐ ์คํจํ๊ฑฐ๋ ์์์ ์์ ๋ ธ๋๊ฐ Running or Success๋ฅผ ๋ฐํํ๋ฉด returnํ๊ธฐ ๋๋ฌธ์ ์ฒ์์ ์ธ๊ธํ if๋ ธ๋์์ "๋๊ธฐ ์ํ๊ฐ ์๋"์ ๊ฐ์งํ์ฌ Failure์ returnํ๋ค๋ฉด ์ ๋ ํฐ ๋ ธ๋๋ ๊ทธ ๋ค์ ๋ ธ๋, ์ฆ ๊ฒฝ๊ณ ๋ ธ๋๋ฅผ ์คํ์ํด. ๋๊ฐ ๋งํ๋ ์์ ํ์์ ๊ฐ๋ ์ด Tree์๋ฃ๊ตฌ์กฐ์ Level์ ์๋ฏธํ๋๊ฑด์ง ๋์ผํ ์ ๋ ํฐ ๋ ธ๋๋ฅผ ๋ถ๋ชจ๋ก ๋๊ณ ์๋ ์์๋ค์ ์์๋ฅผ ์๋ฏธํ๋๊ฑด์ง ๋ชจ๋ฅด๊ฒ ๋๋ฐ ์ด๊ฒ ์ํ๋ ๋๋ต์?