์ง„์งœ ๋ฉฐ์น ๋™์•ˆ ๊ฐœ๊ณ ์ƒํ•จ. ์„ธ๊ณ„ ์ƒํƒœ(World State)๋ฅผ ์–ด๋–ป๊ฒŒ AI๊ฐ€ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ์กฐ์งํ•˜๋Š”๊ฐ€, ์ด ๋ถ€๋ถ„์—์„œ ๋ง‰ํ˜€๊ฐ€์ง€๊ณ  ์ง„์งœ ๋ณ„ ์ง“์„ ๋‹คํ•จ. ์ด๊ฒŒ ์™œ ์–ด๋ ค์› ๋ƒ๋ฉด ๋Ÿฌ์ŠคํŠธ๋กœ ํฌ์ธํ„ฐ ์บ์ŠคํŒ…ํ•˜๋Š” ๋ฒ•์„ ๋ชฐ๋ž์–ด์„œ(์ด์ œ๋Š” ์•”) ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ ๋ฐ›์•„๋“ค์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด ๋งŒ๋“œ๋Š”๋ฐ ๊ฐœ๋ป˜์ง“ํ–ˆ๊ฑฐ๋“ . ๊ทธ์— ๋”ํ•ด ๋‚ด๊ฐ€ ์“ฐ๋Š” ์—”์ง„ ํŠน์„ฑ์ƒ AI๊ฐ€ ๊ผด๋ฆด ๋•Œ๋งˆ๋‹ค ๊ฑ ๋ชจ๋“  ๋ฐ์ดํ„ฐ์— ์ ‘์†ํ•ด์„œ ์›ํ•˜๋Š”๊ฑฐ ๋งˆ๊ตฌ์žก์ด๋กœ ๋ฝ‘์•„์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ทธ๋Ÿฐ๊ฒŒ ์–ด๋ ค์›Œ์„œ ๊ทธ ๊ตฌ์กฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์งค์ง€๋„ ๋ง‰ํ˜”๊ณ ... ๊ทธ๋ž˜๋„ ๋ผˆ๋Œ€๋Š” ์ด์ œ ๋“œ๋””์–ด ๋งŒ๋“ฌ. ์˜ค๋Š˜์ด๋‚˜ ๋‚ด์ผ์ด๋ฉด ๋Œ€์ถฉ ๋ญ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์„๊ฑฐ ๊ฐ™๋‹ค.


AI๋Š” ์ฒ˜์Œ์—๋Š” GOAP์œผ๋กœ ํ•˜๋ ค ํ–ˆ๋Š”๋ฐ, ์ค‘๊ฐ„์— ๋ง‰ํ˜”๋‹ค๊ฐ€ ์ด๊ฒƒ์ €๊ฒƒ ๋ง‰ ์ง‘์–ด๋“ค์–ด๋ณด๋Š” ๊ณผ์ •์—์„œ HTN์œผ๋กœ ๋„˜์–ด๊ฐ. ์ž์„ธํ•œ๊ฑด ์ด ์•„ํ‹ฐํด(http://www.gameaipro.com/GameAIPro/GameAIPro_Chapter12_Exploring_HTN_Planners_through_Example.pdf) ๋ณด๋ฉด ๋‚˜์˜ด.


๋ง‰ํ˜”๋˜ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…๋“ค.


1. ๋กœ์ง์€ ๊ตฌ์กฐ์ฒด์— ๋‹ด๊ธด๋‹ค.

2. Compound Task์™€ Primitive Task๋Š” ๋ชจ๋‘ ํ•˜๋‚˜์˜ ๋™์ผํ•œ Task ํŠธ๋ ˆ์ž‡์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๊ตฌ์กฐ์ฒด์ด๋‹ค.

3. ๊ฐ๊ธฐ ๋‹ค๋ฅธ Operator๋Š” ๋ชจ๋‘ ํ•˜๋‚˜์˜ ๋™์ผํ•œ Operator ํŠธ๋ ˆ์ž‡์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๊ตฌ์กฐ์ฒด์ด๋‹ค.

4. ๋ชจ๋“  Operator๋Š” ์˜ค์ง ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋งŒ์„ ๊ฐ€์ง€๋ฉฐ, ๊ทธ๊ฒƒ๋“ค์€ ๋ชจ๋“  Operator์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ด์€ ๋ฒกํ„ฐ์— ์ €์žฅ๋œ๋‹ค.

5. ๋ชจ๋“  Operator๋Š” u8 ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์†ํ•ด ์žˆ๋Š” ๋ฒกํ„ฐ๋กœ๋ถ€ํ„ฐ ์ธ๋ฑ์‹ฑ ๋œ๋‹ค.

6. ๋ชจ๋“  AI ํ–‰๋™์ž๋Š” ํ˜„์žฌ ์ง€๋‹Œ ์„ธ๊ณ„์ •๋ณด์— ๋Œ€ํ•œ ํ•ด์‰ฌ๋งต์„ ๊ฐ€์ง„๋‹ค.

7. ํ•ด์‰ฌ๋งต์˜ ํ‚ค๋Š” ํ•œ ์—ด๊ฑฐํ˜•์˜ variant์ด๋ฉฐ ๊ฐ’์€ Box๋‹ค.

8. Primitive Task ๊ตฌ์กฐ์ฒด๋Š” ์†ํ•œ Operator๋“ค์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ๋ฒกํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

9. Operator๊ฐ€ ํ˜ธ์ถœ ๋  ๋•Œ ๊ทธ๊ฒƒ์ด ์†ํ•ด์ ธ ์žˆ๋Š” Primitive Task๋Š” ์„ธ๊ณ„์ •๋ณด ํ•ด์‰ฌ๋งต์œผ๋กœ๋ถ€ํ„ฐ ์–ด๋А ํ‚ค์— ๋‹ด๊ธด ๊ฐ’์„ ์‚ฌ์šฉํ•ด์•ผํ• ์ง€๋ฅผ ํ‚ค๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด์„ ์ œ๊ณตํ•จ์œผ๋กœ์„œ ์•Œ๋ ค์ค€๋‹ค.


ECS ์‹œ์Šคํ…œ์—์„œ AI ํ–‰๋™์ž๋Š” component์ธ๋ฐ ์ด AI ํ–‰๋™์ž๊ฐ€ ์˜ค์ง ๋ฐ์ดํ„ฐ๋งŒ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ๋กœ์ง์€ ์–ด๋””์— ๋ณด๊ด€ํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ํ˜ธ์ถœํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ๊ทธ ๋กœ์ง์— ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์„๊นŒ, ์ด๊ฒŒ ์ง„์งœ ์–ด๋ ค์› ๋˜๊ฑฐ ๊ฐ™๋„ค.