인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
게임 개발

/

게임 프로그래밍

[유니티 레벨 업!] 모듈식으로 개발하는 스킬 시스템

다양한 게임에 적용할 수 있는 [스킬 시스템]과 개발 생산성을 높여주는 [툴 제작], 구조적인 프로그래밍 방식인 [모듈식 프로그래밍]을 배우는 강의입니다.

(5.0) 수강평 9개

수강생 167명

Thumbnail

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

이런 걸
배워요!

  • 개발 생산성을 높여줄 [툴 제작 방법]

  • 스테이트 머신을 통한 객체들의 [상태 관리법]

  • 조립하여 원하는 스킬를 만들고 관리하는 [스킬 시스템]

  • 기능을 쪼개고 조립하여 객체를 구성하는 [모듈식 프로그래밍]

모듈식 프로그래밍👨‍💻으로 
게임 개발 레벨, 한 단계 업그레이드!

게임, 제대로 만들고픈 
당신을 위해!
🕹

유니티 레벨 업 시리즈란? 🤔

아직 개발 실력이 미숙한 개발자는 개발 시간의 대부분을 단순 기능 구현에 사용하지만, 개발 실력이 어느 정도 궤도에 오른 개발자는 개발 시간의 대부분을 기능을 재사용 및 확장 가능하도록 시스템화(Systemize) 하는데 사용합니다.

장기적으로 사용할 수 있는 제대로된 시스템의 구축은 설계와 구조에 대한 지식과 시스템화 하려는 기능에 대한 깊은 이해가 필요하기 때문에 경험이 적은 프로그래머에게는 매우 어려운 작업입니다.

유니티 레벨 업 시리즈는 핵심 게임 시스템들의 개발 방법과 모듈식 프로그래밍을 통해 효율적인 시스템을 구축하는 방법을 교육하여 수강생분들의 개발 실력은 한 단계 레벨 업 시켜드리는 것을 목표로 하는 시리즈입니다.

모듈식으로 개발하는 스킬 시스템 🎇

스킬 시스템은 액션 게임부터 캐주얼 게임까지 장르를 가리지 않고 게임에 역동성과 재미를 더해주는 시스템입니다.

큰 인기를 누리고 있는 로그라이크나 뱀파이어 서바이벌 장르의 게임에선 다양한 스킬을 조합하고, 강화 시키는 것으로 매번 다른 재미를 주어 단순한 컨텐츠의 게임을 수 백, 수 천 시간을 즐길 수 있도록 만들어줍니다.

이렇듯 현대의 게임에 있어 스킬 시스템은 없으면 아쉬울 정도로 매우 중요한 시스템입니다.

하지만, 스킬 시스템의 개발은 쉬운 일이 아닙니다. 스킬로 데미지를 주고, 받으려면 캐릭터와 스탯 같은 기초 클래스들이 있어야하고, 캐릭터가 기절이나 수면 같은 상태 이상에 걸리려면 캐릭터의 상태를 제어하는 방법과 상태에 맞춰 애니메이션을 제어하는 방법도 알아야 합니다. 이것들을 다 안다고 해도 구조적 프로그래밍에 대한 지식이 없다면 스킬 클래스에 모든 기능을 박아 넣어 스킬 클래스의 길이가 2천 줄, 3천 줄이 되어 내부에서 if문과 swtich문이 끝도 없이 펼쳐지는 끔찍한 상황에 직면하게 됩니다.

a


이번 강의에서는 7400줄 이상의 코드를 기반으로 앞서 언급한 모든 요소들을 상세히 다루고, 개발 생산성을 높여주는 툴 제작 방법과 모듈식 프로그래밍을 통해 효율적이고 확장이 용이한 스킬 시스템을 구축하는 방법을 학습하게 됩니다.

이 강의의 특징

📌 초급 강의가 쉽다고 생각되는 분들에게 추천되는 어려운 난이도의 강의입니다.

📌 개발 생산성을 높여주는 다양한 고급 기법들을 설명합니다.

📌 단순한 예제로 끝나지 않는 상용 에셋 수준의 스킬 시스템을 제작합니다.

📌 예제 20% 코드 80%. 7400줄 이상의 코드를 꽉꽉 눌러 담았습니다.

이런 분들께 추천해요

나만의 툴을 제작하고 싶어요.

툴 제작에 관심이 있지만 쉽사리 접근하지 못 하겠으신 분

체계적 코딩을 하고 싶어요.
코드가 자주 꼬이거나 구조 설계 능력이 약하신 분

개발 과정이 궁금해요.
게임의 핵심 시스템인 스킬 시스템을 어떻게 만드는지 궁금하신 분

