ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toFrontend
์๋ฌธ ์ฝ๊ธฐ
Vanilla JS ๊ธฐ๋ฐ SVG Procedural Generation์ ํ์ฉํ ํ ์คํธ ๊ธฐ๋ฐ ๊ฐ๋ ๊ฒ์ ๊ตฌํ
I built a game where every word you type blooms into a flower ๐ธ (Vanilla JS, no frameworks)
AI ์์ฝ
Context
์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์กด์ฑ์ ์ ๊ฑฐํ Pure JavaScript ํ๊ฒฝ์์ ํ ์คํธ ์ ๋ ฅ๊ฐ์ ๋ฐ์ํ๋ ๋์ ์๊ฐํ ๊ตฌํ ํ์. ์ ํํ๋ ์์ ์ฌ์ฉ ๋์ ์ ๋ ฅ ๋ฐ์ดํฐ์ ํน์ฑ์ ๋ฐ๋ผ ์ค์๊ฐ์ผ๋ก ํํ๊ฐ ๋ณํ๋ Procedural Generation ๊ตฌ์กฐ ์ค๊ณ.
Technical Solution
- ์ ๋ ฅ ๋จ์ด์ ๊ธธ์ด์ ๋น๋กํ ๋งค๊ฐ๋ณ์ ์ค์ ์ ํตํ SVG Procedural Generation ๊ธฐ๋ฐ ๊ฝ ํํ ์์ฑ
- Web Audio API๋ฅผ ํ์ฉํ์ฌ ๋จ์ด ๊ธธ์ด์ ๋ฐ๋ผ ๊ฐ๋ณ์ ์ธ ์ฃผํ์๋ฅผ ์์ฑํ๋ ์ฌ์ด๋ ํผ๋๋ฐฑ ์์คํ ๊ตฌ์ถ
- HTML5 Canvas๋ฅผ ํตํ ๋ฐฐ๊ฒฝ ์์์ ๋ ๋ฆฝ์ ๋ ๋๋ง์ผ๋ก ๋ฉ์ธ SVG ๊ฐ์ฒด์์ ๋ ๋๋ง ๋ถํ ๋ถ๋ฆฌ
- ํ๋ ์์ํฌ ์๋ Vanilla JS ์ํคํ ์ฒ ์ฑํ์ ํตํ ๋ฐํ์ ์ค๋ฒํค๋ ์ต์ํ ๋ฐ ๋ก๋ฉ ์๋ ์ต์ ํ
- CSS Media Queries ๊ธฐ๋ฐ์ Responsive Design ์ ์ฉ์ผ๋ก ๋ค์ํ ๋๋ฐ์ด์ค ํ๊ฒฝ์์์ ๋ ์ด์์ ์ผ๊ด์ฑ ํ๋ณด
์ค์ฒ ํฌ์ธํธ
1. ๋จ์ ๋ฐ๋ณต ์์ ๋์ ์ ๋ ฅ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ Procedural Generation ์ ์ฉ ๊ฐ๋ฅ์ฑ ๊ฒํ
2. Web Audio API๋ฅผ ํตํ ์ฌ์ฉ์ ์ธํฐ๋์ ์ ์ฒญ๊ฐ์ ํผ๋๋ฐฑ ๊ฐํ
3. ๋ณต์กํ ๋ฐฐ๊ฒฝ ์ ๋๋ฉ์ด์ ์ ๊ฒฝ์ฐ DOM ๊ธฐ๋ฐ SVG๋ณด๋ค Canvas ๋ ๋๋ง ํจ์จ์ฑ ํ์ธ