
학교 창의설계 프로젝트로 2인 개발을 시작하게 되었다. 게임 개발인지라 장르의 선택이 중요했는데 여러가지 안건들이 나왔지만 최종 선택된건 FPS장르였다.이유는 다음과 같다.기술 스택 활용 극대화개발 플랫폼 언리얼 엔진에 적합네트워크 통신(Dedicated Server

Weapon class의 설계는 앞으로 만들어낼 다양한 무기의 최상위 설계도라고 할 수 있다.즉 하위 Weapon들이 공통으로 가지고 있어야할 기능들은 모두 있어야 나중에 작업하기 편하다.예를 들어, Pistol, Rifle, Sniper등의 무기들은 모두 Fire()

Shotgun에서는 탄의 퍼짐을 계산하는게 제일 중요하다.이를 구현하기 위해선 여러 방법이 있겠지만, 나는 Sphere형태의 구를 그리고 최대 Radius를 설정한 뒤 각각의 랜덤 벡터를 Trace할 수 있도록 설계하였다. 결과는 다음과 같다.MuzzleSocket에서

Minimap의 형태는 비교적 간단하게 만들 수 있다.SpringArm을 통해 미니맵을 찍는 2D Scene Capture Component를 캐릭터의 머리 위에 두고, 매 프레임마다 해당 사진을 업데이트시키면 그게 미니맵이다.대략 이런 형태로 구비 후에, Scene

여러모로 머리가 아팠던 구간이다.Shop Overlay의 구성은 다음과 같다. 일단 상점의 로직자체는 크게 어렵지 않다. 버튼을 누를경우 해당 웨폰의 Cost를 플레이어가 가지고 있는 골드와 비교해서, 구매가 가능하다면 감소시키고 무기를 장착시키면 된다.유튜브와 여러
PC의 역할은 ~GameMode의 역할은 ~앞서 정의한 Cooldown때 대부분의 게임은 상점시스템을 구현하여 해당 UI를 띄움으로서 플레이어에게 무기 구매를 가능케 만든다. 이를 구현하기 위해 가장 간단한 방법은 GameMode의 쿨다운때 해당 HUD를 캐스팅하여 S

게임을 실행하였는데 특정 경우 Match Count가 움직이지 않는 버그가 발생했다.본래 MatchCount가 4->0으로 이동하면 게임이 시작되는 구조인데, 해당 Count가 정상적으로 작동하지 않았다. 여러군데 로그를 찍어본 결과, 결과적으로 MatchState의

현재 스코어보드의 UI구성이다. 해당 수치들의 변화 조건은 당연하게도 플레이어가 제거될때다. 기존에 만들어두었던 PlayerEliminated함수에서 Attacker와 Victim의 Controller, State를 가져올 수 있다. 이때 PS->GoldAdd나 PS-

저번 시간에 소개하였던 블랙보드의 연장선이다. 먼저 알아야 할 것은 EQS의 개념이다. UE5에서 제공하는 블랙보드의 기능중 하나인데, 에이전트나 환경에서 데이터를 수집하게 한다.에이전트의 주변에 어떤 여러 조건을 걸어서 가장 좋은 아이템, 액터, 장애물등을 찾을 수

Acero의 UI시스템은 모두 MVC(Model View Controller) 패턴을 따른다.PlayerController(Controller) - 서버로 보내고, 서버로부터 받은 데이터를 UI로 보낸다.HUD(Management) - 클라에서의 UI를 담당. 생성,