게임 개발

/

게임 프로그래밍

유니티(Unity)로 시작하는 게임개발: Part 4. 궁수의 전설 프로토타입 만들기

3가지의 게임을 만드는 유니티 게임개발 강좌입니다. 궁수의 전설의 프로토타입 게임 제작을 학습합니다.

(5.0) 수강평 1개

수강생 146명

Thumbnail

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

이런 걸
배워요!

  • 유니티로 궁수의 전설 클론게임의 프로토타입을 개발

  • 유니티를 학습하면서 프로그래밍을 개발

  • 내부적인 구조를 이해하면서 유니티를 학습

입문자를 위한 게임 개발!
유니티 + C#의 구조와 원리를 함께 이해해보세요. 

유데브앱 / UdevApp / udevapp

 

 

강의 소개 📝

 유니티(Unity)의 C#을 배우고 나서 게임을 만드는 입문자들에게 가장 필요한 강의가 무엇일지 생각해 보았습니다. 바로 유니티를 이용하여 여러가지 게임을 직접 만들어 보는 것입니다.  슈팅게임의 강의를 들어보시고 다른 게임을 만들려고 하면 이제 어려움이 시작됩니다. 아직 다른 게임을 만들어보지 못했기에 어디에서부터 시작해야 할지 막막할 뿐입니다. 그러한 문제를 해결하기 위해 이 강좌를 만들었습니다.

 다른 게임 강좌와 다르게 유니티로 게임을 만드는 도중에 유니티 기능과 C# 문법을 같이 학습합니다. Part3 슈팅게임강좌에서 소개하지 않았던 문법들을 같이 소개하면서 게임개발을 소개하고 있습니다. 그리고 굳이 어려운 문법을 사용하지 않아도 게임 제작은 가능합니다. 인터페이스와 다중상속이 가능한 현란한 캐릭터 클래스를 만드는 작업은 실제 여러 캐릭터를 만들어 보고 나서 그것이 필요할때 여러 게임을 쉽게 제작하고 올려보고 나서 해야 할 일입니다.

 

• 실제 캐릭터의 이동을 어떻게 구현하는지 
• 스테이지의 데이터를 어떻게 구성하는지 
•  적캐릭터를 어떻게 구현해야 하는지
• 보스를 어떻게 구현할 것인지 등에 대해서 이유와 방법을 설명합니다.

 

이전 Part1, Part2 그리고 Part3의 강의에서 게임제작 외에 유니티의 기능을 C#과 같이 이해하고 실습하는 내용을 기반으로 이제는 실제 게임을 만드는 강의를 오픈하였습니다. 어떻게 하면 연습을 하면서 게임을 만들고 반복적인 단순작업들을 줄여서 게임을 만들지에 대해 고민하며 이 강의를 제작했습니다.

 

 

왜 배워야 하는지 ✒️

본 강의는 게임개발에 대한 내용을 Part1, Part2, Part3을 수강한 학생들의 입장에서 게임제작을 어떻게 접근할 수 있는지 알려주는 강의입니다. 그렇다고 쉽지만은 않습니다. 예를 들어 엑셀 프로그램에 저장되어 있는 데이터 변수가 유니티까지 이동하는 원리 같은 것을 설명하기 위해 TextAsset과 Resources 예제를 설명합니다. 그리고 나서 게임 데이터의 이동 원리를 설명합니다.

 또한 비슷한 구조의 작은 예제를 소개하여 수강생의 이해를 한층 더 돕는 방식으로 진행됩니다. 프로그래밍은 컴퓨터의 내부 원리를 이해하고 컴퓨터에 말을 거는 작업입니다. 저희가 말하는대로 컴퓨터가 동작하기 위해서는 클래스 외부로 노출된 저희가 사용할 수 있는 변수와 함수가 어떻게 동작하는지를 알아야 합니다.

다른 사람에게 말을 하기 위해서 다른 사람의 생각을 역지사지하는 것과 똑같습니다. 그렇기에 기초 강의인 Part1, Part2, Part3 수강이 먼저 필요합니다.

