Phaser 4๋ก Pseudo 3D ๋ ์ด์ฑ ๊ฒ์ ๋ง๋ค๊ธฐ โ Apex Seoul ์นด๋ฉ๋ผ ๊ตฌํ
Phaser 4์ TypeScript๋ก Apex Seoul ํ๋ก์ ํธ๋ฅผ ์ธํ ํ๊ณ , horizon, FOV, camera height๋ฅผ ์ด์ฉํด pseudo 3D ๋๋ก ์นด๋ฉ๋ผ๋ฅผ ๊ตฌํํ์ต๋๋ค.
Phaser 4์ TypeScript๋ก Apex Seoul ํ๋ก์ ํธ๋ฅผ ์ธํ ํ๊ณ , horizon, FOV, camera height๋ฅผ ์ด์ฉํด pseudo 3D ๋๋ก ์นด๋ฉ๋ผ๋ฅผ ๊ตฌํํ์ต๋๋ค.
Isometric Minesweeper์ ๋์ด๋๋ณ ์ต๊ณ ๊ธฐ๋ก ์ ์ฅ, Best ํ์, New best ์ํ, ๊ธฐ๋ก ์ด๊ธฐํ ๋ฒํผ์ ์ถ๊ฐํ๊ณ ์ด๋ฒ ์ง๋ขฐ์ฐพ๊ธฐ ์ฐ์ฌ๋ฅผ ๋ง๋ฌด๋ฆฌํ์ต๋๋ค.
๋ธ๋ก๊ทธ iframe ์์์ Isometric Minesweeper๋ฅผ ๋ชจ๋ฐ์ผ๋ก ํ๋ ์ดํ ์ ์๋๋ก tap reveal, long press flag, landscape ์๋ด, height ๊ธฐ๋ฐ board layout์ ์ถ๊ฐํ์ต๋๋ค.
์ง๋ขฐ์ฐพ๊ธฐ์ ๋์ด๋ ์ ํ๊ณผ ํ์ด๋จธ๋ฅผ ๋ถ์ด๊ณ , ํ ์คํธ๋ก ํ์ํ๋ ๊น๋ฐ๊ณผ ์ง๋ขฐ๋ฅผ Phaser Graphics ๊ธฐ๋ฐ ์์ด์ฝ์ผ๋ก ๋ฐ๊ฟ ๊ฒ์๋ค์ด ํ๋ฉด์ผ๋ก ๋ค๋ฌ์์ต๋๋ค.
์ง๋ขฐ์ฐพ๊ธฐ์ ์๋ง์ ๋ง๋๋ ๋น ์นธ ์ฐ์ ์คํ์ BFS๋ก ๊ตฌํํ๊ณ , ์ ๊ฒ์ ๋ฒํผ๊ณผ ๋จ์ ์ง๋ขฐ ์ UI๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
๊ฒฝ๊ธฐ ์์ฐ์ ์๋ก๊ตฌ ์ถฉ์ฅ๋ก3๊ธธ 12์ ์์นํ ๊ตญ๋ฐฅ์ง ๋ฐฉ๋ฌธ ํ๊ธฐ. ์์ก๊ตญ๋ฐฅ๊ณผ ๊ธฐ๋ณธ ๋ฐ์ฐฌ, ๋งค์ฅ ๋ถ์๊ธฐ, ์ฃผ์ฐจ์ ์ฌ๋ฐฉ๋ฌธ ์์ฌ๊น์ง ์ ๋ฆฌํ๋ค.
ECS scaffold ์์ ์ง๋ขฐ์ฐพ๊ธฐ ๊ท์น์ ์น์ด Mine, Flag, AdjacentMineCount ์ํ๋ฅผ ์ถ๊ฐํ๊ณ , ์ฒซ ํด๋ฆญ ์ดํ ์ง๋ขฐ๋ฅผ ๋ฐฐ์นํ๋ ํ๋ฆ์ ๊ตฌํํ์ต๋๋ค.
Phaser 4 ๊ธฐ๋ฐ ์น๊ฒ์์ ๋ธ๋ก๊ทธ์์ iframe์ผ๋ก ์๋น์คํ๊ธฐ ์ํ ์ฒซ ์คํ์ผ๋ก, Isometric Minesweeper์ ECS scaffold์ isometric ํ์ผ hover ๋ฌธ์ ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค.
ํ ์ค, ์นด์นด์ค๋ฑ ํฌ, ๋ชจ๋๋ชจ, ๋น๊ทผ, ํ๋๋จธ๋, ์ผ์ด๋ฑ ํฌ, ๋ฑ ํฌ์๋ฌ๋๋ฅผ ํ ๋ฌ ๋์ ๊พธ์คํ ํ์ฉํ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฆฌํ๋ค. ์ค์ ์์ต๊ณผ ๊ฐ์ฅ ํจ์จ์ด ์ข์๋ ์ฑ, ๋ค์ ๋ฌ ๊ณํ๊น์ง ๊ณต๊ฐํ๋ค.
์์ ํต๋ญ๊ฑฐ๋ฆฌ ๋ํ ๋ง์ง ์ง๋ฏธํต๋ญ ๋ฐฉ๋ฌธ ํ๊ธฐ. ์ค๋๊ธฐ ์ฝ๋ผ๋ณด ๋งค์ฅ ๋ถ์๊ธฐ์ ๋ฉ๋ด, ์จ์ดํ , ์ฃผ์ฐจ ์ ๋ณด, ์๋ ยทํ๋ผ์ด๋ ๋ฐ๋ฐ ์์ง ํ๊ธฐ๋ฅผ ์ ๋ฆฌํ๋ค.
์ก์์ ์๋ฐ์ ์ ์ ๋ฒ์ด๋ 1์๊ฐ ๋จ์ง ๋ฌ๋ ธ์ง๋ง, ๊ฐํธํ ๋ณต์ฅ์ผ๋ก ๋๊ฐ๋ค๊ฐ ํ์๋ถ ์ ๋ฆผ๊ณผ ์์ฅ ์ธํ ์ ๋ค์ ์ ๊ฒํ๊ฒ ๋ ์ ๋ ๋ผ์ด๋ฉ ๊ธฐ๋ก์ ๋๋ค.
์์ ์ธ๋์์ ์์นํ ๋น๋น๊ตญ์ ์์๋ณธ์ ๋ฐฉ๋ฌธ ํ๊ธฐ. ๋งค์ฝคํ ๋น๋น๊ตญ์์ ๋ด๋ฐฑํ ์์น๊ตญ์, ๋ฉ๋ด ๊ฐ๊ฒฉ๊ณผ ๋งค์ฅ ๋ถ์๊ธฐ๊น์ง ์ง์ ๋ฐฉ๋ฌธ ๊ธฐ์ค์ผ๋ก ์ ๋ฆฌํ๋ค.