๐ŸŽฎ Game Programmer ๐Ÿ’ป

bluebell8400ยท2023๋…„ 3์›” 3์ผ
0

๊ฒŒ์ž„ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ๊ณ„ํš ํฐ ํ‹€ ์ •๋ฆฌ
์ฑ…์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ง€์‹ ์Šต๋“

1. ํฌํŠธํด๋ฆฌ์˜ค

๊ฒŒ์ž„ ๋ชจ์ž‘, ๊ฒŒ์ž„ ์ œ์ž‘
2D๊ฒŒ์ž„, 3D๊ฒŒ์ž„
์œ ๋‹ˆํ‹ฐ, ์–ธ๋ฆฌ์–ผ, ํ˜น์€ ์—”์ง„ ์—†์ด

  • ๋ฉ€ํ‹ฐํ”Œ๋ ˆ์ด์–ด ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ๊ฒŒ์ž„ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ต๊ณผ์„œ

2. C / C++ / C#

์–ธ๋ฆฌ์–ผ ํ”„๋กœ์ ํŠธ๋Š” C++, ์œ ๋‹ˆํ‹ฐ ํ”„๋กœ์ ํŠธ๋Š” C#

C++ : OOP(๊ฐ์ฒด ์ง€ํ–ฅ)๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์›๋ฆฌ์™€ ์‚ฌ์šฉ๋ฒ•์„ ๋‹ค์‹œ ๊ณต๋ถ€, ๋ชจ๋˜ C++ ๋ฌธ๋ฒ•๋„ ์‚ดํŽด๋ณด๊ธฐ
C# : ์œ ๋‹ˆํ‹ฐ ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋ดค๋˜ ์ฝ”๋“œ๋“ค์„ ๋‹ค์‹œ ํ•œ ๋ฒˆ ์‚ดํŽด๋ณด๊ธฐ

  • ์œค์„ฑ์šฐ ์—ดํ˜ˆ C++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • ์ด๊ฒƒ์ด C++์ด๋‹ค
  • C++ ์ตœ์ ํ™”
  • C++ : ์ดํŽ™ํ‹ฐ๋ธŒ C++
  • C# : C# in Depth, inside C#

3. ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ณต์Šต
์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ๊ตฌํ˜„, ์†์ฝ”๋”ฉ ๋“ฑ
์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•œ ๋ฌธ์ œ ํ•ด๊ฒฐ๋Šฅ๋ ฅ, ์—๋Ÿฌ๋ฐœ์ƒ ๋ถ€๋ถ„ ์ฐพ๊ธฐ, ์ปดํŒŒ์ผ์‹œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜ ์„ค๋ช… ๋“ฑ

  • ์œค์„ฑ์šฐ์˜ ์—ดํ˜ˆ ์ž๋ฃŒ๊ตฌ์กฐ
  • ์ž๋ฃŒ๊ตฌ์กฐ์™€ ํ•จ๊ป˜ ๋ฐฐ์šฐ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž…๋ฌธ C์–ธ์–ด ํŽธ
  • ํŒŒ์ด์ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ธํ„ฐ๋ทฐ
  • C๋กœ ๋ฐฐ์šฐ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • Introduction to algorithms

4. ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๋””์ž์ธ ํŒจํ„ด

OODP๋ณต์Šต
C++, ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์‚ฌ๊ณ , ๊ฐœ๋… ๋“ฑ
๋””์ž์ธํŒจํ„ด์„ ์‚ฌ์šฉํ•œ ํฌํŠธํด๋ฆฌ์˜ค
ํ˜‘์—…์„ ์œ„ํ•œ ๊ฐ์ฒด์ง€ํ–ฅ๊ณผ ๋””์ž์ธํŒจํ„ด

  • ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด, ์—ญํ• , ์ฑ…์ž„, ํ˜‘๋ ฅ ๊ด€์ ์—์„œ๋ณธ ๊ฐ์ฒด์ง€ํ–ฅ
  • ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจํ„ด
  • JAVA ๊ฐ์ฒด์ง€ํ–ฅ ๋””์ž์ธ ํŒจํ„ด

5. ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค ๋˜๋Š” DirectX / OpenGL

3D ๊ฒŒ์ž„์„ ์œ„ํ•ด์„œ ๋‹ค์ด๋ ‰ํŠธ X๋‚˜ ์˜คํ”ˆGL

๋งคํŠธ๋ฆญ์Šค(ํ–‰๋ ฌ), ๋ฒกํ„ฐ ๋“ฑ์˜ 3์ฐจ์› ์—ฐ์‚ฐ, ๊ฐœ๋…๋“ค
์นด๋ฉ”๋ผ,๋ฒกํ„ฐ,ํ–‰๋ ฌ,๋ณ€ํ™˜, ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ, ์…ฐ์ด๋”, ํฌ์ŠคํŠธ ํ”„๋กœ์„ธ์‹ฑ

  • DirectX 12๋ฅผ ์ด์šฉํ•œ 3D ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ
  • Real-Time rendering

6. ์ˆ˜ํ•™

๊ฒŒ์ž„ ์ˆ˜ํ•™, ์„ ํ˜•๋Œ€์ˆ˜ํ•™, ๊ธฐ์ดˆ๋ฌผ๋ฆฌ, ์ด์‚ฐ์ˆ˜ํ•™, ํ™•๋ฅ ๊ณผ ํ†ต๊ณ„

  • ์œ ๋‹ˆํ‹ฐ๋กœ ๋ฐฐ์šฐ๋Š” ๊ฒŒ์ž„ ์ˆ˜ํ•™
  • 3D ๊ฒŒ์ž„์„ ์›€์ง์ด๋Š” ์ˆ˜ํ•™๊ณผ ๋ฌผ๋ฆฌ
  • ๊ฒŒ์ž„ ์ˆ˜ํ•™ & ๋ฌผ๋ฆฌ ์ž…๋ฌธ

7. ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค, Leetcode, ๋ฐฑ์ค€ ๋“ฑ์˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์‚ฌ์ดํŠธ
๋…ผ๋ฆฌ์ ์œผ๋กœ ์ƒ๊ฐํ•œ ํ›„ ์ฝ”๋“œ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•, ๋ฌธ์ œํ•ด๊ฒฐ์„ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ •ํ™•ํ•˜๊ฒŒ ๊ณ ๋ฅด๊ณ , ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•


8. ๊ธฐํƒ€ ํ•ต์‹ฌ CS ๊ณผ๋ชฉ

๋„คํŠธ์›Œํฌ, DB, OS, ์“ฐ๋ ˆ๋“œ, ์‹œ์Šคํ…œํ”„๋กœ๊ทธ๋ž˜๋ฐ, ์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ ๋™๊ธฐํ™”

  • ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํ‚น -ํ•˜ํ–ฅ์‹ ์ ‘๊ทผ-
  • IT ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ๋„คํŠธ์›Œํฌ ์ž…๋ฌธ

๋„คํŠธ์›Œํฌ ๊ธฐ๋ณธ ์ง€์‹, DB์— ๋Œ€ํ•œ ๊ธฐ๋ฐ˜ ์ง€์‹, ์„œ๋ฒ„์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์š”์ฒญ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•, ์—ฌ๋Ÿฌ ์—ฐ๊ฒฐ์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•, ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋”ฉ


9. ๋ฉด์ ‘ ๋Œ€๋น„

CS ์ง€์‹ ๋ณต์Šต

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฉด์ ‘ ์ด๋ ‡๊ฒŒ ์ค€๋น„ํ•œ๋‹ค.
  • ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ

0๊ฐœ์˜ ๋Œ“๊ธ€