ใ ใฑใด ์ ๋๋ค! ECS๋ฅผ ์ ์์๊ฑฐ๋ ์ ์ฐ์๋ ๋ถ๋ค์ด ๊ณ์ ๊ฐ์??
ํ์ ๋ถ๋ค์ค์์ ECS๋ฅผ ์ฌ์ฉํด์ ๊ฒ์์ ์ ์ํ๊ณ ์๋ค ํ์ ๋ค๋ฉด ํน์ ๋ง์ด ์ฐ์ด๋ ์์คํ ์ธ์ง ์ฌ์ญ๊ณ ์ถ์ต๋๋ค!
์ง๊ธ ๊ณต๋ถํ๋ฉด์ ๋ณด๋๊น ์ต์ ํ๋ฉด์ด๋ ์ฑ๋ฅ๋ฉด์ด๋ ๊ต์ฅํ ๋ฐ์ด๋์ ๊ณต๋ถ๋ฅผ ์งฌ์งฌํ ํด๋ณด๊ณ ์๋๋ฐ
ํ์คํ ์ง์ ์ฅ๋ฒฝ์ด๋ ํ์ฉ ๋ฐฉ๋ฒ์ด ์ด๋ ต๋๋ผ๊ตฌ์. ๊ทธ๋์ ์ด ๊ธฐ๋ฅ์ด ํ์ฌ ํ์ ์์๋ ๋ง์ด ์ฐ์ด๋์ง, ๋ ์ด๋ค ๋ถ๋ถ์์
์ฐ์ด๋์ง๊ฐ ๊ถ๊ธํฉ๋๋ค :)
๊ทธ๋ฅ ์ ๋ฐฉ์์ ์ผ๋ก ๋ค ์ฐ์ด์ง ์๋
์ด์ ์์๋ณด๋ค ECS๋ก ๋ค ์์ ๋ฅผํด์ ์ฒ๋ฆฌํ์์
๊ฒ์ด ๊ฐ์ฒด ์กด๋ ๋ง์ง ์๋ค๋ฉด ๋น์ถ. ์ฝ๋ ๊ฐ๋ ์ฑ ๋ฅ๋ง๋จ
์ญ์ ๊ฐ์ฒด๊ฐ ์์ฒญ ๋ง์๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด์ง๋ฉด์ ์ฐ๊ฒ ๋๋๊ฑด๊ฐ์?? ์ ๋ ์ฝ์ด๋ณด๋๊น ํจ์จ์ ์ง์ง ์ข์ ํ์์ธ ๊ฑฐ ๊ฐ์๋ฐ ๊ต์ฅํ ์ฝ๋ ๊ธฐ๋ฐ์ ์ธ ๊ฒ์ ๊ฐ๋ฐ์ด๋ผ์ ใ ใ
๊ทธ๋ฆฌ๊ณ ECS๋ ์ฑ๋ฅ์ด๋ ์ต์ ํ๊ฐ ์๋๋ผ ๊ฐ์ฒด๊ฐ์ ์์, ๊ด๊ณ๊ฐ ๋๋ฌด ๋ณต์กํด์ ธ์ ๊ทธ๊ฑธ ์ข ๋จ์ํ๊ฒ ํ๋ ค๊ณ ์ฐ๋๊ฑฐ์ผ๊ฑธ?
๊ทธ๋๊น์ฐ. ๊ทธ๊ฒ ์์์ด๋ ๊ด๊ณ๋ฅผ ์ต์ ํํ๋ ค๊ณ ์๋ก์ด ์์คํ ์ ๊ตฌ์ถํด์ ์ฐ๋ ๊ฑฐ๋๋ผ๊ตฌ์. ๊ทผ๋ฐ ๋ฐฉ์์ด ์ฝ๋์๋ง ๊ฑฐ์ ์์กดํ๋ ์์ด๋ผ์.. ํก
YAGNI
์์ง ํ๋ก๋์ ์ ์ธ๋งํ ๋จ๊ณ๊ฐ ์๋
์ต์น๊ฐ ECS๋ฅผ ์ผ์๊ณ GDC์์ ์์ธํ๊ฒ ๋ฐํ๋ ํ์(์ ํ๋ธ์ ์์) ๊ทธ๋ฐ๋ฐ ๊ทธ๋ฐ ์ฃผ์ ๋ก ๋ฐํํ๋ค๋ ๊ฒ ์์ฒด๊ฐ ์์ง ๊ฐ๋ฐ์๋ค์๊ฒ ๋ฏ์ค๋ค๋ ๋ป์ด๊ฒ ์ง. ECS ์ฅ์ ์ ์บ์ ๋ฏธ์ค๊ฐ ์ ์ด์ ๋น ๋ฅด๊ณ Serialization์ด ์ฌ์์ POTG๋ ๋ค์๋ณด๊ธฐ ๊ธฐ๋ฅ๊ฐ์ ๊ฑธ ํธํ๊ฒ ๋ง๋ค์๋ค๋ ์ . ๊ฐ๋ฐ์ ๋ง๋ก๋ ์๋ฉํธ๋ผ ๋ง๋ค ๋, ์ฝ๋ ์ถ๊ฐ ์์ด ์ด๋ฏธ ์๋ Component๋ค์ ์กฐํฉ๋ง์ผ๋ก ๋ง๋ค์๋ค๊ณ ํ๋๋ฐ, OOP๋ก ๋ช๋ ๊ฐ ์ฝ๋ฉํด๋ณด๋ ์ฝ๋์ ๊น๋ํจ ์ธก๋ฉด์ ์คํ๋ ค ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ธ ECS๊ฐ ๋ ์ง๊ด์ ์ธ ๊ฒ ๊ฐ๊ธฐ๋ ํจ. ๋จ์ ์ ์จ๋ณธ์ฌ๋ ๋ง๋ก๋ ๋๋ฒ๊น ์ด ์ด๋ ต๊ณ ๊ตฌํ์ด ์ด๋ ต๋ค๋ ์ . ๊ทธ๋ฆฌ๊ณ ์์ง ์ ๋ํฐ ECS๋ ๊ทธ๋ ๊ณ ์ ๋๋ก๋ ํ๋ ์์ํฌ๊ฐ ์๋ ๊ฑธ๋ก ์๊ณ ์์. ๋ฏธ๊ฐ์ฒ์ง๊ธฐ ๋๋ฌธ์ ์๋ ์ฌ๋๋ ๊ด๋ จ ๊ธ๋ ๋ณ๋ก ์์
์ค ๊ทธ๋๋ ์ด๋ ์ ๋ ์ด๋ค ์ํ์ ์์คํ ์ธ์ง ๋์ถฉ ๊ฐ์ ์ก์์ต๋๋ค ๊ฐ์ฌํฉ๋๋ค! :)