수강 후에는

  • 모듈식 프로그래밍을 통해 if문과 switch문의 늪에서 벗어나 구조적 프로그래밍을 할 수 있어요.

  • 유니티에서 Custom Editor를 이용해 개발 생산성을 높여주는 툴을 제작할 수 있어요.

  • 스테이트 머신을 통해 객체의 다양한 상태를 체계적으로 관리할 수 있어요

  • 내 게임에 필요한 독특한 스킬들을 만들 수 있어요.

  • 다양한 기능들을 시스템으로 구축할 수 있어요.

이런 내용을 배워요. 🎓

Basic Framework

캐릭터, 스탯과 같은 기초 클래스의 작성 방법과 데이터 관리를 도와주는 편리한 툴 제작 방법을 학습합니다.스탯은 코드 베이스가 아닌 하나의 객체로 만들어 관리하며, 하드 코딩하지 않고 다양한 곳에 스탯의 수치를 적용시키는 방법까지 학습하게 됩니다.

Multi Layered State Machine

캐릭터와 스킬을 비롯해 다양한 객체들의 상태를 체계적으로 제어할 수 있는 스테이트 머신의 개발 방법과 스테이트 머신을 이용해 객체의 다양한 상태를 제어하는 방법을 학습합니다.

Skill System

모듈식으로 다양한 스킬을 손쉽게 만들고, 체계적으로 제어할 수 있는 스킬 시스템의 개발 방법과 캐릭터와 스킬이 스테이트 머신을 통해 서로의 상태를 동기화하여 캐릭터의 동작과 애니메이션을 제어하고, 상태 이상(CC)을 구현하는 방법을 학습합니다.

Skill Tree

XNode 플러그인을 이용하여 노드 에디터를 기반으로 직관적이고 생산성 높은 스킬 트리를 제작하는 방법과 스킬 트리를 기반으로 UI를 자동 생성하는 방법을 학습니다.

보너스, 전체 영상 자막 제공! 📚

강의 내용을 정확하게 이해할 수 있도록 
수업 영상마다 자막을 함께 제공합니다. 

수강 전 참고 사항

실습 환경

  • 강의에서 사용되는 프로젝트는 유니티 2023.1.2f 버전으로 만들어졌습니다. 2023 이전 버전으로 프로젝트를 열면 패키지 설정 때문에 많은 에러를 띄울 수도 있으므로 2023 이상 버전에서 여시는걸 권장 드립니다.

  • 완성된 스크립트를 보면서 설명 드리는 강의입니다. 모든 코드를 한 줄, 한 줄 보면서 설명 드리므로 타이핑 방식을 선호하시는 수강생분은 영상을 멈춰가며 타이핑하시면서 따라오시면 됩니다.

학습 자료

  • 매 챕터마다 강의에서 사용할 스크립트와 모든 작업이 완료된 프로젝트 제공합니다.

  • 전체 스크립트는 7400줄의 코드와 900줄의 설명 주석이 작성되어 있습니다.

선수 지식 및 유의사항

  • 초급 강의가 쉽다고 생각되는 분들에게 추천되는 어려운 난이도의 강의입니다. 초급자분들에겐 상당히 어려운 내용이지만 어려운 알고리즘이나 기법을 쓰는 것이 아니기 때문에 여러 번 반복해서 보신다면 이해 못하실 정도의 난이도는 아닙니다.

  • 중급자용 강의이므로 유니티 문법과 C# 문법을 설명하지 않습니다. 다만, 수강생분들께 생소하실 수 있는 내용인 Custom Editor와 XNode는 상세히 설명 드립니다.

  • 이 강의는 클론 코딩 강의가 아닙니다. 수강생분들의 이해력을 많이 요구하는 강의이며, 전체 로직을 이해하셔야 자신의 게임에 강의의 내용을 활용하실 수 있습니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 프로그래밍 실력을 한 단계 더 높히고 싶은 [루키 프로그래머]

  • if문과 switch문에 의존하지 않는 [모듈식 프로그래밍]을 공부하고 싶으신 분

  • 재사용 가능한 [체계적인 시스템]을 개발하고 싶은데 갈피를 못 잡겠는 분

  • 나만의 [스킬 시스템]을 만들어보고 싶으신 분

선수 지식,
필요할까요?

  • C#

  • 유니티

안녕하세요
Developer G입니다.

수강생 수

835

수강평 수

56

강의 평점

4.8

강의 수

2

안녕하세요, 게임을 사랑하고 개발을 사랑하는 게임 프로그래머 Developer G입니다.

저는 어떻게하면 깔끔하고 체계적인 코드를 작성할 수 있을지 항상 고민하는데요,

제 고민의 결과물들을 여러분들에게 아낌없이 가르쳐드리겠습니다!

커리큘럼

전체

28개 ∙ (16시간 14분)

수업 자료

가 제공되는 강의입니다.

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

수강평

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