Phaser 4 Pseudo 3D ๋ ์ด์ฑ ๊ฒ์ โ RoadSegment๋ก ์ปค๋ธ ๋๋ก ๋ง๋ค๊ธฐ
Apex Seoul์ ์์ ์ง์ ๋๋ก๋ฅผ RoadSegment ๊ธฐ๋ฐ ๋ ๋๋ฌ๋ก ๋ถ๋ฆฌํ๊ณ , curve ๊ฐ์ ๋์ ํด pseudo 3D ์ปค๋ธ ๋๋ก๋ฅผ ๊ตฌํํ์ต๋๋ค.
Apex Seoul์ ์์ ์ง์ ๋๋ก๋ฅผ RoadSegment ๊ธฐ๋ฐ ๋ ๋๋ฌ๋ก ๋ถ๋ฆฌํ๊ณ , curve ๊ฐ์ ๋์ ํด 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๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
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๋ก ์ฎ๊ธธ ๋ ๋์น๊ธฐ ์ฌ์ด ํฌ์ธํธ๋ฅผ ์ฒดํฌ๋ฆฌ์คํธ๋ก ์ ๋ฆฌํ์ต๋๋ค. ์ฌ์ ์ ๊ฒ๋ถํฐ ์ฝ๋ ๊ตฌ์กฐ, ๋ ๋๋ง, ๋ฐฐํฌ ๊ฒ์ฆ๊น์ง ํ ๋ฒ์ ํ์ธํ ์ ์์ต๋๋ค.