인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

절대강좌! 유니티6 - 네트워크 게임 개발 마스터클래스 (Part 1)

네트워크 게임을 처음 접하는 개발자를 위해 기초적인 이론과 개발 방식 그리고 네트워크 게임 만의 특성으로 인해 고려해야 할 부분에 대한 이해도를 높이는 과정입니다. 가벼운 게임에 활용도가 높은 Photon PUN2를 활용한 탱크 대전 게임을 개발하는 과정을 담고 있습니다.

25명 이 수강하고 있어요.

초급자를 위해 준비한
[게임 프로그래밍] 강의입니다.

이런 걸 배울 수 있어요

  • 네트워크 게임 기초

  • Photon PUN2

절대강좌 유니티 - 네트워크 게임 개발 마스터 클래스

네트워크 게임 개발 시리즈는 총 3부작으로 구성되어 있으며, 각 강좌는 서로 다른 장르의 게임을 개발하는 방식으로 진행됩니다. 슈팅, RPG, RTS 등 다양한 장르와 접목하여 실습 중심의 커리큘럼을 제공합니다.

Part 1 강좌는 포톤 PUN2 엔진을 활용한 탱크 대전 게임을 개발합니다.

시리즈 구성 안내:

• Part 1 – Photon PUN2 엔진을 활용한 탱크 대전 게임 (현재 강의)

Part 2 – Fusion2 엔진을 활용한 게임 개발 (2025년 5월 오픈 예정)

Part 3 – Netcode for GameObjects + Unity Multiplay를 활용한 게임 개발 (2025년 6월 오픈 예정)


Part 1 - 포톤 PUN2를 활용한 네트워크 탱크 대전 게임


Photon PUN2 엔진은 출시된 지 오래된 네트워크 게임 엔진이지만, 초보 개발자나 가벼운 네트워크 게임을 개발할 때 여전히 많이 사용되고 있습니다. 네트워크 게임 개발을 처음 배우는 경우, 난이도가 높지 않은 엔진을 선택하는 것도 좋은 접근 방법이 될 수 있습니다. 본 강의에서는 다음과 같은 내용을 학습합니다.


네트워크 게임 영역

  • 네트워크 게임 개발의 필수 이론과 네트워크 용어 정리

  • 포톤 PUN2 기초 사용법 - 포톤 클라우드 접속, Lobby 접속, 오브젝트 동기화, 룸 목록 관리

  • 심화 내용 I - RPC, Player CustomProperties 활용법

  • 심화 내용 II - 공격자 기반 피격 판정

  • Play Mode 시뮬레이터 활용

인게임 영역

  • Wheel Collider 활용 물리 적용

  • 터렛의 자동 조준 및 재장전 로직

  • Audio Mixer 활용한 사운드 최적화

  • 옵저버 패턴, 이벤트 버스 패턴, 싱글턴 패턴, 의존성 주입 패턴 사용

탱크 대전 게임 구현 기능

Lobby 및 탱크 물리 구현

로비에서 NickName 설정과 Room 이름을 지정한 후 방을 생성하는 로직을 구현합니다.

네트워크 동기화

기본 컴포넌트(PhotonView)를 이용한 이동 및 회전의 동기화 처리를 구현하며, OnPhotonSerializeView 콜백 함수를 활용해 동기화 방법도 추가적으로 구현합니다.

자동 조준 Aiming

조준점을 타겟에 일치시켜 적을 감지하면 터렛을 자동 회전시키고 타겟이 없을 경우 다시 중립으로 회전하는 로직을 구현합니다.

탱크 사격시 반동 및 카메라 흔들림 연출

스크린 좌표 및 뷰 포트 좌표를 활용한 HUD 구현

피격 및 HP 동기화 - 상태값 동기화 처리

전투 중 피격에 의한 HP를 동기화 처리하며 네트워크 지연에 따른 피격 판정의 공정성을 최대한 확보하기 위해 "공격자 기반 피격판정" 로직을 RPC를 활용해 구현합니다.

룸 목록 조회 및 조인 로직

로비 씬에서 생성된 룸 목록과 정보를 조회한 후 원하는 룸에 조인하는 로직을 구현합니다.

커스텀 프로퍼티를 활용한 HP 동기화

전투 씬에서 로비로 나간 후 다시 재 입장 했을 때 룸에 있는 다른 유저의 정보를 동기화하는 로직을 Custom Property 를 활용해 구현합니다.

수강 전 참고 사항

실습 환경

  • 운영 체제 및 버전(OS): Windows, macOS

  • 유니티 버전 : Unity 6 이상 권장 (2022.3.x 버전도 가능)


학습 자료

  • 프로젝트 소스 코드는 매 강의 챕터의 수업자료에 압축 파일로 제공합니다.


이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 네트워크 게임 개발 처음이신 분

  • 가벼운 네트워크 게임 개발에 적합한 엔진을 학습하려는 분

  • 네트워크 게임의 필수적인 이론을 배우고자 하시는 분

선수 지식,
필요할까요?

  • C#

  • 유니티 기초

안녕하세요
입니다.

154

수강생

10

수강평

23

답변

5.0

강의 평점

3

강의

안녕하세요, 이재현입니다.

1인 게임 개발자를 꿈꾸며 유니티를 독학으로 시작했고, 2009년부터 2012년 까지 1인 개발로 모바일 게임 10여종을 출시했습니다. 개발 도중 우연한 기회에 유니티 서적 집필과 오프라인 강의를 진행했습니다. 강의를 진행하면서, 잘 아는 것과 잘 가르치는 것은 다르다는 사실을 매번 깨닫고 있습니다. 이러한 경험을 바탕으로, 제가 가진 지식을 여러분들께 더 효과적으로 전달하기 위해 늘 노력하고 있습니다.

이번 강의가 여러분께 좋은 출발점이 되어, 즐거운 게임 개발자의 세계로 나아가는 데 작은 보탬이 되기를 기원합니다. ~

커리큘럼

전체

30개 ∙ (9시간 17분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!