코드카타 (두 수의 나눗셈, 각도기, 짝수의 합); C언어 (For, Do While, 배열 (Array), 2차원 배열 (Two-dimensional array)); Unreal Blueprint 라이브 세션 (아이템, 게임 모드, HUD, 완성)
코드카타
- 007.두 수의 나눗셈 | Solved Date: 2026-04-24-Thur | Problem Link
- 008.각도기 | Solved Date: 2026-04-24-Fri | Problem Link
- 009.짝수의 합 | Solved Date: 2026-04-24-Fri | Problem Link
짝수의 합은 조금 생각을 해야 했다, 이제 슬슬 어려워지나?
C언어
For문
for (초기식; 조건식; 증감식)
{
명령어1;
...
}
do while
do
{
명령어1;
...
} while (조건식)
- do-while문은 자료구조 구현할 때, 요긴하게 쓰임
- 대부분의 경우에는 for문, 순회하는 변수가 필요 없는 경우엔 while을 씁니다.
배열 (Array)
- 자료구조 중 가장 기초가 되는 자료구조. 사용할 메모리 크기를 고정해서 선언하는 것이 특징입니다. 선언된 후에는 절대 그 크기를 변경 불가합니다. 그래서 정적인 자료구조라고도 합니다. 선언된 메모리는 연속적으로 할당됩니다.
// 선언 방법
자료형 배열명[배열크기];
// 선언과 동시에 초기화 방법
자료형 배열명[배열크기] = { 값0, 값1, ..., 값(배열크기-1) };
2차원 배열 (Two-dimensional array)
- 이해 할 때는 1차원 배열을 쌓아올린 형태로 이해하면 됩니다. 실제로는 메모리 상에는 1차원 배열이 나열되어 있고, 2차원인 척함.
자료형 배열명[배열크기1][배열크기2];
// 선언과 동시에 초기화 방법
자료형 배열명[줄개수][칸개수] = { { 값00, 값01, ..., 값0(칸개수-1)}, ... { { 값(줄개수-1)0, 값(줄개수-1)1, ..., 값(줄개수-1)(칸개수-1) } };
Unreal Blueprint 라이브 세션 (아이템, 게임 모드, HUD, 완성)
픽업 아이템: 이전에 만든 Health 아이템이랑 거의 동일
Ant 다양하게 배치하고, Boss Ant 생성
게임모드
게임모드: 게임 모드는 게임의 전체적인 규칙과 주인공을 결정하는 대장
- 유니티에서 내가 코드 짤때 보통 만드는 GameManager 느낌
Widget Blueprint (WBP) 생성 해서 게임 UI 만듬
게임 재시작 & 종료 버튼 구현
- 그로인한 버그들 수정 (게임 끝나도 움직이는 개미들, 재시작시 플레이어 제어 안되는 것들 등등)
패키징 & 오류 해결:
<aside> 💡
패키징은 개발용 프로젝트를 누구나 즐길 수 있는 게임 프로그램으로 변환하는 최종 단계.
</aside>
- Platforms → Windows → Shipping 선택.
| DebugGame | 오류 수정용 | 개발자가 버그를 잡기 위해 가장 상세한 정보를 보여줌 | 코드가 계속 터질 때 |
| Development | 테스트용 | Print String이나 Console 명령이 작동 | 기능이 잘 작동하는지 확인하며 만들 때 |
| Shipping | 최종 배포용 | 속도가 가장 빠르고 보안이 강력함 (디버깅 도구 안 보임) | 완성 후 제출/판매할 때 |
옵션명 한줄 정의 특징 추천 상황
오늘의 핵심 정리
| 아이템 복제 | 기존 BP를 Ctrl + D로 복제해서 변형. |
| BP_Item_Health → BP_Item_Ammo로 빠르게 제작 | |
| Instance 속성 | 변수 옆 눈 아이콘 켜면 레벨에 배치된 액터마다 값 다르게 설정 가능. |
| 예: 대왕개미 MaxHealth 400, BaseDamage 100 | |
| Hidden in Game | Sphere Collision 같은 보조 컴포넌트를 게임 중에만 숨김. |
| 에디터에서는 보이지만 플레이 중엔 안 보임 | |
| Widget Blueprint | WBP_ 접두사 사용. |
| Canvas Panel 위에 Text/Button 배치해 HUD 구성 | |
| Visibility | Collapsed: 안 보임 + 공간 X |
| Visible: 보임 + 클릭 가능 | |
| 버튼/텍스트 숨겼다가 게임 종료 시 보여주기 | |
| GameMode | 게임의 규칙 담당 대장. |
| Default Pawn, HUD, 승패 로직 관리. | |
| World Settings에서 연결 | |
| Cast To | 들어온 Actor/GameMode가 원하는 타입(BP_MainGameMode)인지 확인. |
| 맞으면 변수/함수 접근 가능, 틀리면 Cast Failed | |
| 함수 vs 이벤트 | 함수 = 즉시 실행, 지연 노드(Delay 등) ❌, 여러 개의 출력값 가능 |
| 이벤트 = 지연 노드(Delay 등) ✅, 기본적으로 출력값 ❌ | |
| → UI 타이밍 이슈처럼 Delay가 필요하면 함수 대신 이벤트를 써야 함 | |
| Get All Actors Of Class | 레벨에 있는 특정 클래스 액터 모두 찾기. |
| Length로 개수 확인, Array로 저장해 일괄 제어 | |
| Is Valid | Is Valid 노드는 object가 아직 메모리에 살아있는지 확인해서 |
| 실행 흐름을 Is Valid / Is Not Valid 두 경로로 분기시킵니다. | |
| 죽은 액터 접근으로 인한 에러를 방지합니다. | |
| Set Movement Mode = None | Movement Mode를 None → CharacterMovementComponent의 자동 이동 계산 |
| (중력, 속도, 낙하 등)을 완전히 중지시켜 스스로는 움직이지 못하게 만듭니다. | |
| Do Once | 이벤트가 딱 1번만 실행되도록 제한. |
| 게임 승리/패배 로직 중복 실행 방지 | |
| 패키징 | Shipping = 최종 배포용 (최적화 + 보안). |
| Platforms → Windows → Package Project | |
| .exe 파일로 누구나 실행 가능 |
개념 배운 것
Tips
게임 실행 후 console command 를 ( ` ) 로 열고, slomo <value> 하면 게임 속도 조절가능
- 0.1 정도로 느리게 하고 싶다 (예: ` + slomo 0.1 )
- 반대로 높은 숫자 입력하면 빨라짐
- values above 1 for fast forward. This works instantly during gameplay to debug physics, animations, or VFX
- pause: Hard pauses the game.
혼자 찾아본것
- 그낭 text 말고 rich text block 이 있어서 왠지 꾸미기 더 좋을 꺼 같아서 찾아봤는데… 구리다. 확실히 UI UX 폰트 이미지 같은건 Unreal Engine이 구린거 같다.
- Unity가 2D 랑 UI UX, (그냥 font 말고 TextMeshPro 쓰면) 훨씬 더 이쁜거 같다.
- 현재 동적 내비메쉬 했는데 오픈월드 아닌 이상 이정도는 상관없다함
궁금한점
- collision 모양은 다 sphere로만 하셨는데, 혹시 box 나 capsule 안쓰신 이유가 있으신가요? 아니면 그냥 쉽게 보여주시려고 하신건가 궁금하다
