이 프로젝트에는 C++로 작성된 단일 스레드 게임 서버가 포함되어 있습니다. 게임은 네트워크, 게임 세계, 통신 미들웨어의 3가지 주요 구성 요소로 나뉩니다.
중요한 패킷 처리, 지연 시간 상쇄, 누락된 데이터 복구 또는 업데이트, 재전송 등을 처리하기 위해 플래그를 추가할 수 있는 맞춤형 UDP 네트워크 프로토콜을 사용합니다.
플레이어는 자신의 계정으로 로그인하고, 로비에서 게임을 생성 및 선택하고, 생물과 싸우고, 아이템과 상호 작용하고, 점수를 받고, 경험하고, 상태를 업그레이드할 수 있습니다.
C#으로 작성된 사용자 정의 Unity 클라이언트가 서버와 상호 작용하는 데 사용되었습니다. 네트워크 통신 뒤에는 직렬화된 네트워크 패킷이 이어집니다. 패킷은 컴퓨터 사용자 ID, 고유 식별자 및 번호 개수를 포함하는 헤더와 단일 또는 다중 메시지 헤더 및 각각의 직렬화된 데이터로 구성됩니다.
C++ 표준 라이브러리의 일부, 일부 부스트 라이브러리 및 mysql 커넥터 등 전체 서버가 처음부터 작성되었습니다. 성능상의 이유로 자체 메모리를 관리합니다.
boots::asio와 mysql 커넥터가 필요합니다.
C#으로 작성된 사용자 정의 Unity 클라이언트가 서버와 상호 작용하는 데 사용되었습니다.
Bruno Miguel Boost 라이브러리 표준 라이브러리 Joshua Glazer의 MySQL Multiplater 게임 프로그래밍 및 Robert Nystrom의 Sanjar Madhav 게임 프로그래밍 패턴
MIT
하트랜드 게임 콘테스트에서 심사위원단 2위, 국민 투표 2위를 수상한 사진입니다.
계정 만들기.
로비.
인게임.