그리고 그것이 가능해야 디버깅(오류수정)이 가능해집니다. 프로그래밍은 원래 고난과의 싸움입니다. 얼토당토하지 않은 말도 안되는 오류가 나올 수 있습니다. 그러한 문제를 해결하기 위해서는 기초가 필수적입니다.

Part3까지 배운 수강생의 경우에는 아직 다른 장르의 게임 제작이 불가능할 것입니다.  하지만 이 강의를 배우고 나서 비슷한 다른 장르의 게임을 만들 수 있게 되면 새로운 게임을 만드는 두려움이 사라질 것입니다. 

 

  • 게임을 만들기 전에 원리를 학습합니다. 원리를 알면 응용이 가능합니다. 이해를 하지 않고 따라하기만 하면 게임을 만들 수 없습니다.
  • 강의 하나당 약 10분 정도의 학습시간을 가집니다. 

 

 

이 강의에서 배우는 것들 ✏️

 

  • 유니티의 기능을 사용하여 필요한 기능을 추가하는 방법을 배울 수 있습니다.
  • 유니티의 기능이 내부적으로 어떻게 동작하는지를 설명합니다. 
  • 유니티의 기능들을 가지고 게임에서 필요한 기능을 어떻게 구현하는지를 설명합니다. 
  • 추가적인 기능을 작성할때 여러 방법들을 알아보고 그중에 왜 이렇게 작업해야 하는지를 설명합니다. 

 

 

강의 특징 💡 

유니티를 통해서 새로운 장르의 게임을 개발하는 것을 목표로 합니다. 궁수의 전설의 클론게임의 게임 제작을 실행할 것입니다.

이 강의를 듣고 나면 다양한 게임을 개발할 수 있게 됩니다. 중급자의 경우에는 Part1, Part2, Part3를 학습하지 않으셔도 학습이 가능합니다.  새로운 게임을 개발하는 것에 있어서 큰 도움이 될 것으로 생각합니다.

현재 강의는 약 14시간 분량으로 강의수가 130개 가까이 될것으로 예상합니다. (계속 추가예정)
짧은 강의로 짧게 공부하고 연습하면 하루 30분으로 빠르면 30일, 길면 3개월에 유니티의 다양한 방식을 학습할 수 있습니다. 하지만 만약 비전공자들이 강의를 들으신다면 Part1부터 시작해서 학습을 느리게 하는 것이 좋습니다. 프로그래밍은 언어이기 때문에 장기 기억으로 쌓아야 자신이 직접 프로그래밍을 할 수 있기 때문입니다. 

  

 

섹션마다 간단한 소개 📖

궁수의 전설 클론 프로토타입 만들기

 

섹션 0 소개 및 프로젝트 추가

  • 강의를 소개하고 에셋을 다운로드를 진행합니다

섹션 1 2D 캐릭터를 통한 애니메이션

  • 2D 캐릭터를 가지고 작업하여 애니메이션이 진행되는 내용을 학습합니다.
  • 유니티를 사용하는 방법을 우선 학습합니다.
  • 코드를 통하여 애니메이션을 실행하는 방법을 학습합니다

섹션 2 플레이어 추가

  • 캐릭터의 움직임을 탑뷰 방식으로 제작합니다
  • 캐릭터 움직임으로 생기는 다양한 이벤트를 살펴봅니다
  • 캐릭터의 다양한 애니메이션을 적용합니다

섹션 3 플레이어 이동 및 애니메이션

  • 기본적인 키보드 움직임을 통해 캐릭터의 다양한 움직임을 적용합니다.
  • 플레이어 캐릭터의 이동을 인식하여 언제 공격을 시도할지 알아봅니다
  • 각각의 움직임에 따른 애니메이션도 추가합니다

섹션 4 플레이어의 공격 구현

  • 플레이어 캐릭터의 이동을 인식하여 언제 공격을 시도할지 알아봅니다
  • 적을 인식하고 적과의 거리를 어떻게 측정하는지 설명합니다
  • 적의 방향으로 캐릭터가 바로 보고 실질적인 공격을 취하하는 것을 살펴봅니다

섹션 5 스테이지 및 배경화면 적용

  • 스테이지의 크기에 따라 적절한 카메라 해상도를 설정합니다
  • 스테이지 별 데이터를 만들고 구조체를 추가합니다
  • 데이터를 이용하여 스테이지 구현을 살펴봅니다

