๋ถ๋ฅ:๋ผ์ด๋ธ๋ฌ๋ฆฌ
์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
Sam Lantinga[1]๊ฐ ๋ง๋ ํฌ๋ก์คํ๋ซํผ UI ๋ฐ ๋ฏธ๋์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ.
2. ํน์ง[ํธ์ง]
ํฌ๋ก์ค-ํ๋ซํผ์ด๋ผ์ ์ด์์ด ์ฝ๋ค. ์๋์ฐ, ๋ฆฌ๋
์ค, OS X, ์๋๋ก์ด๋, iOS ์ธ์๋ ์ด๊ฒ์ ๊ฒ ์ง์ํ๋ค. ๊ทธ๋ฌ๋ค ๋ณด๋ ๋ฐธ๋ธ ์ฝํผ๋ ์ด์
์์๋ ๊ฒ์์ ๋ฆฌ๋
์ค๋ก ์ด์ํ ๋ ์ฌ์ฉํ๋ค. MAME ์๋ฎฌ๋ ์ดํฐ์๋ ์ด๊ฒ ์ฌ์ฉ๋๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ SDL๊ณผ ์ด๋ฏธ์ง์ ๊ดํ SDL_image, ํฐํธ ๋ ๋๋ง์ ์ฌ์ฉ๋๋ SDL_TTF, ์์ , ๋์์ ๋ฑ์ ์ฌ์ํ ๋ ์ฌ์ฉํ๋ SDL_Mixer, ๋คํธ์ํน์ ์ฌ์ฉํ๋ SDL_net ๋ฑ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ฉฐ, ๊ทธ ์ธ์ ์ฌ์ฉ์๊ฐ ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์๋ค.
๋ค๋ฅธ ์ธ์ด๋ก๋ ๋ง์ด ์ด์์ด ๋์๋๋ฐ C/C++์ ๋น์ฐํ๊ณ Java, C#, Ruby, Python, Perl, Lua, Rust ๋ฑ์์๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ SDL๊ณผ ์ด๋ฏธ์ง์ ๊ดํ SDL_image, ํฐํธ ๋ ๋๋ง์ ์ฌ์ฉ๋๋ SDL_TTF, ์์ , ๋์์ ๋ฑ์ ์ฌ์ํ ๋ ์ฌ์ฉํ๋ SDL_Mixer, ๋คํธ์ํน์ ์ฌ์ฉํ๋ SDL_net ๋ฑ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ฉฐ, ๊ทธ ์ธ์ ์ฌ์ฉ์๊ฐ ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์๋ค.
๋ค๋ฅธ ์ธ์ด๋ก๋ ๋ง์ด ์ด์์ด ๋์๋๋ฐ C/C++์ ๋น์ฐํ๊ณ Java, C#, Ruby, Python, Perl, Lua, Rust ๋ฑ์์๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
3. ๋ฒ์ [ํธ์ง]
๋ฒ์ ์ ํฌ๊ฒ ๋๋๋ฉด 1.2์ 2.0 ๋๊ฐ์ง๊ฐ ์๋ค.
3.1. 1.2[ํธ์ง]
์์ ๋ ๋ฒ์ ์ 1.2.15
SDL1 ์์ ๊ฐ์ฅ ์์ ๋ ๋ฒ์ ์ด์ ๋ง์ง๋ง์ผ๋ก ์ ๋ฐ์ดํธ ๋์๋ ๋ฒ์ . 1.3์ด ๊ฐ๋ฐ์ค์ด์์ง๋ง ๋ฐ๋ก 2.0์ผ๋ก ๋์ด๊ฐ๊ธฐ ๋๋ฌธ์ 1.2๊ฐ ๋ง์ง๋ง์ด ๋์๋ค.
ํน์ง์ด๋ผ๋ฉด Simple DirectMedia Layer ๋ผ๋ ์ด๋ฆ์ ๊ฑธ๋ง๊ฒ ๊ต์ฅํ ๊ฐ๋จํ ๊ธฐ๋ฅ๋ค์ ์์ฃผ๋ก ์ง์ํ๋ค. ๋์ ๊ทธ๋งํผ ๊ธฐ๋ฅ๋ ์ ์๊ธฐ ๋๋ฌธ์ ํ์ฉํ๊ธฐ๊ฐ ์๋นํ ํ๋ ํธ. ๋ณธ๊ฒฉ์ ์ผ๋ก ๊ฒ์์ ๊ฐ๋ฐํ๋ ค๊ณ ํ๋ฉด OpenGL์ ์ฌ์ฉํด์ผํ๋ค. (SDL_Surface๋ผ๊ณ ํฝ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋๋ฐ, ์ด๋ฏธ์ง ํ์ , ์ค์ผ์ผ ๋ฑ์ ๊ฐ๋จํ ๊ธฐ๋ฅ๋ ์ง์ํ์ง ์๋๋ค.)
๊ทธ๋๋ ๋น๋์ค, ์ค๋์ค, ์กฐ์ด์คํฑ ๋ฑ ์ง์ํ ๊ฒ์ ๋ค ์ง์ํ๊ธฐ ๋๋ฌธ์ ํฌ๊ฒ ๋ฌธ์ ๋ ์์๊ณ 2.0๋ณด๋ค๋ ํจ์ฌ ๊ฐ๋ณ๊ธฐ๋๋ฌธ์ ์์ง๋ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.
SDL1 ์์ ๊ฐ์ฅ ์์ ๋ ๋ฒ์ ์ด์ ๋ง์ง๋ง์ผ๋ก ์ ๋ฐ์ดํธ ๋์๋ ๋ฒ์ . 1.3์ด ๊ฐ๋ฐ์ค์ด์์ง๋ง ๋ฐ๋ก 2.0์ผ๋ก ๋์ด๊ฐ๊ธฐ ๋๋ฌธ์ 1.2๊ฐ ๋ง์ง๋ง์ด ๋์๋ค.
ํน์ง์ด๋ผ๋ฉด Simple DirectMedia Layer ๋ผ๋ ์ด๋ฆ์ ๊ฑธ๋ง๊ฒ ๊ต์ฅํ ๊ฐ๋จํ ๊ธฐ๋ฅ๋ค์ ์์ฃผ๋ก ์ง์ํ๋ค. ๋์ ๊ทธ๋งํผ ๊ธฐ๋ฅ๋ ์ ์๊ธฐ ๋๋ฌธ์ ํ์ฉํ๊ธฐ๊ฐ ์๋นํ ํ๋ ํธ. ๋ณธ๊ฒฉ์ ์ผ๋ก ๊ฒ์์ ๊ฐ๋ฐํ๋ ค๊ณ ํ๋ฉด OpenGL์ ์ฌ์ฉํด์ผํ๋ค. (SDL_Surface๋ผ๊ณ ํฝ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋๋ฐ, ์ด๋ฏธ์ง ํ์ , ์ค์ผ์ผ ๋ฑ์ ๊ฐ๋จํ ๊ธฐ๋ฅ๋ ์ง์ํ์ง ์๋๋ค.)
๊ทธ๋๋ ๋น๋์ค, ์ค๋์ค, ์กฐ์ด์คํฑ ๋ฑ ์ง์ํ ๊ฒ์ ๋ค ์ง์ํ๊ธฐ ๋๋ฌธ์ ํฌ๊ฒ ๋ฌธ์ ๋ ์์๊ณ 2.0๋ณด๋ค๋ ํจ์ฌ ๊ฐ๋ณ๊ธฐ๋๋ฌธ์ ์์ง๋ ์ฌ์ฉํ๊ธฐ๋ ํ๋ค.
3.2. 2.0[ํธ์ง]
์์ ๋ ๋ฒ์ ์ 2.0.12
๋ณธ๊ฒฉ์ ์ผ๋ก ๋ฌด๊ฑฐ์์ง๊ธฐ ์์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์๋ 1.3์ผ๋ก ๊ฐ๋ฐ์ค์ด์์ง๋ง ๊ธฐ๋ฅ์ด ๋๋ฌด ๋ง์ด ์ถ๊ฐ๋๊ณ ๋ฏ์ด๊ณ ์ณ์ ธ์ ํธํ์ฑ์ด ์์ด์ง์ 2.0์ผ๋ก ๋ฐ๊พผ ๋ฏ ํ๋ค.
์ฅ์ ์ด๋ผ๋ฉด ์ง์ํ๋ ๊ธฐ๋ฅ์ด ๋์ฑ ๋ง์์ก๋ค๋ ๊ฒ์ด๋ค. 1.2์์๋ ์ง์ํ์ง ์๋ ํ์ , ์ค์ผ์ผ๋ง๋ ์ง์ํ๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋์จ์ด ๊ฐ์์ ๋ฐ์ ์ ์๊ฒ ๋์๋ค.
๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฒด๊ฐ ๋ฌด๊ฑฐ์์ก๊ณ , SDL 1.2์ ํธํ์ด ์ ์๋๋ฉฐ ๋ณต์กํด์ก๋ค. ๊ทธ๋ฆฌ๊ณ ์ง์๋๋ ํ๋ซํผ์ ๊ฐ์๊ฐ ์ ์ด์ก๋ค
๋ณธ๊ฒฉ์ ์ผ๋ก ๋ฌด๊ฑฐ์์ง๊ธฐ ์์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์๋ 1.3์ผ๋ก ๊ฐ๋ฐ์ค์ด์์ง๋ง ๊ธฐ๋ฅ์ด ๋๋ฌด ๋ง์ด ์ถ๊ฐ๋๊ณ ๋ฏ์ด๊ณ ์ณ์ ธ์ ํธํ์ฑ์ด ์์ด์ง์ 2.0์ผ๋ก ๋ฐ๊พผ ๋ฏ ํ๋ค.
์ฅ์ ์ด๋ผ๋ฉด ์ง์ํ๋ ๊ธฐ๋ฅ์ด ๋์ฑ ๋ง์์ก๋ค๋ ๊ฒ์ด๋ค. 1.2์์๋ ์ง์ํ์ง ์๋ ํ์ , ์ค์ผ์ผ๋ง๋ ์ง์ํ๊ณ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋์จ์ด ๊ฐ์์ ๋ฐ์ ์ ์๊ฒ ๋์๋ค.
๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฒด๊ฐ ๋ฌด๊ฑฐ์์ก๊ณ , SDL 1.2์ ํธํ์ด ์ ์๋๋ฉฐ ๋ณต์กํด์ก๋ค.
[1] ๋ธ๋ฆฌ์๋ ์ํฐํ
์ธ๋จผํธ์์ ์๋ ์ค๋ธ ์ํฌ๋ํํธ๋ฅผ ๊ฐ๋ฐํ์์ผ๋ฉฐ ํ์ฌ๋ ๋ฐธ๋ธ ์ฝํผ๋ ์ด์
์์