이번 Step에서 잡아야 할 것
- 데이터: 게임 세상의 현재 상태(HP/좌표/레벨/인벤토리/몬스터 상태…)
- 로직: 데이터를 읽고/계산하고/조건을 판단해 다음 상태로 업데이트하는 규칙
- 저장 위치: 데이터는 실행 중에 주로 RAM에 올라가 있고, CPU가 연산해 다시 RAM에 기록
프로그램의 핵심 요소
| 요소 | 역할 |
|---|
| 데이터 | 게임 세상 상태 (HP, MP, 레벨, 좌표, 쿨타임, 골드 등) |
| 로직 | 데이터를 가공하고 게임을 “진행”시키는 규칙 (피격/이동/전투/AI 등) |
게임 = 데이터 쪼가리
- 시간 정지 후 한 장면을 보면 → 모든 것이 데이터로 관리됩니다.
- 예: 레벨, 스탯, HP/MP, 배고픔 게이지, 성향 수치, 좌표, 현재 맵/퀘스트 상태 등
- 같은 데이터만 있으면 화면을 똑같이 복원할 수 있습니다. (렌더링은 “데이터를 보여주는 과정”)
데이터 저장 위치
- 실행 중 데이터는 RAM에서 관리됩니다.
- 흐름을 2단계로 기억하면 편합니다.
- 1단계: 게임 세상을 데이터로 묘사한다 (무엇을 저장할지 정의)
- 2단계: 로직으로 데이터를 가공해 게임을 진행한다 (어떻게 바꿀지 정의)
간단 예시는 이런 느낌입니다.
데이터: hp=100
로직 : 몬스터 공격력 10 → hp -= 10
결과 : hp=90
CPU와 RAM의 역할 분담
- RAM: 데이터 저장
- CPU: RAM에서 값을 꺼내 연산하고, 결과를 다시 RAM에 저장
- 예: 체력 100 → 피격 로직 → 10 감소 → 90 저장
- 체력이 0이 되면 → 죽음/부활/마을 이동 같은 “규칙”은 코드(로직)가 담당
[RAM: 데이터] ──(읽기)──> [CPU: 연산/판단] ──(쓰기)──> [RAM: 데이터 갱신]
체크 질문 (스스로 답해보기)
- “데이터만 있으면 같은 장면을 복원할 수 있다”는 말은 왜 성립할까?
- 로직은 결국 데이터에 어떤 변화를 주는가? (읽기/계산/조건/쓰기 중 무엇?)
- “RAM에 데이터가 있다”는 말과 “CPU가 게임을 돌린다”는 말은 어떻게 연결될까?