세션 생성 옵션

FCreateServerInfo 구조체를 만들고 세션 이름, 최대 인원수, LAN 환경을 멤버로 갖도록 한다.

 

방을 만들고자 하는 사용자는 이러한 내용을 설정하고 CreateServer 버튼을 누른다.

 

 

HostMatch_UI의 CreateServer 버튼을 누르면 OnClick 함수가 호출되는데 OnClick 함수 내부에서는 GameInstance를 찾고 캐스팅하여 CreateServer 함수를 호출하게 된다.

 

인자로 들어오는 FCreateServerInfo 구조체 변수는 HostMatch_UI의 블루프린트에서 만들어서 보내준다.

세션을 만들 때 SessionSettings에 없는 속성 (서버 이름같은 경우) Set 함수를 통해 Key와 Value 방식을 통해 전달하고 받을 수 있다.

 

세션 목록 검색 / 참가

FindSessions 함수를 통해 얻을 수 있는 정보는 다음의 구조체로 정리할 수 있다.

PlayerCountStr은 "CurrentPlayers / MaxPlayers" 문자열이다.

 

ServerArrayIndex는 세션 검색 결과 배열에 해당 세션이 몇 번째로 저장되어 있는지를 뜻한다. 각각의 세션에 대한 위젯(방)이 같은 순서로 보여지기 때문에 의미 있는 정보이다.

사용자가 여러 개의 세션을 찾았을 때 어느 세션에 입장할 것인지를 결정하는 데 필요하다.

 

Join 버튼을 누르면 호스가 만든 세션에 참가한다. 

Players가 0/2로 보이는 것은 아마 LAN으로만 테스트해서? 그런 것 같은데 잘 모르겠다. 

 

앞으로의 개발 방향

지금까지 개발한 내용은 여러 개의 튜토리얼을 참고하여 단순하게 구현한 멀티플레이어 FPS 게임의 프로토타입이라고 볼 수 있다. 앞으로 여기에 기능을 추가해 나가면서 실감나고 재미있는 시스템을 구현하고자 한다.

앞으로 어떤 것들을 해볼까 하면 당장 떠오르는 것들은 5가지 정도가 있다.

 

1. 특수 기술을 사용할 때 셰이더를 적용하기 

2. 지형 지물을 생성하는 툴을 제작 (DirectX로) , 생성한 모델을 넣어보기

3. 캐릭터의 도약, 순간이동 능력, 획득할 수 있는 아이템 구현하기

4. 다양한 머터리얼 제작해보고 적용해보기

5. 대중적인 플러그인 다뤄보기

 

처음에는 서버도 직접 구현하는 것을 목표로 했으나 할 수 있다면 가장 마지막에 도전해 볼 생각이다..

+ Recent posts