2026/05 20

게임 기획: 리그 오브 레전드 — 룬 시스템

1. 시스템 개요시스템명: 룬 시스템 (Runes Reforged)목적: 경기 시작 전 챔피언의 스탯을 보완하거나 특수 효과(유틸리티, 데미지, 유지력)를 선택하여 본인의 플레이 스타일에 맞게 커스터마이징함.기획 의도: 같은 챔피언이라도 어떤 룬(예: 지속 딜링 중심의 '정밀' vs 순간 폭딜 중심의 '지배')을 선택하느냐에 따라 전략적 포지션을 다르게 가져갈 수 있도록 유도하여, 게임의 리플레이 가치(Replayability)와 전략적 깊이를 확장함.2. IPOF 상세 서술 (핵심 룬 발동 판정 — 예시: 감전)Input (입력): 플레이어 챔피언이 3초 이내에 동일한 적 챔피언에게 '3회의 독립된 공격(기본 공격 또는 스킬)'을 적중(Hit) 시킴.Process (단계별 처리):적 챔피언에게 공격 적..

카테고리 없음 2026.05.30

게임 기획: 레인보우 식스 시즈 — 시스템 IPOF 분해 및 시스템 맵

1. 핵심 시스템 목록 (5가지)환경 파괴 시스템 (Destructibility): 벽, 바닥, 천장을 파괴하여 새로운 사선(Line of Sight)을 생성하는 시스템.정보 수집 시스템 (Intel/Observation): 드론, CCTV, 특수 가젯을 통해 적의 위치를 스캔하고 공유하는 시스템.가젯 시스템 (Gadget Mechanism): 오퍼레이터 고유의 특수 능력을 활성화하고 상호작용하는 시스템.소리 전파 시스템 (Sound Propagation): 구멍이나 열린 공간을 통해 소리가 꺾여 들어오는 물리적 사운드 연동 시스템.매치 템포/페이즈 시스템 (Match Phase): 준비 단계(Prep Phase)와 실행 단계(Action Phase)를 제어하는 시스템.2. IPOF 분해 (3가지 시스템..

카테고리 없음 2026.05.30

언리얼 엔진 로컬라이제이션(Localization) 및 한글 폰트 적용기

오늘의 목표: 언리얼 엔진 프로젝트에 다국어(영어/한국어) 지원 시스템을 구축하고, 인게임에서 버튼 클릭 한 번으로 언어가 실시간으로 교체되도록 구현한다. 먼저 게임 개발에 사용되는 언어를 모두 번역한다면 굉장히 귀찮겠지만. 언리얼에서는 Localization이라는 기능을 제공한다. 이 기능은 텍스트를 수집해 원하는 언어로 바꿀 수 있는 기능이다. 물론 자동번역은 아니고 번역 전용 에디터를 사용해 번역하고 다시 Import 해야 적용된다. 1. 텍스트 수집 (Gather Text)게임 내에 흩어져 있는 모든 텍스트(UI, 블루프린트 등)를 한곳으로 모으는 작업부터 시작했다.상단 메뉴 바에서 Tools ➔ Localization Dashboard를 실행한다.Gather Text 항목에서 Gather fro..

카테고리 없음 2026.05.23

언리얼 엔진 5 시네마틱(Cinematics) 및 시퀀서 기초 워크플로우

1. 마스터 시퀀스 기반의 다중 샷(Shot) 생성Add Level Sequence with Shots: 단순한 단일 시퀀스가 아니라, 여러 개의 카메라 컷(Shot)을 한 번에 관리할 수 있는 마스터 시퀀스(Master Sequence)를 생성하는 기능입니다.초기 세팅의 이점: 설정 창에서 Number of Shots를 6개로 지정하면(9F_Runaway 프로젝트 기준), 엔진이 알아서 전체 타임라인 길이를 분할하고 6개의 독립된 샷 에셋을 한 번에 만들어줍니다. 컷씬이 길거나 앵글이 자주 바뀌는 연출을 할 때 필수적인 워크플로우입니다.2. 에셋 관리와 타임라인 구조화자동 폴더 트리 생성: 생성 시 지정한 Prefix(shot)에 따라 Content Browser 내에 shot0010부터 shot006..

카테고리 없음 2026.05.22

Oblivio 기획: 호러 생존 게임의 보스 패턴 기획 및 UX 개선

1. 문제 인식: 세계관과 충돌하는 보스 패턴 보스(비대한 태아)의 공격 패턴을 구현하는 과정에서, 원래 기획했던 '탯줄 공격'의 구현 난이도가 높아 팀원이 '눈알 소환 및 마법 탄막 발사'로 대체하자는 의견을 냈다. 이는 프로그래밍적으로는 합리적인 선택이나, 병원 지하나 기괴한 생명체라는 호러 생존 게임의 테마와는 전혀 어울리지 않고 판타지 RPG 같은 이질감을 주는 문제가 있었다.2. 해결 과정 1: 코드 재사용을 통한 스킬 리스킨(Reskin) 프로그래머의 작업량을 늘리지 않고 기획적 몰입도를 높이기 위해, 팀원이 작성한 기존 로직(소환체(Spawner) ➔ 투사체(Projectile) 발사)은 100% 그대로 유지하되 시각적 에셋과 파티클만 교체(Reskin) 하는 세 가지 테마를 기획 및 제안했..

카테고리 없음 2026.05.17

Oblivio Delegate 활용한 레벨 기믹과 의존성 분

1. 문제 인식: 스파게티 코드의 위험성 프로젝트 초반에는 캐릭터가 특정 아이템(메멘토)을 획득했을 때 레벨의 기믹(예: 2층 홍수 이벤트)을 작동시키기 위해, 캐릭터의 Interact() 함수 내부에서 직접 태그를 검사(ActorHasTag("FloodTrigger"))하고 특정 액터(AFloodLevelActor)를 찾아 실행하는 방식(하드코딩)을 사용했다. 하지만 층수가 늘어나고 9층(전화기 울림), 10층 등 각기 다른 기믹이 추가될수록 캐릭터 클래스가 모든 맵의 이벤트를 알아야 하는 구조적 모순이 발생했다. 이는 코드가 무한정 비대해지고 유지보수가 불가능해지는 '스파게티 코드'의 전형적인 원인이었다.2. 리팩토링 설계: 의존성 역전과 Delegate(방송국) 도입 "캐릭터와 아이템은 세상에 무슨..

카테고리 없음 2026.05.17

Oblivio 캐릭터 이동 상태(Crouch/Water)에 따른 동적 사운드 및 어그로 제어

1. 문제 상황 은신 플레이를 위한 '앉기(Crouch)' 기능을 추가했으나, 앉아서 이동할 때도 서서 걸을 때와 동일한 크기의 발소리가 나고 적의 어그로 범위(소리 전파 반경)가 그대로 유지되어 은신 시스템의 의미가 퇴색되는 문제가 발생했다. 또한, 특정 층의 홍수 기믹에 맞춰 캐릭터가 물을 밟을 경우 발소리 에셋이 일반 구두 소리에서 '찰박거리는 물소리'로 즉각 변환되고, 물속에서는 앉더라도 소음이 줄어들지 않도록 환경적 디테일을 구현해야 했다.2. 해결 과정 1: 이동 상태에 따른 속도 제어 로직 단일화 기존 UpdateStatus 함수(매 틱 상태를 업데이트하는 함수) 내에서는 걷기/뛰기/스턴/수중 상태 등 이동 속도(MaxWalkSpeed)를 결정하는 제어문이 여러 곳에 중복으로 흩어져 있어 로..

카테고리 없음 2026.05.17

[기획]성장 테이블 설계: 프로젝트 "Submergia" (가제)

1. 게임 설정장르: 수중 SF 액션 RPG / 서바이벌 어드벤처플랫폼: PC (Steam)타깃 플레이어: 포스트 아포칼립스 세계관과 깊이 있는 내러티브, 탑다운/백뷰 액션 및 자원 관리 생존 게임을 선호하는 하드코어 게이머.2. 설계 목표레벨업 목표 시간: 레벨 1 -> 30까지 총 25시간 소요 목표.초반부(Lv 1~10): 레벨당 20~30분 (빠른 성장 체감으로 온보딩 유도)중반부(Lv 11~20): 레벨당 45~60분 (수중 탐사 및 전투 루틴 정착)후반부(Lv 21~30): 레벨당 90~120분 (최종 플로트 정착지 및 왕국의 진실 추적)목표 TTK(Time To Kill) 범위: 동레벨 엘리트 수중 괴수 기준 8.0초 ~ 14.0초 유지. (수중 전투 특유의 무겁고 긴장감 넘치는 템포 유지)..

카테고리 없음 2026.05.16

Oblivio 디버그 및 치트 시스템: 효율적인 테스트 환경 구축

게임이 하드코어 해질수록 테스트가 힘들어지기 때문에 후반부 맵이나 보스 기믹을 테스트해야 하는데, 배터리가 모자라서, 혹은 몬스터에게 죽어서 1층부터 다시 파밍 하는 것은 엄청난 시간 낭비였다. 이를 해결하기 위해 나만의 커스텀 치트 시스템을 엔진 깊숙이 심었다.1. 개발자용 콘솔 명령어(UFUNCTION(Exec)) 도입언리얼 엔진의 강력한 기능 중 하나인 Exec 매크로를 AOblivioCharacter 클래스에 도입했다.이를 통해 게임 플레이 도중 ~ (백틱) 키를 눌러 콘솔 창을 열고, 코드에 선언해둔 함수 이름을 타이핑하면 즉시 해당 기능이 토글(Toggle)되도록 만들었다. 별도의 디버그 UI를 띄우지 않아도 되어서 접근성이 매우 뛰어나다.2. 3대 치트 시스템 구현 로직가장 테스트를 방해하는..

카테고리 없음 2026.05.13

Oblivio 인벤토리 시스템 개발: 생존의 무게를 담다

파밍과 크래프팅, 그리고 열쇠를 통한 탈출까지. 이 모든 시스템이 맞물려 돌아가려면 아이템을 담고 관리할 튼튼한 '가방'이 필요하다. 단순히 아이템을 배열에 넣는 것을 넘어, 생존 호러의 템포를 해치지 않는 모듈화 된 UOblivioInventoryComponent를 개발했다.1. 인벤토리 데이터 구조(FInventorySlot) 설계아이템의 정보가 파편화되지 않도록 FInventorySlot이라는 구조체(Struct)를 정의하여 하나의 슬롯이 독립적인 데이터를 갖도록 만들었다.슬롯 안에는 ItemID, ItemName, ItemIcon, MaxStack(최대 겹침 수량), ItemType(음식, 자원, 열쇠 등), 그리고 현재 Quantity를 담았다.구조체를 활용하니 인벤토리 UI를 띄울 때 해당 슬..

카테고리 없음 2026.05.13