728x90
반응형

전체 글 223

Claude Code + 옵시디언으로 「기억하는 작업 환경」 만들기 (윈도우 기준 세팅 전문) V1.0

들어가며Claude Code를 쓰다 보면 두 가지가 계속 걸립니다.세션이 끊기면 다 잊어버립니다. 어제 무슨 얘기를 했는지 다시 설명해야 합니다.결과물이 터미널 스크롤 안에서 사라집니다. 좋은 정리를 받아놓고 어디 갔는지 못 찾습니다.그래서 Claude Code를 「손」으로, 옵시디언을 「기억」으로 쓰는 구성을 만들었습니다.같은 폴더를 Claude Code의 작업 디렉터리이자 옵시디언 볼트로 쓰는 방식입니다.이 글은 나중에 다른 PC에서 똑같이 세팅하려고 쓴 글입니다.그대로 따라 하시면 됩니다. 윈도우 11 기준이고, 코딩이 아니라 문서 작업에 쓰는 용도입니다.0. 전체 그림같은 폴더 하나 ├─ Claude Code가 파일을 읽고 씁니다 ← 손 └─ 옵시디언이 그 파일을 보여줍니다 ..

Project GJ #9 빌드 카드 추가, 스킬 추가

이틀 동안 구현한 기능은 가중치 기반의 카드 선택 시스템, 액티브 스킬(차징 파이어볼), 그리고 이를 뒷받침하는 스킬 UI입니다. 글의 분량만 보면 순조로운 기능 추가 같지만, 실제로 가장 많은 시간을 쏟은 곳은 기능 구현이 아니라 엔진 내부의 함정(라이브 코딩, 색상 연산, 물리 콜리전)들과 씨름하는 과정이었습니다.만든 것보다 막혔던 것들에 대한 기록을 정리해 둡니다.🃏 1. 능력 카드 시스템: 가중치 추첨과 슬롯 관리레벨업 시 3장의 카드를 제시하는 시스템을 구축했습니다. 매번 총합을 다시 계산하는 무복원 가중 추첨 방식을 사용하며, 함수에 부작용(Side Effect)을 두지 않아 추후 '리롤(Reroll)' 기능 추가 시 함수만 한 번 더 호출하면 되도록 설계했습니다.게임플레이 태그 기반 가중치..

Project GJ #8 허브 생성, 데미지 공식 추가, 경험치 및 테이블 열 추가, 사망 추가

지금까지 개발된 환경에서는 캐릭터의 HP가 0이 되면 쓰러진 채로 화면이 멈추는, "죽으면 그걸로 끝"인 상태였습니다. 이번 작업에서는 죽음을 새로운 회차의 시작점으로 연결하여 로그라이크의 핵심 뼈대인 '런 루프(Run Loop)'를 완성했습니다.또한 성장의 기반이 되는 전투 스탯(방어력, 치명타 등)을 추가하고, 파편화되어 있던 데미지 계산 로직을 하나의 공식으로 통합했습니다. 마지막에는 구현 계획을 글로 정리하던 중, 코드를 한 줄도 짜지 않고 숨어있던 버그를 찾아낸 과정도 함께 기록합니다.1. 런 루프(Run Loop) 닫기: 죽음을 회차로단판 단위로 끊기던 게임 흐름을 다음과 같은 루프로 연결했습니다.죽음 → 2초 대기 → 게임오버 화면 → [부활 버튼] → 허브 레벨 → 포탈 상호작용 → 새 런..

카테고리 없음 2026.08.12

Project GJ #7 총기 장착, 스왑 구현

1. 닷지(회피) 버그 2라운드: 사전 스윕(Sweep)의 도입지난번 목적지 Z축 보정과 스텝 높이 완화만으로는 한계가 있었습니다. 딱 1개 큐브 높이 등 특정 임계값에서 무브먼트 컴포넌트의 스텝업 판정이 여전히 불안정하게 튕기는 현상이 발생했습니다.높이 임계값을 계속 튜닝하는 대신, 닷지 시작 전에 경로가 막혀있는지 물리적으로 미리 확인(Sweep)하는 방식으로 로직을 전면 수정했습니다.GJCharacter.cpp — PerformDodge() 사전 체크// 캡슐을 목적지까지 그대로 스윕해서, 뭔가에 막히면 그 앞까지만 거리를 줄임FCollisionObjectQueryParams ObjectParams;ObjectParams.AddObjectTypesToQuery(ECC_WorldStatic);FHit..

Project GJ #6 적 HP 구현, 플레이어 HP, MP구현, 인벤토리 및 아이템 구현

적 캐릭터의 사망 처리를 마무리하는 것을 시작으로, HP/MP UI, 재장전 MP 경제, 상호작용 시스템, 그리고 마우스 드래그 앤 드롭이 지원되는 인벤토리 창까지 구현한 과정의 기록입니다.기능을 만드는 시간보다, 눈에 보이지 않는 엔진 내부 상태(포커스, 캡처, 일시정지, 라이브 코딩 등)가 얽히며 발생한 버그를 추적하는 데 하루를 통째로 쓴 치열한 트러블슈팅 과정도 함께 정리해 둡니다.💀 1. 적 캐릭터 마무리: 죽었으면 죽은 것처럼적 캐릭터에 AI를 붙여두긴 했지만, 정작 사망 시 처리가 허술했습니다. 캡슐 콜리전만 꺼두었을 뿐, 메시 콜리전이 살아있어 죽은 시체에 총알 판정이 들어가거나, AI가 계속 플레이어를 추적하려 드는 문제가 있었습니다.해결: 사망 시 AI 로직을 완전히 정지시키고, 메시..

