[내일배움캠프 Day58] 채팅 따라하기
·
내일배움캠프/TIL
Listen Server를 이용해 RPC를 호출해서 채팅을 만드는 강의를 듣고 정리해보았습니다. 전체 Flow서버 사용자가 Host, 클라이언트 사용자는 Guest로 UserID를 할당한다.채널에 참가하면 사용자의 ID를 출력한다.메시지를 입력하면 서버 측에서 클라이언트 측으로 브로드캐스팅된다. 결과물 레벨 블루프린트시작이 되면 Widget_ChatWindow 를 Viewport에 할당한다.현재 실행 중인 인스턴스가 서버인지 확인. BP_Controller가 확인되면 OnLoginWithID 이벤트를 실행한다.서버일 경우: "Host"라는 ID를 전달한다.클라이언트일 경우: "Guest"라는 ID를 전달한다. Widget_ChatWindowUI 위젯이 생성될 때 BP_Controller로 캐스팅하고 On..
[내일배움캠프 Day56] 브루트포스 과제
·
내일배움캠프/TIL
브루트포스(Brute Force)는 말 그대로 무식하게 문제를 푸는 방법입니다. 가능한 모든 경우의 수를 전부 시도해 보는 것입니다. 과거 '프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략' 책에 나오는 브루트포스에 대해 정리한 글을 추가합니다.https://dev0404.tistory.com/24 완전 탐색(Brute Force)‘무식하게 푼다(brute-force)’ 는 컴퓨터의 빠른 계산 능력을 이용해 가능한 경우의 수를 일일이 나열하면서 답을 찾는 방법을 의미합니다.이렇게 가능한 방법을 전부 만들어 보는 알고리즘을 완dev0404.tistory.com 강의에서는 위와 같은 내용 이외에도 경우의 수를 ‘어떻게’ 만들어 낼지에 대해 여러 가지 전략을 알려주셨습니다.중첩 반복문을 활용한 직접 생성b..
[내일배움캠프 Day55] GGF 프로젝트 1주차 WIL
·
내일배움캠프/TIL
프로젝트가 끝나면서 3주간 코드 작업으로 너무 바빠 티스토리에 정리를 많이 못했다고 느껴 3주 간의 내용을 간단하게 정리하고자 글을 쓰게 되었습니다. 먼저 1주 차 때 작업한 내용을 크게 정리하자면 아래와 같습니다.게임모드 구현퀘스트 시스템 구현ai 기본적인 노드 구현health 시스템 구현전체 아웃게임 위젯 구현 1주 차 스프린트 내용은 아래와 같습니다. AI 작업을 다른 분과 함께 하게 되어서 그분이 밀렵꾼 AI, AIController 코드 작업(AI perception 시야, 청각)을 맡아 저는 그 외에 동물 AI와 게임 플레이를 하게 되어서 1주 차 때는 안 겹치는 작업 위주로 진행했습니다. 따로 팀원들 공유용으로 스프린트1가 끝난 후 AI 작업 정리한 내용도 첨부하면 아래와 같습니다. 하지만 ..
[내일배움캠프 Day46] AI 무리지어 이동 구현(Boids Algorithm)
·
내일배움캠프/TIL
팀플 기획 중에 동물들 중 사슴이 무리 지어 이동한다는 기획이 있어 관련 구현 내용을 정리해 보았습니다. 처음에 바로 떠오른 아이디어는 Boids Algorithm이었으나 구현이 어려울 것 같아 단순하게 리더 정해서 리더 아닌 사슴들은 리더를 타깃으로 이동하도록 구현했었습니다.다만 AI들이 각 AIController이 독립적으로 작동하면서 각 AI마다 새로운 BlackboardComponent가 생성되다보니, 각 사슴은 같은 Blackboard 데이터셋을 가져도 독립적인 BlackboardComponent를 사용해 데이터가 공유되지 않는 문제가 발생했습니다. 즉, AI가 같은 블랙 보드를 공유해야지 팔로워 사슴이 리더 사슴의 주소를 가져올 수 있으므로 현재 팔로워 사슴이 LeaderPosKey를 읽을 때..