1. ๊ธฐํ
์ ค๋ค ๋ฌด์, ํ์ด์ด ์ ๋ธ๋ ๋ฌด์์ฒ๋ผ ๋ฌด์๋ฅ ๊ฒ์์ ํ๋ ์ด์ด๊ฐ ์ ์ญ, ์ ๋ฐฑ๋ช ์ ๊ทธ๋ฅ ๋๋ ค์ก์ผ๋๊น ์พ๊ฐ์ ์๋๋ฐ ์ ๋ต์ ๊น์ด๋ ์์ด ๊ณตํํจ์ ๋๋.
๊ทธ๋ ๋ค๊ณ ์คํํฌ๋ํํธ, ํ ํ์ ๊ฐ์ด ํ๋ ์ด์ด๊ฐ ์งํ๊ด์ ์์น์์ ์งํ๋ง ํ๋ ๊ฑด ์ ๋ต์ ๊น์ด๋ ๋๋ฌด ๊น๊ณ ๊ฐ๋ ฌํ ์พ๊ฐ์ด ์์ด์ ์ซ์ฆ์ด ๋จ.
๊ทธ๋์ ๋ ๊ฐ์ ๊ฒ์ ์ฅ๋ฅด๋ฅผ ํผํฉํ๊ณ ์ ํจ.
๊ธฐ๋ณธ์ ์ผ๋ก ๊ตฐ์ง๊ฐ์ ์ ํฌ์ด๋ฉด์ ํ๋ ์ด์ด๋ธ ์บ๋ฆญํฐ๊ฐ ๊ตฐ์ง ๋ด๋ถ์ ๋ค์ด๊ฐ์ ์ ๋ต์ ์ธ ์ ํฌ๋ฅผ ์ํํ๋ ๊ฑฐ์.
2. ๊ธฐ๋ณธ ๊ฒ์ ๋ฃฐ
2.1 ํ๋์ ๊ตฐ์ง์ ํ๋์ ๊ตฐ์ง๊ณผ ์ธ์ด๋ค.
2.2 ํ๋์ ์บ๋ฆญํฐ๋ ํฑ์ปค/๋๋ฌ/ํ๋ฌ ์ค ํ๋์ ์ญํ ์ ๋งก๋๋ค.
๋ณต์กํ ์์คํ ์ ์ค๊ณ๊ฐ ๋๋ฌด ํ๋ค์ด์ ์ผ๋จ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์์๋ก ๋ถํดํ๊ณ ๊ตฌํ ์์ํจ.
3. ๊ตฐ์ง ๋ด ํฑ์ปค Behavior tree ๊ตฌ์ฑ
ํฑ์ปค์ AI ์ ๋ต์ ๋ ๊ฐ์ง๋ก ์๋ ๊ตฐ์ง์ ๋๊ฐ์ ์ฐจ๋จํ๊ฑฐ๋, ์๋ ๊ตฐ์ง์ ํ๊ฐ์ ์ฐจ๋จํ๋๊ฑฐ์.
๋ฐ์ ๋์ถฉ ์กฐ๊ฑด๋ฌธ ์ฒ๋ฆฌํด๋ณธ๊ฒ.
๋๊ฐ ์ฐจ๋จ์ด๋ ํ๊ฐ ์ฐจ๋จ์ด๋ ๊ธฐ๋ณธ ๋ก์ง์ ๋ค์๊ณผ ๊ฐ์
1. ์๊ตฐ ๊ตฐ์ง, ์๋ ๊ตฐ์ง avergae location ๊ณ์ฐ
2. ๊ฐ ๊ตฐ์ง average location ์ง์ ๋ฐ orthogonal line ๊ณ์ฐ
3. orthogonal line ์ defense line ์ผ๋ก ์ค์ => ํฑ์ปค๋ defense line ์ผ๋ก ์ด๋
defense line ์ ํฑ์ปค๊ฐ ์์ ๋ฐฉํจ๋ก ๋์ด๋ ํ์ ํก์ํจ์ผ๋ก์จ ๋์ด๋ ํ์ด๋ผ๋ ์์ ์ด๋์ ์ฐจ๋จํด.
ํ๋กํ ํ์ ์์
(๋๊ฐ ์ฐจ๋จ) (์๊ตฐ ๊ตฐ์ง = ํฑ์ปค 3, ๋๋ฌ(ํ๋ ์ด์ด) 1, ์ ๊ตฐ ๊ตฐ์ง = ๋๋ฌ 3)
https://drive.google.com/file/d/10RmJvU_9LMHpLcO5s-l-zNXbATQCf9nF/view?usp=drive_link
ํ๋กํ ํ์ _(ํ๋ ์ด์ด,ํฑ์ปค3)vs(๋๋ฌ3)_re.mp4
drive.google.com
(ํ๊ฐ ์ฐจ๋จ) (์๊ตฐ ๊ตฐ์ง = ํฑ์ปค 3, ํ๋ฌ(ํ๋ ์ด์ด) 1, ์ ๊ตฐ ๊ตฐ์ง = ํฑ์ปค 3, ํ๋ฌ 3)
https://drive.google.com/file/d/1BfGRYAWh3xkNQDYSKrWEyYGykuY93wM_/view?usp=drive_link
ํ๋กํ ํ์ _(ํ๋ ์ด์ด,ํฑ์ปค3)vs(ํฑ์ปค3,ํ๋ฌ3)_re.mp4
drive.google.com
4. Grid Spawner ๊ตฌํ
์์ง ์ธ๋ฆฌ์ผ UI ๋ก ๊ตฌํ์ ๋ชปํ๋๋ฐ grid ์ ์ ๊ตฐ, ์๊ตฐ ๋ฐฐ์น ๋ฐ์ดํฐ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑํจ. (์์ง ํ๋์ฝ๋ฉ ๋์ด์์)
์ค์ ๋ก ์ ๋ ผ๋ฆฌ์ ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก Spawn ์์น๋ฅผ ๊ฒฐ์ ํ ๋ ๋ค์๊ณผ ๊ฐ์ Object with tag "Floor" ๋ฅผ ์ฐพ์์ NxM ์ขํ๋ก ๋๋ ์ Spawn ์์น ์ป์.
์ง๊ธ์ NxM ์ขํ์์ 0.5 ratio ๋ก ์ค์ ํด๋์ tile ์ ์ ์ค์์๋ง ์์ฑ๋๋๋ฐ ratio ๋ฅผ ๋๋ค์ผ๋ก ๊ฐ์ ธ์ค๋ฉด ์กฐ๊ธ ๋ ์์ฐ์ค๋ฝ๊ฒ ๋ฐฐ์น ๊ฐ๋ฅํ ๋ฏ.
5. ์ถํ ๋ฐฉํฅ์ฑ
ํ๋ฌ, ๋๋ฌ behavior tree ๊ตฌ์ฑํ๊ณ ๊ตฐ์ง ๊ฐ์ ์ ํฌ๋ฅผ ์ข ๋ ๋ค์ํํด๋ณผ ์๊ฐ์.
๊ธฐ๋ณธ ์์คํ ์์ฑ๋๋ฉด ๊ตฐ์ง ํ๋๋ฅผ ๊ณต๋ตํ๊ธฐ ์ํด ๋ ๊ฐ์ ๊ตฐ์ง์ผ๋ก ๋๋ ์ ์ธก๋ฉด์ ๊ณต๋ตํ๊ฑฐ๋, ๋์ฅ์ ๋๋์ผ๋ก ํน์ ๊ตฐ์ง๋ง ์ฒ๋ฆฌํ๋ ๊ฒ์๋ชจ๋๋ผ๋ ์ง ๊ตฌํํด๋ณผ ์ ์์๋ฏ.
์์งํ ๋ฒ์จ ๋ด๊ฒ๊ตฌ๋ ค ๋ณ์ด ์กฐ๊ธ์ฉ ์ฌ๋ผ์ค๋๋ฐ ๋ง์ ๋ค ์ก์ผ๋ ค๊ณ ๊ธ์ข ์จ๋ดค์ด. ํ์, ์ถฉ๊ณ ๊ฐ์ฌํ ๋ฐ์๊ฒ..
์์คํฑ์ด๋ ์ด๋ฐ ๋ฅ์ ๊ฒ์์ด ์ ๋ฐ ๋๋์๋๊ฐ?
๋ด๊ฐ ์์คํฑ์ ์ ๋ชฐ๋ผ์ ๊ทธ๋ฌ๋๋ฐ ํ vs ํ ๊ฒ์ ๋๋์ผ๋ก ์ด์ผ๊ธฐํ๊ฑฐ๋ฉด ๋ง์๊ฑฐ์ผ. ๋๋ ์ ๋ต ์์ฒด๋ ์ค๋ฒ์์น๋ผ๋ ๊ฒ์์์ ๊ฐ์ ธ์จ๊ฑฐ๋ผ.. ๋ค๋ง AI ๊ฐ ์ ๋์ ๊ด๋ฆฌํ๋๋ก ํด์ ์ข ๋ ๋๊ท๋ชจ ์ ํฌ ๋๋์ ๋ ธ๋ฆฌ๊ณ ์์ด.
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์ค, ๋ด๊ฐ ์๊ฐํ๊ฑฐ๋ ๋น์ทํ๊ฑฐ๊ฐ์. ๋ด๊ฐ ๋ง๋ค๋ ค๋ ๊ฒ์ ๋๊ตฐ๊ฐ๋ ๋ถ๋ช ๋ง๋ค์์๊ฑฐ๋ผ ์๊ฐํ๋๋ฐ ์ด๋ฐ ๋ ํผ๋ฐ์ค๋ ์๊ตฌ๋ ใ ใ ๊ณ ๋ง์.
ใ ใ ์ด ๊ฒ์์ด ์ธ๊ธฐ์์ ํ๋ฅ ์ด ๋งค์ฐ ๋๊ฒ ์ง๋ง ๊ทธ๋๋ ๊ฒ์ ๊ฐ๋ฐ ์์ํ ๊ณ๊ธฐ๊ฐ ๋ด๊ฐ ๋ง๋ค์ด๋ณด๊ณ ์ถ์ ๊ฒ์์ ๋ง๋ค์ ์์ผ๋ ์ต๋ํ ์ฌ๋ฏธ์๊ฒ ๊ฐ๋ฐ ์ด์ด๋๊ฐ๋ณด๊ฒ ์...
ํ ํ์ ๊ฒ์ ใฑ - dc App