강의

멘토링

로드맵

Inflearn brand logo image
NEW
게임 개발

/

게임 프로그래밍

절대강좌 유니티6 - 네트워크 게임 개발 마스터클래스 (Part3) : Netcode로 개발하는 2D RPG

미니 RPG 2D 게임을 제작하며 2D 개발 기법을 익히고, 완성된 게임을 Netcode for GameObject로 전환해 네트워크 게임으로 확장하는 과정을 배우는 강좌입니다. 2D 게임에 필수적인 타일맵의 다양한 기능을 다루고 있으며, 자연스럽게 SOLID 원칙을 준수한 클린 코드 작성 기법을 학습할 수 있도록 준비했습니다. 또한, 최신 유니티 6 버전에서 변경된 Netcode API를 활용한 네트워크 게임의 기초를 다지는 강의입니다.

8명 이 수강하고 있어요.

  • 이재현
유니티
유니티2d
mmorpg-유니티
네트워크프로그래밍
netcode
Unity네트워크unity2d유니티6

이런 걸 배울 수 있어요

  • 유니티 2D 게임 개발 - 타일맵, AutoTile, Rule Tile, Animated Tile

  • Netcode for GameObject

  • Lobby, Relay, Matchmaking SDK 활용

  • 최신 Multiplayer Service SDK를 활용한 Quick Join

  • SOLID 원칙을 준수한 클린 코드

Netcode for GameObject를 활용한 미니 2D RPG 네트워크 게임

본 강의는 Netcode for GameObjects(NGO)의 기초부터 로비, 릴레이, 매치메이킹까지 단계적으로 학습하는 과정을 다룹니다. 강의에서는 타일맵 기반의 2D RPG 게임 개발을 실습하며, Netcode 기능을 적용해 네트워크 게임 제작 기법을 익힙니다. 대부분의 Netcode 강좌에서는 위치와 애니메이션 동기화 처리만 다루고 있는데 반해서 실전 프로젝트에서 활용할 수 있는 Lobby, Relay, Matchmaking 기능을 실습합니다.

특히, Unity 6부터 새롭게 제공되는 Multiplayer Service를 통해 네트워크 게임 개발을 보다 편리하게 지원하는 API를 활용합니다. 이에 따라 기존 Lobby, Relay 기능을 먼저 학습한 후, Multiplayer Service를 이용한 랜덤 매치메이킹 기능까지 구현해 볼 수 있도록 구성하였습니다.

LittleSword Netcode Project

전투시스템

이런 내용을 배워요

1⃣ 타일 맵 기반의 2D 게임 개발 기법

2D 타일맵의 기본 사용법을 익히고, 단순 반복 작업을 줄여주는 Rule Tile 기능을 학습합니다. 이어서 유니티6에 새롭게 추가된 Auto Tile을 활용하여 맵을 효율적으로 디자인하고, 다채로운 2D 연출을 위해 Animated Tile 기능을 적용합니다.

Rule Tile, Auto Tile, Animated Tile 활용

전투씬의 타일맵 디자인

전투 시스템

2⃣ 커스텀 에디터 활용 

커스텀 에디터는 인스펙터나 별도의 뷰를 확장·재구성할 수 있는 기능으로, 개발 프로세스에서 다양한 용도로 활용됩니다. 본 강의에서는 버튼을 통해 데이터 초기화나 피격 데미지 적용, 캐릭터의 상태를 변경하는 기능을 구현하며, 이를 통해 기초를 다집니다. 나아가 추후에는 여러분이 프로젝트에 필요한 기능을 직접 제작할 수 있도록 기반을 마련합니다.

3⃣ OOP 구조와 상태 패턴 구현

본 강의에서는 주인공 캐릭터를 상속 구조로 설계하여 확장가능하도록 구현하고, 적 캐릭터는 NPC AI 구현 자주 활용되는 상태 패턴을 적용합니다. 기본적인 상태 패턴의 동작 원리와 구현 방법을 학습하며, 생성자를 통한 Context 전달 방식과 공격 상태의 최적화 기법까지 다룹니다. 또한, 기본 게임 로직과 Network 로직을 분리해 SRP 원칙을 준수합니다.

  • 제너릭 싱글턴 패턴

  • 옵저버 패턴

  • 의존성 주입

4⃣ Netcode for GameObject

본 강의에서는 Unity Netcode for GameObjects의 기본 활용법을 학습하고, 로비(Lobby)와 릴레이(Relay) 기능을 통한 매치메이킹 실습을 진행합니다. 기존의 Lobby, Relay 패키지가 Multiplayer Service로 통합되면서, 더욱 간편하게 로비 및 릴레이 기능을 활용할 수 있는 Multiplayer Service SDK 또한 함께 다룹니다.

  • 네트워크 토폴로지(Topology)의 이해 : Server/Host/Client

  • Transform, Animation 동기화 처리

  • 서버 권한 피격 판정

  • Network Variable 활용법

  • ServerRPC, ClientRPC, RPC 활용법

  • Lobby 생성 및 조인

  • Relay 서비스를 활용한 연결 (aka. 포톤 클라우드)

  • Multiplayer Service SDK를 활용한 퀵 조인 (랜덤 매치메이킹)

Lobby

Lobby UI

수동 Lobby 생성 및 Quick Join 구현

수강 전 참고 사항

실습 환경

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

  • 사용 도구: Unity 6.2.x , Rider (Visual Studio, VSCode 관계없습니다.)


학습 자료

  • 매 강의마다 프로젝트 코드를 제공하며 마지막 강의에 최종 프로젝트를 제공합니다.

  • 분량 및 용량: 각 섹션별로 학습 자료 제공

선수 지식 및 유의사항

  • 유니티 : 기본 사용법은 알고 계셔야 합니다.

  • C# : 기초적인 C# 문법 정도 이해하신다면 따라오는데 무리가 없습니다.


이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 유니티 Netcode를 활용해 네트워크 게임을 개발하려는 분

  • SOLID 원칙에 입각한 구조화 된 프로그래밍을 학습하려는 분

  • 유니티 6.x의 최신 Netcode API에 대해 학습하려는 분

선수 지식,
필요할까요?

  • C# 프로그래밍 기초

  • 유니티 기초 사용법

  • 네트워크 기초 지식

안녕하세요
입니다.

204

수강생

14

수강평

30

답변

4.9

강의 평점

4

강의

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

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

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

커리큘럼

전체

37개 ∙ (7시간 27분)

해당 강의에서 제공:

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

수강평

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

얼리버드 할인 중

월 ₩16,940

5개월 할부 시

30%

₩121,000

₩84,700

이재현님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

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