2026/05 8

[IronBird #6] 메인화면 + 점수 시스템 + 게임오버/클리어

IronBird 개발일지 #6메인화면 + 점수 시스템 + 게임오버/클리어MainMenuHUD · GameState · DrawText · FInputModeGameAndUI🎯 목표게임의 시작부터 끝까지 순환 구조를 완성한다. 메인화면 → 게임플레이 → 게임오버/클리어 → 메인화면으로 돌아오는 흐름과 점수 시스템을 구현한다.메인화면 → GAME START → 게임플레이 → GAME OVER/CLEAR → MAIN MENU → 메인화면🔧 구현 내용클래스역할AMainMenuHUDIRONBIRD 타이틀, GAME START / QUIT GAME 버튼AMainMenuGameMode메인화면 전용 GameMode, 마우스 입력 설정AIronBirdGameState점수 관리 (적 100점, 보스 1000점)AIro..

[IronBird #5] 보스 페이즈 + 적 3종류 + 충돌 시스템 구현

IronBird 개발일지 #5보스 페이즈 + 적 3종류 + 충돌 시스템 구현EBossPhase · USphereComponent · FBX 콜리전 · 수동 물리 쿼리🎯 목표3페이즈 패턴 전환 보스와 3종류 적을 구현한다. 플레이어 체력 시스템과 HUD도 추가한다. FBX 메시 교체 과정에서 예상치 못한 콜리전 문제가 발생해 충돌 시스템을 전면 재설계했다.AI로 클래스 구조 생성 → FBX 콜리전 문제 발견 → 직접 원인 분석 → USphereComponent로 재설계🔧 구현 내용항목내용적 3종류TypeA 직선+발사 / TypeB 지그재그 / TypeC 느린하강+부채꼴ABossHP 50, EBossPhase 3단계, HomeX 사인 이동플레이어 체력MaxHP=3, 피격 2초 무적, TakeDamage ..

[IronBird #4] 적 스폰 시스템 구현

IronBird 개발일지 #4적 스폰 시스템 구현Object Pool · 충돌 처리 · 터널링 · bSweep🎯 목표위에서 아래로 내려오는 적 기체를 스폰하고, 플레이어 총알과 충돌 시 처리한다. #3에서 증명한 Object Pool을 처음부터 적용해 Spawn/Destroy 비용을 원천 차단한다.#3에서 Spawn/Destroy의 문제를 수치로 확인했고, 적 스폰 시스템 설계 시 처음부터 Object Pool을 적용했다.🔧 구현 내용클래스역할AEnemy-X 직선 이동, 화면 밖/충돌 시 Pool 반납AEnemyPool적 20개 사전 생성, GetEnemy() / ReturnEnemy()AEnemySpawner2초 타이머, X=1500 고정 / Y축 랜덤(-400~400) 스폰// 충돌 처리 흐름 (..

[IronBird #3] Object Pool 구현 - Spawn/Destroy 비용 제거

IronBird 개발일지 #3Object Pool 구현 - Spawn/Destroy 비용 제거Object Pool · ABulletPool · Game 스레드 25% 감소 · FPS +27%🎯 목표#2에서 의도적으로 남겨둔 SpawnActor/Destroy 반복 구조를 Object Pool로 교체한다. Before 수치를 미리 기록해뒀기 때문에 교체 후 정확한 Before/After 비교가 가능하다.Before 수치 기록(#2) → Object Pool 구현 → After 수치 측정 → 차이 분석📖 Object Pool이란?게임에서 총알, 이펙트, 적 같은 오브젝트는 생성과 삭제가 빈번하게 반복된다. 매번 SpawnActor/Destroy를 호출하면 메모리 할당/해제 비용이 매 프레임 발생한다.Obj..

[IronBird #2] 배경 스크롤 + 총알 발사 구현

IronBird 개발일지 #2배경 스크롤 + 총알 발사 구현Panner 머티리얼 · ABullet · SpawnActor · unreal-mcpython🎯 목표종스크롤 슈팅의 두 가지 핵심 요소를 구현한다. 배경이 위에서 아래로 흘러내려 비행감을 주고, 플레이어 기체에서 0.3초마다 총알이 자동 발사된다.총알은 지금 SpawnActor/Destroy 방식으로 구현한다. 이 방식의 성능 문제를 측정하고, 다음 포스팅(#3)에서 Object Pool로 교체하는 Before/After 소재로 활용한다.AI(unreal-mcpython MCP)로 머티리얼 자동 생성 → 내가 방향/연결 오류 발견 → 직접 수정 → Before 수치 기록🔧 구현 내용항목내용M_BackgroundPanner 머티리얼, Unlit..

[C++/자료구조] 핵심 정렬 알고리즘 및 트리 구조 정리 (모바일 최적화 관점)

[자료구조/알고리즘] 핵심 정렬 알고리즘 & 트리 핵심 요약 (모바일 최적화 관점)안녕하세요! 오늘은 게임 개발자, 특히 모바일(Android Vulkan) 환경을 타겟으로 하는 클라이언트 프로그래머가 반드시 숙지해야 할 핵심 정렬 알고리즘과 트리 구조의 성능 트레이드오프를 정리해 봅니다. 단순히 이론을 암기하는 것을 넘어 실무 프로젝트에 어떻게 적용하고 한계를 방어할 것인지에 초점을 맞추었습니다.1. 삽입 정렬 (Insertion Sort)교과서적 정의정렬되지 않은 데이터를 이미 정렬된 부분 배열의 적절한 위치에 차례로 '삽입'하여 전체 데이터를 정렬하는 알고리즘입니다. 인덱스를 하나씩 늘려가며 정렬 영역을 확장하며, '정렬되지 않은 영역'의 데이터(Key)를 꺼내 '이미 정렬된 영역'의 뒤에서부터 앞..

C++ 공부 2026.05.27

[C++] 와이드 문자 타입 wchar_t 핵심 정리

[C++] 와이드 문자 타입 wchar_t 핵심 정리C++ 프로그래밍 | 유니코드와 다국어 처리의 기초1. wchar_t의 정의wchar_t(Wide Character Type)는 1바이트 크기의 char만으로는 표현하기 힘든 다양한 국가의 문자를 처리하기 위해 설계된 확장 문자 타입입니다. 흔히 '와이드 문자'라고 부르며, 유니코드(Unicode) 환경에서 문자를 일관되게 다루기 위해 사용됩니다.💡 주요 특징타입 표기: 와이드 문자열 리터럴을 사용할 때는 접두사 L을 붙입니다. (예: L"Hello")표준 컨테이너: std::string에 대응하는 와이드 문자용 클래스는 std::wstring입니다.입출력 객체: cout 대신 wcout을 사용하여 출력합니다.2. 플랫폼에 따른 크기 변화wchar_t..

C++ 공부 2026.05.11

[C++] 코딩테스트 핵심 문법 정리: 파싱부터 수학 함수까지

[C++] 코딩테스트 핵심 문법 정리: 파싱부터 수학 함수까지1. 실수 제어 (반올림·올림·내림)C++ 헤더에서 제공하는 함수들입니다. 게임 물리 연산이나 재화 계산 시 빈번하게 사용됩니다.기능함수명예시 (3.14)올림ceil()4.0내림floor()3.0반올림round()3.02. std::stringstream & 문자열 분리문자열을 입출력 스트림으로 다루는 도구입니다. 공백 기반 분리와 형식 변환에 최적화되어 있습니다.#include string str = "100 alpha 3.14";stringstream ss(str);int num; string s; float f;ss >> num >> s >> f; // 공백 기준으로 자동 타입 변환 및 추출💡 특정 문자(Delimiter) 기준 분리공..