1. ๋ธ๋ฃจํ๋ฆฐํธ์ C++
์ธ๋ฆฌ์ผ ์์ง์์ ๊ฒ์ ๊ธฐ๋ฅ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ธ๋ฃจํ๋ฆฐํธ์ C++์ด ์๋ค.
- ๋ธ๋ฃจํ๋ฆฐํธ๋ ๋์ ๋ณด์ด๋ ๋ ธ๋์ ๋ ธ๋๋ฅผ ๋ณด๋ฉฐ ๋์ ๋ณด์ด๋ ํ๋ฆ์ ๋ง๋ค์ด๋ด๋ ๋น์ฃผ์ผ ์คํฌ๋ฆฝํธ์ด๋ค.
- C++์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ง์ ํ์ดํ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํด์ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ๋จ๋ ์ผ๋ก ์ฌ์ฉํ์ฌ ๊ฒ์์ ๋ง๋๋ ๊ฒ๋ ๊ฐ๋ฅํ์ง๋ง, ํ๋ก๊ทธ๋๋จธ๊ฐ C++๋ก ๋ฒ ์ด์ค๊ฐ ๋๋ ๊ฒ์ ๊ธฐ๋ฅ์ ๋ง๋ค๊ณ , ๋์์ด๋๊ฐ ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์์ ์ฌ๋ฏธ๋ฅผ ์ํ ๊ธฐ๋ฅ๋ค์ ์ ์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํจ๊ป ์ฌ์ฉํ ๋ ์๋์ง๋ฅผ ๋ธ๋ค.
2. ๋ธ๋ฃจํ๋ฆฐํธ
๋ธ๋ฃจํ๋ฆฐํธ๋ ๋น์ฃผ์ผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค. ๋น์ฃผ์ผ ํ๋ก๊ทธ๋๋ฐ์ ์๊ฐ์ ์ผ๋ก ๋ธ๋ก์ ์์ผ๋ฉฐ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์๊ฒ ํด์ฃผ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ด๋ค.
3. ์ข ๋ฅ
- ๋ ๋ฒจ ๋ธ๋ฃจํ๋ฆฐํธ: ๋ ๋ฒจ์ ํ๋์ฉ ํ ๋น๋์ด ์๋ ๋ธ๋ฃจํ๋ฆฐํธ๋ก ๋ ๋ฒจ์ ์ค์น๋ ๊ฐ์ข ์กํฐ์ ์ํธ ์์ฉ์ ํตํด ๊ฒ์์ ์งํํด ๊ฐ๋ค. ๋ ๋ฒจ์ ๋ฉ์ธ ํ๋ก๊ทธ๋จ์ ํด๋นํ๋ฉฐ ๋ค๋ฅธ ๋ ๋ฒจ์ ๋ด์ฉ์ ์ฐธ์กฐํ ์ ์๋ค.
- ํด๋์ค ๋ธ๋ฃจํ๋ฆฐํธ: ์กํฐ์ ํ๋์ฉ ํ ๋น๋์ด ์๋ ๋ธ๋ฃจํ๋ฆฐํธ์ด๋ค.
- ๊ฒ์ ๋ชจ๋ ๋ธ๋ฃจํ๋ฆฐํธ: ๋งต์ ๊ท์น, ํ๋ ์ด์ด ์บ๋ฆญํฐ, ํ๋ ์ด์ด ์ปจํธ๋กค, ์นด๋ฉ๋ผ ๋ฑ์ ์ค์ ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ๊ฒ์ ๋ชจ๋ ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ๋ง๋ค์ง ์์ผ๋ฉด ์ธ๋ฆฌ์ผ์ GameMode ๋ธ๋ฃจํ๋ฆฐํธ๊ฐ ์ฌ์ฉ๋๋ค.
- ๋ธ๋ฃจํ๋ฆฐํธ ์ธํฐํ์ด์ค: ๋ค๋ฅธ ๋ธ๋ฃจํ๋ฆฐํธ์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ณ ์ด๋ฒคํธ๋ฅผ ๋ฐ์ํ๊ธฐ ์ํด ์์ฑํ ๋ธ๋ฃจํ๋ฆฐํธ๋ก ํจ์ ์ด๋ฆ๋ง ๋ชจ์๋ ๊ฒ์ด๋ค.
- ๋ธ๋ฃจํ๋ฆฐํธ ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ: ๊ณต์ ํจ์ ๋ชฉ๋ก์ ํจ์๋ฅผ ๋ง๋ค์ด ๋ชจ๋ ๋ธ๋ฃจํ๋ฆฐํธ์์ ๊ณต์ ํด์ ์ฌ์ฉํ ์ ์๋ค.
- ๋ธ๋ฃจํ๋ฆฐํธ ๋งคํฌ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ: ๋ธ๋ฃจํ๋ฆฐํธ ํจ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋น์ทํ์ง๋ง ์์ฑํ ๊ณ์ด ๋ธ๋ฃจํ๋ฆฐํธ์์๋ง ์ฌ์ฉํ ์ ์๋ค.
- ์์ ฏ ๋ธ๋ฃจํ๋ฆฐํธ: ๊ฒ์์ UI๋ฅผ ๋ง๋ค๊ธฐ ์ํ ๋ธ๋ฃจํ๋ฆฐํธ์ด๋ค.
4. ์ฌ์ฉ
1) ์์ฑ ๊ท์น
๋ธ๋ฃจํ๋ฆฐํธ๋ ์์๋์ฒ๋ผ ๋ ธ๋๋ฅผ ์ฐ๊ฒฐํด์ ํ๋ก๊ทธ๋จ์ ๋ ผ๋ฆฌ๋ฅผ ํํํ๋ค. ๋ฐ๋ผ์ ์ ์ฒด์ ์ธ ํ๋ฆ์ด ์ดํดํ๊ธฐ ์ฌ์ด ์ฅ์ ์ด ์์ง๋ง, ๋ ผ๋ฆฌ๊ฐ ๋ณต์กํด์ง๋ฉด ์์ฃผ ์ปค๋ค๋ ๊ทธ๋ํ๋ฅผ ๋ง๋ค์ด์ผ ํ๋ฏ๋ก ์คํ๋ ค ์ดํดํ๊ธฐ ์ด๋ ค์ด ํ๋ก๊ทธ๋จ์ด ๋ ์ ์๋ค.
- ๊ธฐ๋ณธ ๋จ์๋ ๋ ธ๋์ด๋ค.
- ๋ ธ๋์ ๋ ธ๋ ์ฌ์ด๋ ์ ์ด(๋ช ๋ น)์ ๋ฐ์ดํฐ๊ฐ ์ ์ก๋๋ฉฐ ์ ์ด์ ๋ฐ์ดํฐ์ ํ๋ฆ์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋๋ค.
- ์ ์ด์ ๋ฐ์ดํฐ๋ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์งํ๋๋ฉฐ ์ ๋ ฅํ์ ์ผ์ชฝ์ ์ถ๋ ฅํ์ ์ค๋ฅธ์ชฝ์ ์๋ค.
- ์ ์ด์ ํ์ โถ์ด๋ฉฐ ํ๋ฆ์ ์ ํฐ์์ผ๋ก ํ์๋๋ค.
- ๋ฐ์ดํฐ์ ํ์ โ์ด๋ฉฐ ํ๋ฆ์ ์ ์๋ฃ์ ํ์ ์ ์๋ ์์ผ๋ก ํ์๋๋ค.
2) ๋ ธ๋ ์ข ๋ฅ
1) ์ด๋ฒคํธ(Event)
์ด๋ฒคํธ๋ ํน์ ํ ์ฌ๊ฑด์ด ๋ฐ์ํ์์ ์๋ฆฌ๋ ์ ํธ๋ก ๋นจ๊ฐ์์ผ๋ก ํ์๋๋ค.
2) ๋ณ์(Variable)
์ฌ์ฉ์๊ฐ ์์๋ก ๋ง๋ค์ด ์ฌ์ฉํ๋ฉฐ ํน์ ํ ๊ฐ์ ์ ์ฅํ๋ค.
์๋ฃ์ ํ์ ๊ฐ์ ๋ก ๋ฐ๊พธ๋ ๋ ธ๋๋ ์กด์ฌํ๋ค.
3) ์ฐ์ฐ์
์ฌ์น ์ฐ์ฐ์ด๋ ๊ฐ์ ๋น๊ตํ๊ธฐ ์ํ ๋ ธ๋๋ก ํผ์ฐ์ฐ์๋ฅผ ๋ฐ๋ ์ ๋ ฅํ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ์ถ๋ ฅํ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
4) ํจ์(Function)
๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅ๋ฐ์ ์ ํด์ง ์ ์ฐจ๋ฅผ ์ํํ ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ๋ ธ๋๋ก ๋งค์ฐ ๋ค์ํ ๋ด์ฅ ํจ์๊ฐ ์์ผ๋ฉฐ ์ปค์คํ ํจ์ ๋ํ ๋ง๋ค ์ ์๋ค.
5) ์ ์ด ๋ ธ๋
์ ์ด์ ํ๋ฆ์ ๋ฐ๊พธ๋ ๋ ธ๋์ด๋ค.
6) ์๊ฐ ๋ ธ๋
์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ผ ํน์ ํ ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ์ํ ๋ ธ๋์ด๋ค.
7) ์์ ๋ ธ๋
- ๋ ธ๋์ ์คํ ํ์ ์ฌ๋ถ์ ์๊ด์์ด ์์๋ฅผ ์ ๋๋ก ์ ์ดํ๊ณ ์ฌ์ฉํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ ๊ตฌํด์ค๊ฑฐ๋ ๋ฐ์ดํฐ ๊ฐ์ ์ถ๋ ฅํ๊ธฐ๋ง ํ๋ ์์ ์ ์ฌ์ฉ๋๋ค.
- ์คํํ์ด ์๋ค.
5. ํ์ฉ
1) ๋ ๋ฒจ ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ์ด์ฉํ ์กํฐ ์ด๋
๋ ๋ฒจ ๋ธ๋ฃจํ๋ฆฐํธ์ ์์ ์ด ํ์ํ๋ฏ๋ก ํด๋ฐ์ ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ํตํด ๋ ๋ฒจ ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ์ฐ๋ค.
๋ธ๋ฃจํ๋ฆฐํธ ์คํฌ๋ฆฝํธ๋ ๊ทธ๋ํ ์์ ๋ช ๋ น์ ๋ํ๋ด๋ ๋ ธ๋๋ผ๋ ์์๋ฅผ ๋ฐฐ์นํ๋ฉฐ ๋ง๋ค์ด ๋๊ฐ๋ค. ๋ ธ๋์ ๋ ธ๋๋ ์์ด์ด๋ก ์ฐ๊ฒฐ(๋งํฌ)ํด์ ํ๋ก ์ฐจํธ๋ฅผ ๋ง๋ค ์ ์๋ค. ๋ชจ๋ ํ๋ก ์ฐจํธ์๋ ์์ ์ ์ด ์กด์ฌํ๋๋ฐ, ํด๋น ๋ธ๋ฃจํ๋ฆฐํธ์์๋ Event BeginPlay ์ด๋ฒคํธ ๋ ธ๋๊ฐ ์์ ์ ์ด๋ค.
๋ค์์ผ๋ก ์กํฐ๋ฅผ ์์ง์ฌ๋ณด์. Event Tick ์ด๋ฒคํธ ๋ ธ๋๋ฅผ ํตํด ์กํฐ๋ฅผ ์กฐ๊ธ์ฉ ์ด๋์ํฌ ์ ์๋ค. Tick ์ด๋ฒคํธ๋ ๊ฒ์ ์์ง์ด ๋ค์ ๊ทธ๋ํฝ ํ๋ ์์ผ๋ก ๋์ด๊ฐ๋ฉด์ ํ๋ฉด์ ์๋ก ๊ทธ๋ฆฌ๋ ์์ ์ง์ ์ ๋ฐ์ํ๋ ์ด๋ฒคํธ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋งต์ ๋ฐฐ์น๋ ์กํฐ๋ฅผ ๋ ๋ฒจ ๋ธ๋ฃจํ๋ฆฐํธ์ ์คํฌ๋ฆฝํธ์์ ์ฌ์ฉํ๋ ค๋ฉด, ์กํฐ๋ฅผ ๊ทธ๋ํ ์์ ์ฌ๋ ค ๋ ํผ๋ฐ์ค ๋ ธ๋๋ฅผ ์ค์นํด์ผ ํ๋ค.
์ด์ ํด๋น ๋งต์ ์คํ ํ๋ฉด ์กํฐ๊ฐ ์์ง์ด๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ํ์ง๋ง ๋ค๋ฅธ ๋งต์์๋ ํด๋น ์กํฐ๊ฐ ์์ง์ด์ง ์์ ๊ฒ์ด๋ค. ๋น์ฐํ ๋ ๋ฒจ ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ์์ฑํ์ง ์์๊ธฐ ๋๋ฌธ์ด๋ค. ์ฆ, ๋ ๋ฒจ ๋ธ๋ฃจํ๋ฆฐํธ๋ ๋งต์์ ๋ฒ์ด์ง๋ ์ผ์ ๋ง๋ค๊ธฐ์ ์ ํฉํ๋ค. ๋ฐ๋๋ก ๋งต์ ์ฌ๋ฌ ๊ฐ๋ฅผ ๋ฐฐ์นํ๋ ๋ฌผ์ฒด์ ๊ฒ์ ์ ์ฒด์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฉ์ปค๋์ฆ์ ๋ง๋ค ๋๋ ์ ํฉํ์ง ์๋ค.
๋งต๊ณผ ํจ๊ป ์ ์ฅ๋๋ ๋ธ๋ฃจํ๋ฆฐํธ๋ก ๋งต์ ๋ฐฐ์นํ ์กํฐ๋ฅผ ์ง์ ์ฌ์ฉํด์ ๋งต ๊ณ ์ ์ ์๋๋ฆฌ์ค ๋๋ ์ฅ์น๋ฅผ ํํํ ์ ์๋ค. ๋ค๋ง ํ๋์ ๋งต์ ์ข ์๋๋ฏ๋ก ๋ค๋ฅธ ๋งต์์ ์ฌ์ฌ์ฉํ ์ ์๋ค.
2) ํด๋์ค ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ์ด์ฉํ ์กํฐ ์ด๋
๋ ๋ฒจ ๋ธ๋ฃจํ๋ฆฐํธ์ ๋ค๋ฅด๊ฒ ์กํฐ๋ฅผ ํตํด ๋ธ๋ฃจํ๋ฆฐํธ๋ฅผ ์ฐ๋ค.
๋ ๋ฒจ ๋ธ๋ฃจํ๋ฆฐํธ์ ๋์ผํ๊ฒ Event Tick ์ด๋ฒคํธ ๋ ธ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋์ผํ์ง๋ง, ๋ ํผ๋ฐ์ค ๋ ธ๋๋ ํ์ํ์ง ์๋ค. ํด๋น ๋ธ๋ฃจํ๋ฆฐํธ๊ฐ ์๊ธฐ ์์ ์ด๋ฏ๋ก ์ด๋์์๋ผ๋ ์ ๊ทผํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฐธ๊ณ
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=foxmann&logNo=220266486716