๊ฒ์ํผ์ค ์์ฑ -> ์์น๋ก ์ด๋ -> ๋งค์นญ ์ ๊ฑฐ ํ
๋น๊ณต๊ฐ ๋ด๋ ค์ค๊ธฐ ๊ตฌํ ์์
Collapse๋ฅผ ๊ตฌํํ ๋ ์ต๋ํ For์ ์ฐ์ง ์์๋ ค๊ณ ํจ. ๋ฉํฐ์ค๋ ๋๋ก Entity๋ฅผ ๊ฐ๋ณ๋ก ์ฒดํฌ ๋ฐ ์คํํ ์ ์์ผ๋ย ๋ฐ๋ณต๋ฌธ์ ์ฐ์ง ์๋๋ผ๋ ๊ฐ๋ฅํ ๊ฑฐ๋ผ ํ๋จํจ.
๊ทธ๋์ Match์ด ์ด๋ค์ง GamePiece๋ฅผ ํ๊ดดํ๋ฉด์ ํ๊ดดํด๋ ์๋์ผ๋ก ์ ๊ฑฐํ์ง ์์ผ๋ฉด ๋จ์์๋ ICleanupComponentData๋ก MatchHeight์ ๊ฐ์ ์ ๋ฌํ๊ณ CollapseSystem์์ ๋งค์นญ์ผ๋ก ํ๊ดด๋ GamePiece์ ์ขํ์์ MatchHeight๋ฅผ ๋งํผ ์์ ์๋ ๋ ์์ ๋ด๋ฆฌ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํจ. ํ ์คํธํ๋ ์๋๋ ์ค ์๊ณ ํํฌ๋ฅผ ๋๋.
๊ทธ๋ฐ๋ฐ ๋ง์์ฌ ๋งค์นญ์ด ์ฌ๋ฌ๊ตฐ๋ฐ์์ ์ด๋ค์ง๋ฉด ๋ฒ๊ทธ๊ฐ ๋ฐ์. ์ฃผ๋ก ๋น๊ณต๊ฐ ์ฌ์ด์ GamePiece๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ๊ทธ๋ฌ์.
์์ธ์ ์์์ง๋ง ํด๊ฒฐํ ๋ฐฉ๋ฒ์ด ๋์ ํ ๋ ์ค๋ฅด์ง๊ฐ ์์. ์คํธ๋ ์ค์ ๋จธ๋ฆฌํธ์ด ๋น ์ง๊ณ ์ฌ๋ฌ๋ฒ ์ฝ๋๋ฅผ ๊ฐ์์ ์์ง๋ง ๊ทธ๋๋ ์๋จ. ์ค๋ฌด์์ผ๋ฉด ํ๋ฃจ์ ๋ ์ฝ์งํ๋ค๊ฐ ๋น ๋ฅด๊ฒ ์ ํํ๊ฑฐ๋ ์ค๋ ฅ์์๊ฒ ์กฐ์ธ์ ๊ตฌํ๊ฒ ์ง๋ง ๊ณต๋ถ ๋ชฉ์ ์ด๋ ๊ณ ๋ํ๋ ์๊ฐ์ ์ต๋ํ ๊ฐ์ง๊ณ ์ 3์ผ์ ๋ ์ฝ์งํจ. ๋ด IQ๋ก๋ ์๋๊ฒ ๋ค ์ถ์ด์ ๊ฒฐ๊ตญ For๋ฅผ ์ด์ฉํ๊ธฐ๋ก ํจ. ์ด๋ ๊ฒ ํ๋ ์ ๋ ๊ฒ ํ๋ For๋ฅผ ์จ์ผ ํ ๊ฑฐ ๊ฐ์์. ์ง๊ธ ์๊ฐํด๋ณด๋ฉด ๋ด๊ฐ ์ ๋ฐ๋ณต๋ฌธ์ ์์ฐ๋ ค๋ ๊ฒ์ ๊ฝํ๋์ง ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์. (--) ๊ทธ๋๋ ๊ณ ๋ํ๋ ๋์ ์ฌ๋ฌ๊ฐ์ง๋ฅผ ๊ณต๋ถํ๊ฒ ๋์ด์ ๋จ๋ ์ฅ์ฌ๋ผ ์๊ฐ..
๋จผ์ GamePiece์ ICleanupComponentData๋ฅผ ์์๋ฐ์์ GamePiece์ Entity๊ฐ ํ๊ดด๋์ด๋ GamePieceData๋ ๋จ์์๋๋ก ๋ง๋ฌ.
ํ๊ดด๋ ๊ฒ์ํผ์ค์ ํ๊ดด์๋ ๊ฒ์ํผ์ค์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑ
Query๋ก ๋ค์ด์จ gamePieceData๋ณด๋ค ์๋์ ์๋ ๋น์นธ์ ๊ฐ์๋ฅผ ํ์ ํ ํ ๋ด๋ฆผ.
์คํ ๊ฒฐ๊ณผ
๊ฒฐ๋ก
์ฐ์๋๊ธฐ ์๋ ๊ฒ์ ๊ฝํ์ 30๋ถ ๋ด์ ์๋ฃํ ์๋ ์๋ ๊ฒ์ 3์ผ ๊ฑธ๋ฆผ.
๋จธ๋ฆฌ ์นด๋ฝ 1000๋ชจ ์ ๋ ๋น ์ง.
์ง์คํ๋ค๊ฐ ์ด๋ 2์ผ ๋ชป๊ฐ.
์คํฐ -> ์ด๋ -> ๋งค์นญ -> ํ๊ดด -> ๋ฌด๋์ง -> ๋งค์นญ ๊น์ง ํ ์ฌ์ดํด์ ๋ค ๋ง๋ค์๋ค. ๊ธฐ๋ณธ ๋ก์ง์ ๋ค ์ง ๋ฏ ์ถ๋ค. ์ด์ ๊ฒ์ํผ์ค ์ค์, ํญํ, ๋ฐ๋๋ฝ, ์ ํ ์ ๋๋ง ๋ง๋ค๋ฉด ๋ ๋ฏ. ๋ญ.. ๊ฑฐ์ ๋ค ๋ง๋ ๊ฒ ์๋๊น ์ถ๋ค.
Dots๋ก ํ ์ ๋๋ก ์ต์ ํ๊ฐ ํ์ํ ๊ฒ?!
๊ณต๋ถํ๋๋ฐ ํผ์ฆ๋งํ๊ฒ ์์์ดใ ใ
๊ทธ๋ฆฌ๊ณ ๋จ์ ์ต์ ํ ๋๋ฌธ์ DOTS๋ฅผ ์ฐ๋ ค๋๊ฒ ์๋๋ผ ๋ก์ง์ด ํจ์ฌ ๋ ๊ฐ๋จํด์ง. ์ ์ง๋ณด์, ํ ์์ ๋ฑ์์๋ ๊ฐ์ฒด์งํฅ๋ณด๋ค ECS(์ ๋ํฐ๋ก DOTS)๊ฐ ํจ์ฌ ์ ๋ฆฌํ๋ค๊ณ ํ๋จ๋์ด์ ์ด๊ณต ์ค
์ ๊ณต๋ถ์ฉ
๋์ค๋ฒ์ ์์ ๊ทธ๋ฅ ์๋์ผ๋ก dots๋ก ๋ณํํด์ค๋ค๊ณ ํ๋๋ฐ
ํ ํ 5๋ ์์ํจ
ํด๋น ๋๊ธ์ ์ญ์ ๋์์ต๋๋ค.
์ด์ํ๊ฑฐ์ ๊ฝํ์ ์ด๋ ค์ ๋ ๊ฑฐ์. .
ECS์กฐ์ฌํ ๊ฑฐ, ECS์ค๋ฝ๊ฒ ์ง๋ ค๋ค๊ฐ ๋จ์ํ๊ฑธ ์ด๋ ต๊ฒ๋ง๋ค์ด๋ฒ๋ฆผ... ๊ทผ๋ฐ์ด๊ฒ๋, ๋ค๋ฅธ์ฌ๋์ด ์ง ๋ ํผ๋ฐ์ค๊ฐ ์์ด์, ์ด๊ฒ ์ํ๋์ง์ธ์ง ์๋์ง๋ฅผ ์์์ฑ๊ธฐ๋ ํ๋ฌ... github์ ๋์๋ค๋๋ ECS๊ด๋ จ์ฝ๋๋ค ์ฃผ์ฑ ํ๋ฒ ๋ณด๊ณ ์ค๋๊ฑฐ ์ถ์ฒ. ๋ ๊ฐ์ ๊ฒฝ์ฐ ์ ๋ง ๋ง์ด ๋์๋ฌ์
0.5 ์์ 1.0์ผ๋ก ๋์ด๊ฐ๋ฉด์ ๋ง์ด ๋ฌ๋ผ์ ธ์ ํท๊ฐ๋ฆฌ์ง ์์๋ ค๊ณ 1.0๋ง ์ฐพ๊ณ ์์ ใ - dc App
๊ตณ.. ๋์ค์ 1.0์กฐ์ธ์ข.. ๊ตฝ์ ๊ตฝ์
์ธ์ ๋ ๋ฌผ์ด๋ณด๋ผ๊ตฌ! ใ ใ - dc App