섹션 6 플레이어 무기의 레벨업

  • 발사체에 다양한 효과를 넣고 적용합니다
  • 벽을 맞고 반사하는 로직과 두개의 발사체를 추가하는 기능을 학습합니다
  • 무기를 업그레이드 하는 내용을 학습합니다.

섹션 7 레벨업 UI 추가

  • 레벨업을 실행하는 UI 를 추가합니다
  • 레벨업시 스킬이 하나씩 생겨나도록 선택합니다
  • 스킬 적용이후 다시 게임으로 돌아가는 기능을 추가합니다

섹션 8 플레이어의 스킬 제작 - 1

  • 발사체와 관련된 스킬과 캐릭터 레벨업에 관련된 내용을 설명합니다
  • 플레이어 구조체에 다양한 기능들을 추가합니다
  • 레벨업 UI를 제작하고 데이터 수치를 연동시킵니다

섹션 9 플레이어 스킬 제작 - 2

  • 화살을 제외한 다른 스킬들을 알아봅니다
  • 추가적인 발사체를 생성하고 여러 방향으로 발사체를 발사하는 스킬을 추가합니다
  • 플레이어 주변을 공전하는 스킬과 무적화 모드를 추가합니다

섹션 10 플레이어 선택

  • 다양한 캐릭터를 제작합니다
  • 캐릭터 별 능력을 설정하는 방법을 설명합니다
  • 설정한 데이터를 실제 게임과 UI에 적용하는 방법을 설명합니다

섹션 11 적 추가

  • 여러 적들의 이동과 공격을 구현하는 방법을 알아봅니다
  • 각각의 적에 따라 구조체를 적용합니다
  • 스테이지 별로 등장하는 적을 설정합니다

섹션 12 스테이지 및 배경화면 적용

  • 스테이지의 크기에 따라 적절한 카메라 해상도를 설정합니다
  • 스테이지 별 데이터를 만들고 구조체를 추가합니다
  • 데이터를 이용하여 스테이지 구현을 살펴봅니다

섹션 13 보스의 제작

  • 보스의 캐릭터를 설정하고 공격 로직 설정을 알아봅니다
  • 보스의 로직을 구조체로 작성합니다
  • 구조체를 보스 1에 적용해서 실제 게임에서 동작할 수 있게 제작합니다

섹션 14 추가 기능구현

  • 작업 내용들을 정리하여 수정합니다
  • hp의 기능을 추가하고 학습합니다
  • 상속 클래스의 기본적인 내용을 학습합니다

섹션 15 프로젝트 정리

  • 상속 클래스를 작성하여 쉽게 코드를 작업하는 방법을 알아봅니다.
  • 상속클래스를 통하여 보스를 적용하고 플레이가 공격할 수 있도록 합니다.
  • 실제적으로 상속을 사용하면 어떤 장점이 있는지 학습합니다

 

여기서 다루는 툴 🧰 

이 강의에서는 Unity와 Visual Studio를 다룰 예정입니다

학습을 하시고 꼭 실습을 하시는 것이 좋습니다. 특히 비전공자는 평소에 프로그래밍으로 일을 하지 않기 때문에 그냥 보기만 해서는 절대 프로그래밍을 습득할 수 없습니다.
이해를 하시고 나서 꼭 실습을 해야 합니다. 

 

 

예상 질문 Q&A

Q. 비전공자도 들을 수 있나요?
A. 아닙니다, 비전공자와 전공자 모두를 위한 강의는 이전 강의에서 보실 수 있습니다. 본 강의는 Part1, Part2, Part3를 숙지한 수강생들을 위한 강의로 비전공자나 입문자의 경우 인프런에 있는 선수과목인 Part2 의 C# 프로그래밍 강좌와 Part3 의 슈팅게임강의의 기초내용까지를 듣고 오셔야 본 강의를 수강하실 수 있습니다. 

 

