๐
2025-07-30
GameMode
- ๊ฒ์์ ์ฌํ๊ด (๊ท์น, ํ๋ฆ ์ ์ด, ์น๋ถ ํ์ ) -> ๊ฒฐ์
GameState
- ๊ฒ์ ์ํฉํ (๋ชจ๋ ํ๋ ์ด์ด๊ฐ ๋ณด๋ ๊ณตํต ์ ๋ณด) -> ์ ๋ณด ์ ์ฅ
PlayerState
- ๊ฐ์ธ ์์ฒฉ (๊ฐ ํ๋ ์ด์ด๋ง์ ์ ๋ณด) -> ๊ฐ์ธ ๋ฐ์ดํฐ
GameInstance
- ๊ฒ์ ๊ด๋ฆฌ์ (์ ์ฒด ์๋ช
์ฃผ๊ธฐ, ๋ ๋ฒจ ๊ฐ ๋ฐ์ดํฐ) -> ์ ์ฒด ๊ด๋ฆฌ
GameModeBase
๊ธฐ๋ณธ ๊ธฐ๋ฅ๋ง ๊ฐ๊ณ ์์ผ๋ฉฐ ๋จ์ํ ๊ฒ์ ์์๊ณผ ์ข
๋ฃ๋ง ๊ฐ๊ณ ์๋ค. ๊ธฐ๋ณธ ์๋ช
์ฃผ๊ธฐ๋ง ๊ด๋ฆฌํ๋ค.
GameStateBase ์ ํจ๊ป ์ฌ์ฉํด์ผ ํ๋ค.
GameState ์ฐ๋ฉด ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
GameMode
์์ ํ ๋งค์น ์์คํ
์ด๋ค. EMatchState๋ผ๋ ๋งค์น ์ํ ๊ด๋ฆฌ๊ฐ ๊ตฌํ๋์ด์๋ค. ์๋ ๋ฆฌ์คํฐ ์์คํ
๊ณผ ๊ด์ ์ ๋ชจ๋๋ฅผ ์ง์ํ๋ค.
GameState์ ํจ๊ป ์ฌ์ฉํด์ผ ํ๋ค.
GameStateBase ์ฐ๋ฉด ๊ธฐ๋ฅ์ด ๋๋ฝ๋๋ค.
๊ฒฐ์ ๋ง ๋ด๋ฆฐ๋ค. ์ ๋ณด๋ ์ง์ ํ์ํ์ง ์๋๋ค. ์ ๋ณด๋ GameState์๊ฒ ๋๊ธด๋ค. ์ ๋ณด ๊ด๋ฆฌ ๋ฐ ์ ๊ดํ ์ญํ ์ GameState.
์ ๋ณด ์ ๊ณต์: ์ ๊ดํ์ฒ๋ผ ์ ๋ณด๋ง ํ์ํ๋ค.
์ฝ๊ธฐ ์ ์ฉ: UI์์ ์ฐธ์กฐ๋ง, ์ง์ ์์ ๋ถ๊ฐ. ํ๋ ์ด์ด๋ ์ปจํธ๋กค๋ฌ์์ ์ ๊ทผํด์ ์์ ํ๋ฉด ์๋๋ค.
์ง์ ๊ฒฐ์ ํ์ง ์๋๋ค. ๋ฉํฐ ํ๋ ์ด์ด์ผ๋ ๋ชจ๋ ํ๋ ์ด์ด๊ฐ ๊ฐ์ ์ ๋ณด๋ฅผ ๋ด์ผํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ฌ๋ฐ๋ฅธ ์ฌ์ฉ๋ฒ
1. GameMode๊ฐ ์ํ๋ฅผ ๊ณ์ฐํด์ GameState์ ์๋ ค์ค๋ค.
2. GameState๋ ๊ทธ ์ํค๋ฅด ์ ํด๋ผ์ด์ธํธ์ ์๋์ผ๋ก ๋ณต์ ํ๋ค.
3. UI๋ ์ ๋๋ฉ์ด์
์ GameState๋ฅผ ๋ณด๊ณ ํ์๋งํ๋ค. GameMode์์ ๊ณ์ฐํ๊ณ GameState์์ ํ์ํ๊ฑธ UI๊ฐ ๋ค๊ณ ๊ฐ์ ์ถ๋ ฅ. UI๊ฐ GameMode์์ ์ง์ ๊ฐ์ ๋ค๊ณ ๊ฐ์ ์ถ๋ ฅํ๋ฉด ์๋๋ค.
์๋ช
์ฃผ๊ธฐ ํน์ง
๋ ๋ฒจ ์ ํ์ ์ ์ง๋๋ค.
GameState, GameMode, Pawn ๋ฑ ์ ๋ ๋ฒจ์ ํ์ ์๋ก ์์ฑ๋๋ค.
์์ ๊ถ ๊ตฌ์กฐ
GameMode(์๋ฒ)
- PlayerController(๊ฐ ํ๋ ์ด์ด๋ง๋ค ์กด์ฌ, ์๋ฒ/ํด๋ผ์ด์ธํธ ๋ชจ๋ ์กด์ฌ)
- PlayerState(๊ฐ๊ฐ ๋ชจ๋ ์ ์ ์ ์ ๋ณด, ์๋ฒ/ํด๋ผ์ด์ธํธ ๋ชจ๋ ์กด์ฌ)
๊ฒ์์ ์ต๊ณ ๊ด๋ฆฌ์
ํน์ง
๊ฒ์ ์ ์ฒด ์๋ช
์ฃผ๊ธฐ: ๊ฒ์ ์์๋ถํฐ ์ข
๋ฃ๊น์ง ์ด์์๋ค.
๋ ๋ฒจ ๊ฐ ๋ฐ์ดํฐ ์ ์ง: ๋ ๋ฒจ์ด ๋ฐ๋์ด๋ ์ ์ง๋๋ค.
๋ ๋ฒจ ์ ํ ๊ถํ: GameInstance๋ง ๋ ๋ฒจ์ ๋ฐ๊ฟ ์ ์๋ค.
GameInstance๋ ์ผ๋ฐ ์กํฐ์ ๋ฌ๋ผ ์ด๋ฒคํธ ๋ฐ์ธ๋ฉ์ด ์๋๋ค. ์๋ฒ์ ์ฉ์ด๋ผ ๋ฉํฐ ์ง์์ด ์๋๋ค.
GameState๋ ํด๋ผ์ด์ธํธ์ ๋ณต์ ๊ฐ ๊ฐ๋ฅํ๊ณ ๋ฉํฐ ์ง์์ด ๋๋ค.
๊ฒ์๋ชจ๋ ์ ์ ๊ณ์ฐ
๊ฒ์์คํ
์ดํธ ํ์ฌ ์ ์
ํ๋ ์ด์ด ์คํ
์ดํธ ๊ฐ ํ๋ ์ด์ด์ ์ ์
๊ฒ์์ธ์คํด์ค ์ต์ข
์ ์ ๋์
๊ฒ์ ์์๋ถํฐ ๋ ๋ฒจ ๋ก๋ฉ๊น์ง ์์ ํ ์์
๐ฎ ์์ง ๋ถํ
๋จ๊ณ
1. ์์ง ์ด๊ธฐํ (UEngine ์์ฑ)
2. GameInstance::Init() โญ ๊ฐ์ฅ ๋จผ์ !
- ์ด ์์ : World ์์, GameMode ์์
- ๊ธ๋ก๋ฒ ์ค์ , ์๋ธ์์คํ
์ด๊ธฐํ๋ง ๊ฐ๋ฅ
๐ ์ฒซ ๋ ๋ฒจ ๋ก๋ฉ ๋จ๊ณ
3. World ์์ฑ
4. GameMode ์์ฑ โ PostInitializeComponents()
5. GameState ์์ฑ โ PostInitializeComponents()
6. PlayerController ์์ฑ
7. PlayerState ์์ฑ
8. Pawn ์์ฑ
9. ๋ชจ๋ BeginPlay() ํธ์ถ (์์ ๋ณด์ฅ ์๋จ!)
๐ ๋ ๋ฒจ ์ ํ ์
10. ๊ธฐ์กด World ํ๊ดด (GameMode, GameState ์ฌ๋ผ์ง)
11. PlayerState๋ ์ World๋ก ์ด์ฃผ โญ
12. 3~9๋ฒ ๊ณผ์ ๋ฐ๋ณต
๊ทธ๋์ ๊ฐ๊ฐ์ ์ญํ ์ด ์ ๋๋ก ์ดํด๊ฐ ์๋์๋๋ฐ ์ค๋ ๊ฐ์๊ฐ ๋์์ด ๋ง์ด ๋๋ค. ๋ฉํฐ ํ๋ ์ด ๊ตฌํํ๋ค๋ณด๋ฉด ๋ค์ ๋ฒฝ์ ๋๋ ๊ฒ ๊ฐ์ง๋ง ๋ฌธ์ ๋ฅผ ์ด๋์ ์ฐพ์๋ด์ผํ ์ง ๊ฐ์ ์ก์ ์ ์์ ๊ฒ ๊ฐ๋ค.
์ถ์ฒ: ์คํ๋ฅดํ์ฝ๋ฉ ๋ด์ผ๋ฐฐ์์บ ํ