Phaser 4 Isometric Minesweeper 3ํธ โ ๋น ์นธ ์ฐ์ ์คํ๊ณผ ์ ๊ฒ์ ํ๋ฆ ๋ง๋ค๊ธฐ
์ง๋ขฐ์ฐพ๊ธฐ์ ์๋ง์ ๋ง๋๋ ๋น ์นธ ์ฐ์ ์คํ์ BFS๋ก ๊ตฌํํ๊ณ , ์ ๊ฒ์ ๋ฒํผ๊ณผ ๋จ์ ์ง๋ขฐ ์ UI๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
์ง๋ขฐ์ฐพ๊ธฐ์ ์๋ง์ ๋ง๋๋ ๋น ์นธ ์ฐ์ ์คํ์ BFS๋ก ๊ตฌํํ๊ณ , ์ ๊ฒ์ ๋ฒํผ๊ณผ ๋จ์ ์ง๋ขฐ ์ UI๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
ECS scaffold ์์ ์ง๋ขฐ์ฐพ๊ธฐ ๊ท์น์ ์น์ด Mine, Flag, AdjacentMineCount ์ํ๋ฅผ ์ถ๊ฐํ๊ณ , ์ฒซ ํด๋ฆญ ์ดํ ์ง๋ขฐ๋ฅผ ๋ฐฐ์นํ๋ ํ๋ฆ์ ๊ตฌํํ์ต๋๋ค.
Phaser 4 ๊ธฐ๋ฐ ์น๊ฒ์์ ๋ธ๋ก๊ทธ์์ iframe์ผ๋ก ์๋น์คํ๊ธฐ ์ํ ์ฒซ ์คํ์ผ๋ก, Isometric Minesweeper์ ECS scaffold์ isometric ํ์ผ hover ๋ฌธ์ ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค.
๋ผ์ด๋ฉ ์ ์ GPX ํ์ผ์ ๋ธ๋ผ์ฐ์ ์์๋ง ๋ถ์ํด ๊ธ๊ฒฝ์ฌ, ๊ธ๋ค์ดํ, ๊ธ์ปค๋ธ, ๊ธด ์ ํ๊ณผ ๋ค์ดํ ๊ตฌ๊ฐ์ ๋ฏธ๋ฆฌ ํ์ธํ ์ ์๋ GPX ์ํ๊ตฌ๊ฐ ๋ถ์๊ธฐ๋ฅผ ์๊ฐํฉ๋๋ค.
๋ก์ปฌ GPX ํ์ผ์ ๋ธ๋ผ์ฐ์ ์์๋ง ์ฝ์ด ๊ฑฐ๋ฆฌ, ํ๋๊ณ ๋, ์์ ์์์๊ฐ, ๋์ด๋ ์ ์์ ์นด์นด์ค ์ง๋ ๊ฒฝ๋ก๋ฅผ ํ์ธํ๋ GPX ๋์ด๋ ๊ณ์ฐ๊ธฐ๋ฅผ ๋ง๋ ๊ณผ์ ์ ์ ๋ฆฌํฉ๋๋ค.
Phaser 3์ Scene ์ค์ฌ Player ์ฝ๋๋ฅผ Phaser 4 ECS ์คํ์ผ๋ก ์ฎ๊ธฐ๋ ๊ณผ์ ์ ์ค์ ์์๋ก ์ ๋ฆฌํ์ต๋๋ค. ์ด๋, ์ ํ, ๊ณต๊ฒฉ ๋ก์ง์ ๋จ๊ณ๋ณ๋ก ๋ณํํด๋ด ๋๋ค.
Phaser 3 ํ๋ก์ ํธ๋ฅผ Phaser 4๋ก ์ฎ๊ธธ ๋ ๋์น๊ธฐ ์ฌ์ด ํฌ์ธํธ๋ฅผ ์ฒดํฌ๋ฆฌ์คํธ๋ก ์ ๋ฆฌํ์ต๋๋ค. ์ฌ์ ์ ๊ฒ๋ถํฐ ์ฝ๋ ๊ตฌ์กฐ, ๋ ๋๋ง, ๋ฐฐํฌ ๊ฒ์ฆ๊น์ง ํ ๋ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
Phaser 4์ ํต์ฌ ๋ณ๊ฒฝ์ฌํญ์ Phaser 3์ ๋น๊ตํ์ฌ ์ธ๋๊ฒ์ ๊ฐ๋ฐ์ ๊ด์ ์์ ์ ๋ฆฌํฉ๋๋ค. ์ฑ๋ฅ, ๊ตฌ์กฐ, ๋ ๋๋ง ๋ณํ๊น์ง ํ ๋ฒ์ ์ดํดํ ์ ์์ต๋๋ค.
Next.js ๊ธฐ๋ฐ ์ ์ ๋ธ๋ก๊ทธ๋ฅผ Astro + Tailwind๋ก ์ด์ฃผํ๋ฉด์ ์ป์ ๊ฒ๋ค(์๋, ๋จ์ํจ, ๋์์ธ ์์คํ ).
์ต๊ทผ์ ์ด๋ฏธ์ง DRM ์ ๋ํ ๊ด์ฌ์ผ๋ก, ๊ตฌํ ๋ฐฉ๋ฒ์ PoC ์งํํ ๋ด์ฉ์ ๋๋ค.
gatsby ๋ ์ ์ ์ฌ์ดํธ ์์ฑ๊ธฐ๋ก์จ, ํ๋ฅญํ ๋ธ๋ก๊ทธ ํด์ ๋๋ค. ๋ค๋ง ์กฐํ์๋ฑ ์ฌ๋ฌ๊ฐ์ง ๋ค์ด๋๋ฏนํ ๊ธฐ๋ฅ๋ค์ (๋ฐ๋ก) ์ง์ํ์ง ์๋๋ฐ์...