Project GJ #5 연사 및 장전 구현, 적 AI 간단 구현(추적만)

1. 무기 연사속도 및 탄창 재장전 시스템기존 총알(데미지, 속도, 사거리) 데이터에 기획적 밸런스를 위한 두 가지 축을 추가했습니다.FireInterval: 초당 발사 제한 (연사속도)MagazineSize: 탄창 용량총알 자체는 무제한이나, 탄창을 모두 비우면 R 키를 눌러 재장전을 해야 다시 사격할 수 있습니다. 강력한 무기일수록 탄창 크기를 작게 설정하여 자연스럽게 재장전을 유도하는 밸런스 장치입니다.GJGameTypes.h// 연사 속도 제어: 이 시간(초)마다 최대 1발까지 발사 가능 (예: 0.1 = 초당 10발)UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "WeaponStat")float FireInterval = 0.1f;// 탄창 용..

언리얼 엔진 / 클로드 코드 설치 및 연동

내가 기억하기 위한 가이드라인 언리얼 엔진 에디터와 AI(Claude)를 직접 연동하여 개발 효율을 높이기 위한 세팅 과정을 정리해 둡니다. MCP(Model Context Protocol)를 활용하면 AI가 엔진 내부의 맵, 블루프린트, 액터 정보 등을 직접 읽고 코드를 작성하거나 분석할 수 있습니다. 1. 사전 준비언리얼 엔진 5: 버전 5.4 이상 사용 (MCP 플러그인이 내장되어 있음). -- 글은 5.8 버전 기준으로 작성클로드 코드 프로 이상의 요금제2. 클로드 코드 설치클로드 코드 공식 홈페이지https://code.claude.com/docs/ko/overview홈페이지에서 본인의 운영체제에 맞는 코드 복사 윈도우즈 CMD용은 아래curl -fsSL https://claude.ai/ins..

Project GJ #4 데미지 수신 및 스켈레탈 메시 변경

오늘은 프로젝트의 전투 시스템을 지탱할 뼈대를 세우는 데 집중했습니다. C++ 기반으로 발사체(Projectile)의 이동과 충돌, 그리고 캐릭터의 데미지 수신 로직을 구현했습니다. 이후 애니메이션 퀄리티를 높이기 위해 스켈레탈 메시를 교체하는 과정에서 발생한 흥미로운 이슈들까지 정리해 봅니다.🎯 1. 프로젝타일(Projectile)과 오브젝트 풀링(Object Pooling)총알이 수없이 발사되는 환경에서 매번 SpawnActor와 Destroy를 반복하는 것은 성능에 치명적입니다. 따라서 미리 생성해 두고 껐다 켰다를 반복하는 오브젝트 풀링 방식을 채택하여 AGJProjectile 클래스를 설계했습니다.충돌 프로필 수정: 기존에 설정하려던 Projectile 콜리전 프로필이 프로젝트 설정(Defau..

Project GJ #3 런앤건(상하체 분리), 오브젝트 풀링

📌 개요캐릭터의 기본 이동과 회피 시스템에 이어, 이번에는 모듈화 및 확장성을 고려한 컴뱃(전투) 시스템의 뼈대를 구축했습니다. 기존 Blueprint에 의존하던 AnimNotify를 걷어내고 C++ 네이티브 기반으로 전환하여 제어권을 가져왔으며, 무기 클래스의 계층화 및 상하체 애니메이션 분리를 통해 자연스러운 이동 사격(Run & Gun) 메커니즘을 완성했습니다.🛠 주요 구현 내용무기 시스템 계층화 (Polymorphism): 추상 클래스인 AGJWeaponBase를 부모로 두고, 이를 상속받는 AGJWeapon_Ranged를 구현하여 다형성을 활용한 유연한 무기 시스템을 설계했습니다.발사체 오브젝트 풀링 (Object Pooling): 메모리 할당과 가비지 컬렉션 부하를 줄이기 위해, 원거리 무..

Project_GJ #2 - 회피

📌 개요이번 작업에서는 탑다운/쿼터뷰 시점 게임을 위한 캐릭터의 기본 뼈대를 구축했습니다. 마우스 커서 위치에 따른 자연스러운 캐릭터 회전 및 카메라 오프셋을 적용하고, 플레이어의 이동 입력 방향에 맞춰 알맞은 애니메이션 몽타주를 재생하는 방향별 회피(Dodge) 시스템을 구현했습니다.🛠 주요 구현 내용마우스 기반 동적 카메라 오프셋: 마우스 커서 위치에 따라 카메라가 일정 거리 이동하여 플레이어의 시야를 확보합니다.Enhanced Input 적용: 이동(WASD) 및 회피(Space/Shift 등) 액션을 최신 입력 시스템으로 바인딩했습니다.방향별 회피 시스템 (Directional Dodge): 캐릭터가 바라보는 방향과 현재 이동 입력(Input) 방향의 각도를 계산하여 4방향(앞, 뒤, 좌, 우..

728x90
반응형