| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- https://hjmag1120.tistory.com/
- https://mynameiskgws.tistory.com/
- https://ji-han.tistory.com/
- https://eo-oe.tistory.com/
- 이리5조
- https://vetenir.tistory.com/
- 스파르타코딩클럽
- 태어난김에 보스까지
- Today
- Total
목록전체 글 (73)
info8995 님의 블로그
n8n + AI + Google Sheets + Gmail게임을 운영하면서 가장 중요한 요소 중 하나가 바로 VOC(Voice of Customer) 입니다.하지만 VOC는 양이 많고 형식이 들쭉날쑥해서 분석·분류·전달에 시간과 인력이 많이 들어갑니다.그래서 이번에 저는 n8n과 AI를 활용해 VOC 처리 전 과정을 자동화하는 시스템을 직접 설계하고 구축했습니다.이 글에서는 제가 만든 실제 자동화 시스템을 구성 단계별로 설명합니다.1. 목표 설정제가 만들고자 한 시스템은 아래와 같은 흐름이었습니다.Slack에 VOC 문의가 들어온다AI가 VOC 내용을 자동 분석Google Sheets에 모든 VOC 기록 저장유형별 담당 팀에게 자동 이메일 발송즉, VOC 접수 → 분석 → 저장 → 알림까지 완전 자동화된..
게임 소개발로란트(VALORANT)는 라이엇 게임즈에서 개발한 5대5 팀 기반 전술 FPS로, 정확한 사격과 에이전트 스킬 조합, 팀 전략, 심리전이 결합된 게임입니다.각 에이전트는 고유 스킬을 활용해 전투 흐름을 바꾸며, 단순 반사신경 싸움이 아닌 두뇌 중심의 전투를 제공합니다.맵마다 존재하는 다양한 기믹과 구조 덕분에 플레이어는 맵을 이해하고 전략을 설계하며 전투를 진행할 수 있습니다.발로란트는 총기 싸움뿐 아니라 맵 자체가 전투 흐름을 바꾸는 핵심 요소로 작동한다는 점이 특징입니다. 각 맵에는 회전문, 부서지는 벽, 텔레포트, 스위치 문처럼 전략적 결정을 유도하는 기믹이 존재하며, 이는 플레이어의 이동 경로 선택, 전투 타이밍, 정보 교환 등에 큰 영향을 미칩니다. 이런 이유로 이번 리뷰에서는 특히..
TIL - 햄버거 가게 문제 해결 (스택 & 동적 메모리)문제 요약상수는 빵–야채–고기–빵(1 2 3 1) 순서로 쌓인 재료만 포장 가능하다.재료는 순차적으로 상수 앞에 쌓이며, 올바른 패턴이 감지되면 해당 재료 4개를 제거하고 햄버거 1개를 포장한다.재료 배열이 주어졌을 때, 총 몇 개의 햄버거를 포장할 수 있는지 구하는 문제.사용한 개념1. 스택 자료구조재료는 쌓이는 구조이기 때문에 **후입선출(LIFO)**인 스택을 사용.새로운 재료가 들어올 때마다 스택에 push하고, 가장 위에서부터 4개가 [1, 2, 3, 1]인지 검사함.2. 동적 메모리 할당 (malloc)입력 배열의 길이가 매번 달라질 수 있어, 스택을 고정 배열이 아닌 동적 배열로 구현.malloc을 사용하면 프로그램 실행 중 필요한 크..
1번 문제zip() 함수란?zip() 함수는 **여러 개의 iterable(반복 가능한 객체)**를 묶어서, 같은 인덱스에 위치한 요소들을 **튜플로 묶은 이터레이터(iterator)**를 생성합니다.가장 짧은 iterable의 길이에 맞춰서 동작합니다.예: 코드 실행 결과tupList = list(zip(alpa, num))alpa = ['A', 'B', 'C', 'D']num = [1, 2, 3]→ zip은 짧은 쪽(num, 길이 3)에 맞춰:2.dicList = dict(zip(num, alpa))zip(num, alpa) 결과는: → 이를 dict로 변환하면: 최종 출력 결과 2번 문제분석:input()의 결과로는 "apple grape"이 들어오고, 이를 a, b로 나누기 위해선 split(..
1번 문제 while문 실행 흐름:시작값: a = 61a = 7❌sum += 7 (sum=7)2a = 8✅continue (sum=7)3a = 9❌sum += 9 (sum=16)4a = 10✅조건 만족X → 반복 종료 switch (a % 2) { case 2: s++; case 3: a += s; default: a++; } a = 10a % 2 = 0case 0이 없으므로 default 실행 → a++ → a = 11출력문printf("%d%d", s, a); s = 0, a = 11 → 011최종 출력 결과: 011 (앞자리 0이 포함된 이유는 s = 0, a = 11을 붙여서 출력하기 때문) 2번 문포인터 연산 해석1. first = *++p1;p1은 data 배열의 첫 번째 요소('f')를 ..
오늘 한 일XR(VR·AR 포함) 콘텐츠 이용자들의 만족 요인과 재사용 의도에 대한 이론과 연구자료를 학습했다.실감형 콘텐츠의 시장 성장성과 XR 콘텐츠의 기획 및 제작 시 고려할 점들을 파악했다. 배운 점 요약1. XR 콘텐츠 학습의 필요성국내외 실감 콘텐츠 시장은 연평균 15~40% 성장 중.특히 VR/AR 기기는 스마트폰을 대체할 미래형 디바이스로 주목받고 있음.콘텐츠 제작은 단순 영상과 달리 고도의 기획력, 개발 지식 필요.지금 XR 콘텐츠 제작 경험을 쌓는 것은 미래 시장에 대한 투자와 같음.2. XR 콘텐츠 이용자 만족 요인VR 프레즌스(Presence)사실감, 몰입감, 상호작용성이 높을수록 콘텐츠/시스템 만족도 상승.이용자 특성신기술 수용, 몰입 경험, 이전 이용 경험이 많을수록 만족도 증가..
학습 목표 복습플레이어 스킬 3종(소리 제거, 은신, 설득) 및 마나 회복 시스템 완성AI 경비 시스템의 추격/통신/상태 전이 구조 확립인터페이스 중심 설계를 통한 클래스 간 유연한 연결 구조 구현오늘 구현한 것1. 플레이어 스킬 및 상태 시스템 고도화FSkillState 구조체로 스킬 지속 시간 및 마나 소모 일괄 관리각 스킬 발동 시 조건 체크 → 타이머 기반 종료 처리 → 상태 복원까지 명확한 흐름 정립TryPersuade() 구현을 통해 감지 이후의 인터랙션(설득 → 무적) 로직까지 완성2. 마나 회복 시스템 최적화FTimerHandle을 통해 1초 주기로 마나 +2 회복스킬 사용 시 남은 마나에 따라 조건 분기 처리3. 인터페이스 통합 설계IDetectableInterface:CanBeDetec..
학습 목표플레이어 스킬(소리 제거, 은신, 설득) 및 마나 시스템 구현AI 경비 시스템(순찰, 추격, 통신 등) 구현 및 인터페이스 기반 감지 로직 설계플레이어 시스템 요약스킬 시스템 구현:소리 제거(10초간 발소리 제거), 은신(5초간 투명), 설득(50% 확률, 마나 50% 소모)각 스킬마다 FSkillState 구조체로 상태 관리마나 시스템 구현:최대 50, 1초당 2씩 회복 (FTimerHandle 이용)인터페이스 사용:IDetectableInterface를 통해 감지 가능 여부와 소음 여부 체크AI 경비 시스템 요약공통 부모 클래스: AEnemy_BaseGuardAI 타입AEnemy_PatrolGuard: 순찰 및 소리 반응AEnemy_PoliceGuard: 플레이어 체포 가능, 추격 시 체력 ..
✅ 오늘 학습한 내용 요약오늘은 언리얼 엔진의 AI Perception 시스템 중 시각 감지(Sight) 기능을 중점적으로 학습하고, 이를 Behavior Tree와 연동하여 AI가 플레이어를 인식하고 추적하는 로직을 구현했다.이 과정에서 AIController 내부의 시각 설정, 블랙보드 키 확장, 비헤이비어 트리 설계, Enum 상태 시스템 구성 등 여러 시스템을 종합적으로 설계하고 연동하는 과정을 실습했다.🔧 주요 구현 내용 정리1️⃣ 블랙보드 키 확장AI의 감지 및 추적 상태를 저장하기 위해 다음과 같은 블랙보드 키를 새롭게 정의하고 사용했다:TargetPlayer: Object 타입으로, 감지한 플레이어를 저장CanSeePlayer: Boolean 타입으로, 현재 플레이어가 시야에 있는지 여부..
오늘은 언리얼 엔진의 AI 시스템에서 기본 노드(MoveTo, Wait 등)를 넘어 커스텀 BTTask와 BTService를 직접 구현해보고, AI와 상호작용 가능한 오브젝트 간의 복합적 행동 흐름을 구성하는 실습을 진행했다. 핵심 내용 요약1️⃣ BTTask_FindInteractiveObjectAI가 지정된 태그(예: "Interactive")를 가진 액터를 탐색하고, 가장 가까운 오브젝트를 블랙보드에 저장하는 태스크.UGameplayStatics::GetAllActorsWithTag()를 사용하여 주변 오브젝트 탐색.블랙보드에 ClosestObject, ClosestObjectLocation 저장.2️⃣ BTTask_InteractWithObject블랙보드에 저장된 오브젝트와의 거리 체크 후 상호작..