전체 글414 18강. 게임 엔진 완성 1. 게임의 가장 기본은 Game Loop다게임은 계속 반복해서 실행된다.게임 루프 ↓Update ↓Render ↓Update ↓Render ↓...dt를 사용하면 컴퓨터의 FPS가 달라도 시간에 맞게 게임을 움직일 수 있었다. 2. Game State가 게임의 현재 상황을 가지고 있다게임에서 중요한 정보는 전부 데이터로 표현한다.type GameState = { time: number; units: Unit[]; minerals: number;};예를 들어:Game State├─ 유닛├─ 건물├─ 자원├─ 게임 시간└─ 선택 상태게임의 진짜 모습은 화면이 아니라 Game State에 있다. 3. ECS가 데이터를 관리한다유닛이 많아지면 데이터를 체계적으로 관리해야 한다.Entit.. 2026. 9. 11. 17강. GPU / WebGL GPU는 게임을 어떻게 빠르게 그릴까?지금까지 게임 화면은 주로 CPU가 계산해서 그렸다.그런데 스타크래프트처럼 유닛이 수천 개라면 문제가 생긴다.CPU ↓유닛 10,000개 계산 ↓화면에 하나씩 그리기CPU가 모든 일을 처리하면 점점 부담이 커진다.여기서 GPU가 등장한다. 1. CPU와 GPU는 무엇이 다를까?아주 단순하게 생각해보자.CPU복잡한 일을 빠르게 처리하는 데 강하다.CPU ↓게임 로직 ↓AI ↓물리 ↓길찾기 GPU비슷한 계산을 엄청나게 많이 동시에 처리하는 데 강하다.GPU계산 계산 계산 계산계산 계산 계산 계산계산 계산 계산 계산게임 화면에는 수많은 픽셀이 있다.각 픽셀에 대해 비슷한 계산을 반복해야 하기 때문에 GPU가 매우 잘 맞는다. 2. GPU는 왜 게임에 강할까?예를 들어 화면.. 2026. 9. 11. 16강. 성능 최적화 유닛 1만 개를 어떻게 처리할까?지금까지 만든 게임이 유닛 10개에서는 잘 돌아간다고 해보자.그런데 유닛이 10,000개가 되면 어떨까?유닛 10개→ 문제 없음유닛 1,000개→ 조금 느려짐유닛 10,000개→ 게임이 끊김왜 그럴까?컴퓨터는 무한히 빠르지 않기 때문이다.그래서 게임에서는 같은 결과를 더 적은 계산으로 만들어내는 것이 중요하다. 1. 가장 먼저 해야 할 일: 프로파일링성능이 느리다고 무작정 코드를 고치면 안 된다.먼저 어디가 느린지 측정해야 한다.예를 들어:게임 한 프레임: 16msUpdate ├─ 이동 3ms ├─ 충돌 10ms ← 가장 느림 └─ AI 1msRender 2ms그렇다면 충돌 계산부터 개선해야 한다.성능 최적화의 첫 번째 원칙은 측.. 2026. 9. 11. 15강. 게임 AI 컴퓨터가 어떻게 스타크래프트를 플레이할까?사람이 플레이하면:상황을 본다 ↓판단한다 ↓명령한다 ↓결과를 본다 ↓다시 판단한다게임 AI도 기본적으로 비슷하다.현재 상황을 보고 → 무엇을 할지 결정하고 → 행동한다. 1. AI는 생각보다 단순한 것부터 시작한다처음부터 복잡한 인공지능이 필요한 것은 아니다.예를 들어 적이 가까이 있으면 공격하게 만들 수 있다.if (distanceToEnemy 적이 없으면 이동한다.if (!enemy) { moveTo(target);}이런 단순한 규칙도 게임에서는 AI다. 2. 가장 기본적인 AI: 조건문예를 들어 마린의 행동을 만들어보자.if (enemyInRange) { attack();} else if (enemyNearby) { moveToEnemy(.. 2026. 9. 10. 14강. 멀티플레이어 RTS 멀티플레이어는 어떻게 동작할까?싱글플레이어에서는 간단하다.내 컴퓨터 ↓Game State ↓게임 진행하지만 멀티플레이어에서는 컴퓨터가 두 대다.내 컴퓨터 상대 컴퓨터 ↓ ↓Game State Game State ↕ ↕ 네트워크가장 중요한 문제는 이것이다.두 컴퓨터의 게임 상태가 서로 달라지면 안 된다. 1. 왜 게임 상태가 달라질까?예를 들어 두 플레이어가 같은 마린을 보고 있다고 하자.게임이 시작할 때는:A: 마린 HP = 40B: 마린 HP = 40그런데 A의 컴퓨터에서는 공격 계산이 먼저 일어나고,A: 마린 HP = 34.. 2026. 9. 10. 13강. 네트워크 두 컴퓨터가 게임 상태를 어떻게 공유할까?지금까지 우리가 만든 게임은 한 컴퓨터 안에서만 실행됐다.그런데 스타크래프트는 다르다.내 컴퓨터 상대방 컴퓨터 🧑 🧑 ↓ ↓ 게임 게임 ↕ ↕ Game State ←── 네트워크 ──→ Game State두 컴퓨터가 서로 게임 정보를 주고받아야 한다. 1. 네트워크는 결국 데이터를 주고받는 것네트워크를 어렵게 생각할 필요 없다.핵심은 이것이다.한 컴퓨터가 데이터를 보내고 다른 컴퓨터가 받는다.예를.. 2026. 9. 10. 이전 1 2 3 4 ··· 69 다음