테트리스 강좌

초등학생도 쉽게 따라할 수 있는 Unity 테트리스 게임 개발 강좌 자료

테트리스 게임 만들기 - 개념 설명서

📖 이 문서는?

이 문서는 기초 개념 학습을 위한 목차입니다.
단계별 실습에서 복기한 뒤, 아래 표에서 항목을 클릭하면 해당 개념 문서로 이동하며, 점진적으로 확장된 실습으로 이어집니다.

초등학생도 쉽게 따라할 수 있도록 쉬운 예시와 수행 과정(실습)을 포함했습니다.

🔤 영어 표기 읽기가 어렵다면 → 영어 용어 발음·표기 (한글 발음 + 발음기호) 참고.

🛠️ Unity에서 개념 실습하기
개념 실습을 테트리스 게임과 분리된 씬에서 단계적으로 하려면, 먼저 개념 실습 테스트 환경 가이드를 읽고 전용 씬을 만들어 두세요. 프로젝트와 상관없이 씬에서만 테스트할 수 있습니다.


🎮 게임 개발 기본 개념

개념 설명 실습
게임 루프 (Game Loop) 게임이 반복하는 기본 흐름, Update() Update() 호출 확인

💻 C# 프로그래밍 개념

개념 설명 실습
변수 (Variable) 데이터를 저장하는 상자 변수에 값 저장·출력
함수/메서드 (Function) 특정 작업을 수행하는 코드 묶음 함수 정의·호출
조건문 (If-Else) “만약 ~라면” 분기 점수에 따라 메시지 출력
반복문 (Loop) 같은 작업을 여러 번 반복 for, foreach 사용
배열 (Array) 같은 타입 데이터를 순서대로 저장 1차원·2차원 배열
리스트 (List) 크기가 변하는 배열 Add, Count, foreach
딕셔너리 (Dictionary) 키-값 쌍으로 저장 이름으로 점수 조회
멤버와 메소드 왜 클래스에 넣나요? 저장소와 그걸 다루는 함수 AddScore로 저장소 다루기
멤버 변수와 로컬 변수 클래스 안 vs 메소드 안 변수, 이름·위치 컨벤션 멤버 vs 로컬 실습
클래스 (Class) 변수(멤버)와 함수(메소드)를 묶은 설계도 Player 클래스 만들기
객체 지향 (OOP) 클래스·객체로 세상을 표현 보드·블록 협력 구조

🎯 Unity 개념

개념 설명 실습
GameObject 게임 세계의 모든 오브젝트 생성·이름 변경
Component GameObject에 붙는 기능 컴포넌트 추가·제거
MonoBehaviour Start(), Update() 등 Unity 라이프사이클 별도 문서 참고
Transform 위치, 회전, 크기 (스케일·로테이션·local 확장) position, scale 변경
단계별 확장 실습 (목차) 1~8단계에 걸쳐 분산된 확장 실습 (이전 단계 몰라도 진행 가능) 1단계 Start·변수 ~ 8단계 Instantiate·Random
Vector2, Vector3 위치·방향 표현 Vector2Int, Vector3 사용
Instantiate / Destroy 오브젝트 생성·삭제 프리팹 복제, 3초 후 삭제
Time.deltaTime 프레임 간 경과 시간 1초마다 실행
코루틴 (Coroutine) 시간을 두고 순서대로 실행 (IEnumerator, yield, WaitForSeconds) 3·2·1·Go 카운트다운, 줄 사라짐 이펙트
FindObjectOfType 씬에서 컴포넌트 찾기 TargetObject 찾기

🎲 게임 로직 개념

개념 설명 실습
충돌 감지 이동 가능 여부 확인 CanMoveTo() 구현
상태 관리 score, level 등 현재 상황 추적 점수·레벨 변수
이벤트 특정 상황에서 반응 100점 달성 시 메시지

🔢 수학 개념

개념 설명 실습
좌표계 X, Y, Z 축과 방향 Cube 위치로 좌표 이해
회전 수학 90도 시계 방향 회전 공식 (x,y) → (-y,x) 적용

📚 용어 사전

용어 한글 발음(읽는 법) 설명
변수 (Variable: 베리어블) 데이터를 저장하는 상자
함수 (Function: 펑션) 특정 작업을 수행하는 코드 묶음
클래스 (Class: 클래스) 관련된 변수와 함수를 묶은 설계도
객체 (Object: 오브젝트) 클래스로부터 만들어진 실제 데이터
배열 (Array: 어레이) 같은 타입의 데이터를 순서대로 저장
리스트 (List: 리스트) 크기가 변할 수 있는 배열
GameObject 게임 오브젝트 Unity 게임 세계의 모든 오브젝트
Component 컴포넌트 GameObject에 추가되는 기능
Transform 트랜스폼 위치, 회전, 크기 정보
Vector 벡터 위치나 방향을 나타내는 수학적 개념
충돌 감지 — 오브젝트가 겹치는지 확인
게임 루프 (Game Loop) 게임이 반복하는 기본 흐름

→ 더 많은 영어 용어 발음은 영어 용어 발음·표기 참고.


💡 학습 팁

  1. 하나씩 이해하기: 모든 개념을 한 번에 이해하려 하지 말고, 하나씩 차근차근 배우세요.
  2. 실습 먼저 하기: 각 개념 문서의 🛠️ 실습을 따라 해보면 이해가 빠릅니다.
  3. 오류는 친구: 오류가 나면 왜 났는지 생각해 보세요.
  4. 주석 활용: 코드에 주석을 달아 두면 나중에 다시 볼 때 쉽습니다.
  5. 작은 것부터: 큰 기능을 한 번에 만들지 말고, 작은 기능부터 하나씩 완성하세요.

각 개념 문서에는 간단한 실습(수행 과정)이 포함되어 있습니다. 직접 따라 해 보세요! 🎓