yarogono / 3D_Multi_Shooting_Game

유니티 3D 멀티 슈팅게임

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

혼자 만들어보는 3D 멀티 액션게임


3D 탑다운 멀티 액션 게임입니다. 클라이언트부터 게임 서버 엔진, Rest API 서버까지 직접 구현한 프로젝트입니다.


기술 스택(Tech stack)


분류 기술
Language
Game Engine
Server
DB
Other

아키텍처(Architecture)



DB 설계


image


기술 내용


개발을 하면서 만났던 문제 혹은 개선할 점을 작성해봤습니다.
구현한 내용을 회고하고 좀 더 자세히 공부하고 습득하기 위해 블로그에 정리했습니다.
(블로그 글 링크를 누르시면 블로그로 이동됩니다.)


클라이언트

  • 캐릭터가 벽을 통과하는 문제를 Raycast를 사용해서 벽을 감지해서 이동하지 못하도록 해결(블로그)
  • 반복적으로 작성되는 싱글톤 코드를 제네릭 클래스를 사용해 통합해서 관리하도록 구현 (블로그)
  • GameObject.Find()가 씬의 모든 GameObject와 문자열로 비교하는 성능이슈와 런타임 오류 위험성을 인지하고 개선(블로그)
  • 로컬에서 멀티플레이 게임을 테스트하기 위해 다중 클라이언트를 빌드 후 실행 할 수 있도록 구현(블로그)

서버

  • 집에 있는 여분의 컴퓨터의 우분투 환경에 C# 게임 서버 환경 구축(블로그)
  • 해외에서 해킹 시도를 하는 것을 로깅 시스템을 통해 확인하고, NGINX를 사용해 해외 IP 차단해 대처(블로그)
  • DataManager를 구현해 기획적으로 수정 소요가 많은 아이템 데이터를 Json으로 저장하고 불러오도록 구현(블로그)
  • 유저의 비정상적인 종료, 연결을 PingPong 시스템을 사용해 감지하고 서버에서 연결을 종료합니다.(블로그)
  • Service, Repository 패턴 적용해서 Controller 코드 분리하기. 객체지향적으로 코드 수정(블로그)

About

유니티 3D 멀티 슈팅게임


Languages

Language:C# 91.2%Language:ShaderLab 7.3%Language:HLSL 1.3%Language:Batchfile 0.1%Language:Shell 0.1%