
게임의 정의
규칙이 있는 경쟁 또는 놀이 활동으로 , 목표를 달성하거나 즐거움을 얻기 위해 참가자가 능동적으로 행동하는 구조화된 체계
단순한 오락 뿐 아니라, 도전 / 보상 / 상호작용을 통해 몰입 , 성취감을 제공하는 복합적 문화 콘텐츠이다.
1. 게임 핵심 시스템
게임 루프 (Game Loop)
규칙 및 퀘스트 시스템
상태 관리 (State Management)
플레이 흐름 제어
2. 인공지능 (AI)
NPC 행동 패턴 설계
경로 탐색 알고리즘 (Pathfinding)
정교한 로직 및 반응 시스템 적용
3. 데이터 & 리소스 관리
데이터 저장 및 불러오기
리스크 관리
DB / 백엔드 연동
4. 그래픽 & 비주얼
렌더링 엔진 활용
이펙트 및 쉐이더
애니메이션 시스템
UI / UX 설계
5. 오디오
사운드 이벤트 처리
배경음악(BGM) 및 효과음(SFX)
음향 밸런싱 및 오디오 엔진
6. 입력 & 상호작용
키보드 / 마우스 / 패드 입력 처리
상호작용 시스템 구축
네트워크 입력 동기화
7. 배트워크 & 멀티플레이
서버 및 클라이언트 구조 설계
매치메이킹 시스템
동기화 및 데이터 통신
8. 툴 & 파이프라인
타일맵 / 레벨 에디터 제작
에디터 확장 툴 개발
빌드 및 스크립팅 자동화
9. 최적화 & 품질 관리
메모리 및 성능 최적화
테스트 루틴 자동화
품질 보증(QA) 및 디버깅


유니티 전체 생명주기
https://docs.unity3d.com/kr/2021.3/Manual/ExecutionOrder.html
1. 프로그램 실행
Awake()
→ 오브젝트가 처음 생성될 때 한 번만 호출
→ 다른 오브젝트보다 먼저 초기화해야 할 때 사용
OnEnable()
→ 오브젝트가 활성화될 때마다 호출
→ 비활성화 후 다시 켜져도 다시 실행됨
2. 게임 시작
Start()
→ Awake 이후 한 번만 실행
→ 다른 오브젝트가 준비된 뒤 초기화할 때 적합
매 프레임마다 실행 (Game Loop)
Update()
→ 매 프레임마다 호출
→ 키 입력, 이동 등 매 프레임 처리할 로직
FixedUpdate()
→ 물리 연산용 (Physics Update)
→ 일정한 시간 간격으로 호출 (프레임 속도와 무관)
LateUpdate()
→ Update() 이후 호출
→ 카메라 추적처럼, 다른 객체의 움직임이 끝난 뒤 처리할 때 사용
3. 렌더링(Rendering)
OnPreRender() → 카메라가 렌더링하기 직전
OnRenderObject() / OnPostRender() → 렌더링 이후 호출
4. 비활성화 & 종료
OnDisable() → 오브젝트가 비활성화될 때
OnDestroy() → 오브젝트가 삭제될 때 (씬 전환, 종료 등)



'📖TIL' 카테고리의 다른 글
| 251015 (0) | 2025.10.15 |
|---|---|
| 251014 (0) | 2025.10.14 |
| 250930 Console (0) | 2025.09.30 |
| 250930 메모리 revision (0) | 2025.09.30 |
| 250929 (0) | 2025.09.29 |