2025/06 17

[TIL]Unreal C++ 퍼즐 스테이지 기획 & Blender 모델링

1. 스테이지/오브젝트 기획테마: 이상한 나라의 앨리스낡아서 거의 망가진 식탁 위에서 티팟, 티컵, 스푼 등이 공중에 날아다니고플레이어 캐릭터가 이 오브젝트들을 발판 삼아 건너가는 몽환적 플랫폼 스테이지 구상.주요 오브젝트: 식탁, 찻주전자, 찻잔+받침, 스푼, 냅킨, 테이블 매트, 카드 병정 등각 오브젝트의 연출 방향 및 배치 아이디어 정리.2. Blender 모델링 작업직접 제작: 찻주전자, 찻잔+받침, 스푼, 냅킨, 테이블 매트 등게임 내 퍼즐 기믹을 고려하여 비율, 크기, 형태까지 신경 써서 모델링.각 오브젝트별로 머티리얼/컬러를 분리하여 추후 언리얼에서 색상 조정 및 머티리얼 적용이 쉽게 준비.FBX로 내보낼 준비까지 마침.3. 느낀 점 & 내일 할 일오늘은 컨셉 기획과 모델링 리소스 준비에 집..

[TIL] RPG 기획 구조 논의 및 Figma 시각화

오늘 한 일텍스트 기반 RPG의 전반적인 게임 흐름 및 시스템 구조에 대해 기획 회의를 진행함Figma를 활용하여 전체 게임 플로우 및 시스템 간의 관계를 시각적으로 구성함게임의 기본 스토리 방향과 플레이 흐름을 토의하고, 주요 시스템에 대한 분담을 정리함주요 기획 포인트게임 전체 흐름 구조 정의인트로 → 탐험/전투 → 보상/회복 → 상점 → 다음 진행 구간핵심 루프 구조를 기반으로 각 기능의 위치와 동작 타이밍을 구체화상점 시스템 및 아이템 구성 논의장비 상점 / 소비 아이템 상점 분리 운영아이템 분류 기준, 이름 체계, 구매/장착 처리 방식 개념 정리캐릭터 시스템 정리플레이어 캐릭터의 기본 능력치, 슬롯 기반 장비 구조 구상상태 이상, 스탯, 장착 효과 등 기능 확장 가능성 고려스토리 구성 방향 논의..

[TIL] 분할 컴파일과 헤더 파일의 필요성

분할 컴파일 (Modular Compilation)C++에서 하나의 파일에 모든 코드를 작성하면 규모가 커질수록 유지보수가 어렵고, 컴파일 시간도 길어진다. 이를 해결하기 위해 여러 개의 소스 파일(.cpp)로 분리해서 작성하고, 필요한 선언만 헤더 파일(.h)에 담아 관리하는 것이 분할 컴파일이다. 분할 컴파일의 이점컴파일 속도 개선 (변경된 파일만 재컴파일)파일 간 기능 분리 및 코드 관리 용이재사용성 향상 (여러 프로젝트에서 동일한 모듈 사용 가능)// math.hint add(int a, int b);// math.cpp#include "math.h"int add(int a, int b) { return a + b;}// main.cpp#include #include "math.h"int m..

[TIL] Unreal C++ - 이동, 거리, 이벤트 시스템

오늘 한 일10회 랜덤 이동 시스템 구현거리 계산 함수 직접 작성이벤트 발생 함수 설계 및 확률 기반 호출배운 것삼항 연산자 ? : 사용법과 자료형 일치의 중요성UE_LOG에서 포맷 코드 실수로 로그 누락 가능성 경험TriggerCount를 지역 변수로 선언하면 누적 안 됨 → 멤버 변수로 선언 필요느낀 점로그 하나로 흐름을 추적하며, 문제 원인을 빠르게 찾는 능력이 중요함을 느꼈다.거리 계산 수식 하나 구현했을 뿐인데 수학적 사고와 최적화까지 고려하게 되었다.C++에서는 "변수를 어디에 선언했는가"가 곧 코드의 생명주기를 결정한다는 걸 다시 체감했다.

[TIL] 템플릿과 STL 개념 정리 및 Vector Lib 구현해보기

템플릿 (Template)템플릿은 자료형에 관계없이 동작하는 일반화된 함수나 클래스를 작성할 수 있도록 해주는 기능이다.용도:버전을 다른 타입에 따라 복잡한 컨설 필요 없이 하나의 컨설로 차례 사용장점:타입 사용 자유로워지는 코드자료형에 의외된 도메인 함수/클래스에서 복장 사용 없음예제 (직접 구현한 라이브러리 vector의 함수 일부):#include //#include using namespace std;template class SimpleVector {private: T* data; int size; int capacity;public: SimpleVector(T s = 10){ size = 0; capacity = s; data..

[TIL] 상속 익숙해지기 (1)

#include using namespace std;// TODO: Phone 클래스 구현// - displayBrand()와 showFeature() 순수 가상 함수를 포함하도록 구현하세요// - 소멸자를 반드시 virtual로 선언하세요class Phone {public: virtual void displayBrand() = 0; virtual void showFeature() = 0; virtual ~Phone() {};};// Samsung 클래스 작성 (Phone 클래스를 상속받음)class Samsung : public Phone {public: void displayBrand() { cout displayBrand(); phones[i]->sho..

[TIL] C++ 간단한 프로그래밍 구현

#include using namespace std;// 점수를 입력받아 배열에 저장하고 유효한 점수의 합계를 구하는 함수double solution(int scores[], int scoresSize) { int sum = 0; int i = 0; // scoresSize만큼 유효한 점수를 입력받음 while (i > scores[i]; // 입력값이 0 이상 100 이하일 경우만 유효 if (0 (sum) / scoresSize;}int main() { int scores[5]; // 점수 배열 int* p = scores; // 포인터로 전달 int scoresSize = sizeof(scores) / sizeof(scores[0]); ..

C++ 객체지향 문법(8)

C++ 객체지향 문법: 상속, 캡슐화, 다형성1. 캡슐화 (Encapsulation)데이터와 함수를 하나로 묶고, 외부에서 내부 데이터를 직접 접근하지 못하게 막는 방식접근 지정자 private, public, protected로 구분함class BankAccount {private: int balance; // 외부 접근 불가public: void deposit(int amount) { balance += amount; } int getBalance() { return balance; }};캡슐화를 통해 데이터 보호 및 함수 중심의 접근 유도 가능2. 상속 (Inheritance)기존 클래스(부모 클래스)의 속성과 기능을 물려받아 새로운 클래스(자식..

코딩/c++ 2025.06.02