Q. "다양한 장르의 프로토타입"을 배우면 무엇이 좋은가요?
A. 원리를 알아야 응용이 가능합니다. 프로그래밍을 하는 것만이 아닌 유니티API 와 프로그래밍의 문법을 가지고 게임의 기능을 구현하는 방법을 학습할 수 있습니다. 실제 게임을 만들고 한 싸이클을 돌려보면 더 많은 것들을 할 수 있습니다. 

 

Q. "프로토타입 3가지 게임 개발"을 들으면 어떤 일을 할 수 있나요?
A. 유니티로 다른 프로그램을 만들때 큰 도움이 됩니다. 슈팅게임에 이어서 다양한 장르의 프로토타입을 배우면서 새로운 함수와 로직등의 원리를 알 수 있기 때문에 응용이 가능합니다. 즉 간단한 게임이지만  게임을 만들 수 있는 실력을 가지게 될 수 있습니다. 또한 Part3 슈팅게임강의에서는 실제적으로 업로드 가능한 게임을 만들어 업로드까지 하는 실무적인 내용까지도 포함하기에 스마트폰 게임개발에 필요한 실제적인 팁을 얻을 수 있습니다. 현재 Part4의 강좌에서는 업로드에 대한 내용이 없지만 Part3 를 공부하시고 게임을 스토어에 올려보면 Part4의 프로토타입 게임을 가지고 업로드가 가능할 것입니다.

 

Q. 이 강의만의 특별한 장점이 있을까요?
A. 저는 비전공자를 위한 온라인 오프라인 강의는 물론, 프로그래밍 관련 전공자들까지 여러 강의를 해봤습니다. 그렇기에 다른 강의들 보다 더 능숙하게 가르칠 자신이 있고 카페와 블로그등을 운영하며 강의로는 해소되지 않는 의문들을 해소시켜드립니다. 또한 초급 단계를 거치신 분들은 중반 이상 가게 되면 원리에 대한 개념이 생깁니다. 내부 구조를 알면 컴퓨터가 어떻게 돌아가는지 예상할 수 있습니다. 그렇게 되면 프로그래밍뿐만 아니라 디버그 실력도 향상됩니다. 경력자가 왜 경력자일까요? 디버그를 잘 해서 경력자인 것입니다. 디버그를 잘하는 경력자의 관점을 알려드립니다. 99%를 완성해도 오류가 있으면 그 게임은 성공하기 어렵습니다. 그리고 오류를 해결할 수 없다면 그것만큼 힘든 일이 없습니다. 이런 상황을 예방하기 위해 원리 그리고 메모리에 대한 공부가 필요합니다. 

 

 

이전 강의 보기 📼

유니티(Unity)로 시작하는 게임개발:
Part 1. 컴퓨터 구조 입문

비전공자도 쉽게, 컴퓨터가 동작하는 기본 원리를 이해해보세요.
유니티(Unity)로 시작하는 게임개발:
Part 2. C# 프로그래밍 입문

유니티 게임개발의 뼈대를 쌓아주는 첫 C# 프로그래밍!

 

 

 

 

 

 




이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 유니티로 프로토타입의 게임을 만들고 싶으신 분

  • 자신의 게임을 만들고 싶으신 분

선수 지식,
필요할까요?

  • 유니티의 C# 기본 문법

  • 유니티 기본 기능

  • Part3 슈팅게임 강의의 중반 내용까지의 이해

안녕하세요
UDevApp입니다.

안녕하세요. UDevApp 의 최형선이라고 합니다. 

무엇인가를 만들어낸다는 것은 정말로 행복한 일입니다. 

세상에 나의 제품이 나올 때의 느낌은 스티브잡스가 느낀 그것이나 

여러분들이나 저와 다르지 않다고 생각합니다. 

여러분들에게 그러한 감정을 드리는 사람이 되고 싶습니다. 

네이버카페와 블로그와 유튜브에도 많이 찾아와 주시길 바랍니다.

.

https://cafe.naver.com/ultimategunz(카페바로가기)

http://blog.naver.com/siwoo2406(블로그 바로가기)

https://www.youtube.com/user/ChoiHyungSun/(유튜브 바로가기)

감사합니다. 

커리큘럼

전체

218개 ∙ (27시간 40분)

수업 자료

가 제공되는 강의입니다.

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

수강평

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