로그인

기초적인 문법을 공부하셨다면 당연히 뭔가 만들어보고 싶으시겠지요? C++ 초보 프로그래머들이 간단한 게임을 만들면서 객체지향 프로그래밍에 능숙해질 수 있도록 도와드리는 강의입니다. 스스로 게임 프로그래밍을 시작할 수 있는 ‘최소한’의 코드를 제공해드리고 문법 공부만으로는 터득할 수 없었던 객체지향의 노하우를 알려드립니다. 즐겁게 만들면서 중급 이상으로 빠르게 뛰어올라보세요!

게임 프로그래밍 연습 문제 패키지

C++의 객체지향  프로그래밍이 실제로 적용되는 사례들을 게임을 만들면서 즐겁게 공부하실 수 있습니다.남이 이미 만들어진 틀에서 부분적인 사용법만 배운다면 실력은 늘지 않고 계속 헤매이며 시간만 낭비하게 됩니다. 본 강의는 객체지향적인 프로그램을 스스로 만들어가면서 원리를 터득하실 수 있도록 도와드립니다.  여기저기서 유용한 팁들이 톡톡 튀어나옵니다. 그리고 무엇보다 게임 만들기는 재미있습니다!

공지사항

학습 목표

  • 게임을 만들면서 C++ 객체지향을 실제로 어떻게 사용하는지 배울 수 있습니다.
  • 스스로 게임을 ‘프로그래밍’ 해보실 수 있습니다.
  • 게임과 같은 ‘실시간 상호작용 어플리케이션’의 구조를 배울 수 있습니다.

 도움이 되는 분들

  • 기초적인 C++ 문법을 공부하신 후에 뭔가 만들어보고싶은 초보 프로그래머들
  • 간단한 게임을 만들면서 프로그래밍 연습을 하고 싶은 초보자들
  • 게임 프로그래밍이나 컴퓨터 그래픽스를 공부할 예정인 초보자들

 강좌 특징

  • 화려하거나 멋진 게임을 만드는 것이 아닙니다. 그래픽스나 관련된 수학을 공부하는 것도 아닙니다.
  • 미리 만들어진 게임을 완성해나가는 것도 아닙니다.
  • 최소한의 예제 코드로부터 객체 지향 프로그래밍을 연습하면서 게임을 만들어갑니다.
  • ‘내가 만들고 싶은 것을’ 만드는 데 필요한 기본 기술을 공부합니다.
  • 내가 만들고 싶은 게임을 만드는 자유를 느껴보세요!

 게임 갤러리 (더 많은 작품들)

참고 사항

  • C++ 프로그래밍 연습을 목적으로 합니다. 유니티나 언리얼 등의 게임엔진은 다루지 않습니다.
  • 영상으로 제시된 샘플 게임들은 학생들이 스스로 디자인하고 프로그래밍해서 만든 게임들입니다. 게임 만드는 방법을 직접적으로 알려드리는 강의가 아니니 오해 없으시길 바랍니다.
  • 한국 학생들에게 꼭 필요한 ‘열린 문제’를 스스로 풀어나가는 과정을 훈련시키기 위해 만들어진 강좌입니다. 코드 리뷰나 모범 답안 등 열린 문제를 ‘닫힌 문제’로 바꿔버리는 서비스는 제공하지 않습니다.
  • 상속, 다형성, 가상 함수 등의 문법적인 측면을 이해하신 분들이 실제 적용 사례가 궁금하시다면 강력히 추천합니다. 따배씨++ 기준으로는 12장입니다.
  • 다른 학생들의 더 많은 작품들은 유튜브에서 보실 수 있습니다.
  • 윈도우즈, Visual Studio 2017 Community 버전 이상을 권장하며 다른 OS에서의 작동은 확인하지 않았습니다.
  • 1장의 기본적인 내용으로  간단한 게임을 직접 만들어본 후에 2장의 디자인 패턴을 공부하시면 훨씬 효율적입니다.
  • 코딩 스타일은 setter/getter도 사용하지 않는 빠른 프로토타이핑용입니다.  코딩 스타일은 어디가서 일하느냐에 따라서 많이 달라지기 때문에 배운다기보다는 그때그때 적응하는 것이 좋습니다.
  • 초보자들의 빠른 이해를 돕기 위해 내부적으로 고전적 OpenGL을 사용합니다. 향후 개설될 컴퓨터 그래픽스 전문 강의에서는 현대적 OpenGL을 사용합니다.
  • 모든 질문에 좋은 답을 드리려고 노력하고 있습니다만, 본 강의에 질의응답이나 개인상담 등의 서비스까지 포함된 것은 아닙니다. 오해 없으시길 바랍니다.
  • 강의의 가격은 예고없이 인상될 수도 있습니다.
  • 유튜브에 공개되지 않았던 강의들이 추가될 예정입니다.

예제 코드 실행 방법

  • Github에 있는 예제 코드 clone하기(20.2, 20.3 참고) 또는 링크 클릭으로 다운로드
  • Vcpkg를 이용해서 opengl, glew, glfw3 설치(20.4 참고)
  • 비쥬얼 스튜디어 2017에서 Lecture1/Lecture1.sln 솔루션을 실행
    * 사운드 라이브러리 FMOD는 바로 사용하실 수 있게 설정해뒀습니다.  혹시 외부 라이브러리를 직접 설치하는 방법을 공부하고 싶으시다면  따배씨++ 20.6 참고하세요.
  • 예제 코드 Github 링크 -> 깃헙 보수중입니다. 질문에 깃헙 아이디 적어주시면 collaborator로 등록해드립니다.
  • 챕터별 연습 문제 목록 링크

 연관된 강좌

따라하며 배우는 C++
뛰어난 프로그래밍 실력을 갖추고 싶은 왕초보들을 위한 강의!
최근 취업 인터뷰에 자주 등장하는 모던 C++의 중요 개념들을 다루고 있어요 🙂

지식공유자 소개

홍정모

2008 ~ 현재 동국대학교 컴퓨터공학과 교수
2005 ~ 2007 스탠포드 대학교 연구원
2002 ~ 2005 고려대학교 컴퓨터공학과 전산학 박사
1996 ~ 2002 KAIST 기계공학과 학사, 석사

유튜브 채널 링크
블로그 링크

강좌 평가

4.8

8 개의 수강평
  • 5 점7
  • 4 점0
  • 3 점1
  • 2 점0
  • 1 점0
  1. LEE KEON의 프로필 사진

    강력하게 추천합니다!!

    5

    정말 강력하게 추천합니다.
    강의설명처럼, 우선 따배씨를 먼저 들으시고, 게임만들기 패키지를 통해
    객체지향, STL 사용법 등을 적용해 보시면 좋을 것 같습니다.

    그리고 꼭 과제를 직접 해보시길 권장합니다.
    몇가지 예를들면 저같은 경우, bullet 연속 발사(메모리해제) 과제를 통해 stl 벡터와 리스트를 사용법을 적용해 봤으며,
    아이언맨 만들기(점프시키기) 과제를 통해 타이머(일정시간동안 점프) 사용법을 적용해 봤습니다.
    그러면서 자연스럽게 다른 레퍼런스도 참고하면서 실력이 상승하는 것을 느꼈습니다.
    ———————————————————————————————————————
    그리고 처음 개발환경 설정시에 초보인 제가 고생하면서 얻은 몇가지 팁을 드리면
    1. 영문 저장경로, 영문 비주얼 스튜디오 사용하십시오
    – 우선 Vcpkg 통해 설치시에 설치경로에 한글이름(보통 유저에 한글 이름)이 들어가거나
    한글버전 비주얼 스튜디오 사용시에는 install과 cmake 가 제대로 작동하지 않습니다.

    2. 설치 후 “vcpkg integrate install” 를 꼭 해주셔야 비주얼 스튜디오에서 제대로 경로를 잡아줍니다.
    ——————————————————————————————————————–
    교수님의 다른 강의도 꼭 수강하겠습니다 ^^ 감사합니다.

  2. 김희영의 프로필 사진

    게임 만드는 맛보기 강좌 입니다.

    3

    영상 설명에 나와있듯 내가 무엇을 만들것이며 만드는 즐거움을 알아보는 것에 충실한 영상이였습니다.

    게임 만들기라고는 하지만 키보드 입력이나 마우스 입력 등등을 직접적으로 구현 하지는 않습니다.
    영상 내용중 중요한 처리는 모두 api를 이용하기에, 영상의 주된 내용이 api 사용법과 간단한 로직을 설명하는 것입니다.
    유명 게임엔진을 사용하기 전에 게임 엔진 맛보기 정도로 보시기 바랍니다.

  3. 김기섭의 프로필 사진

    게임을 만들고싶다면 유니티나 언리얼같은 상용엔진이아닌 이 강의로 입문하시는 것을 추천합니다.

    5

    저도 그랬고, 많은 분들이 막연하게 게임을 만들어봐야겠다 생각하면 보통 유니티엔진을 떠올리고, 유니티엔진강의부터 찾곤합니다.
    사실 유니티엔진강의에서 알려주는 것은 프로그래밍이 아닌 ‘툴’사용법인 것이 대부분입니다.
    내부적으로 유니티엔진도 C++로 구현되어있는 만큼 따배씨로 C++에대한 개념을 확실하게 공부하고, 다양한 디자인패턴들과 실제 게임엔진의 구동원리와 비슷하고 다루기쉬운 예제들로 학습하면서 공부한다면 큰 효과를 얻을수있을거라고 생각합니다.
    국내에 이렇게 연계식으로 배울수있는 기회는 흔치않다고 생각하며 정말 강추합니다

  4. 김민수의 프로필 사진

    Good

    5

    막연히 C++의 이론은 배웠다고 생각하는데 내가 얼마나 알고있는지, 앞으로 무엇을 해야할지 모르겠다면 이 강좌를 추천합니다
    실습을 통해 본격적인 프로그래밍의 노하우를 배울 수 있으며
    결정적으로 게임만들기는 매우 재미있습니다 🙂

  5. ChoongHoon Lee의 프로필 사진

    아주 좋습니다.

    5

    따배씨에 강의평가 하는게 안 보여서 게임만들기 패키지와 엮어서 평가하자면
    이미 C++을 할 줄안다고 해도 얻어갈 것이 많은 강의입니다. 강의 중간중간에 꿀팁들이 많습니다.
    그리고 게임 만들기 패키지를 통해 실질적인 프로그래밍의 재미를 느낄 수 있습니다.

  6. 백두현의 프로필 사진

    객체지향프로그래밍을 확실하게 접하고 싶은가? 따배씨를 듣고 본 강의를 수강하라!!

    5

    믿을 수 있습니다!!

  7. 늙은드론의 프로필 사진

    믿고 듣는 강좌입니다

    5

    따라하며 배우는 c++ 강좌를 좋게 봐서 수강하게 되었습니다.
    상속이나 가상함수 같은 개념들을 간단하게 이해만 하고 있었는데
    게임 프로그래밍에 적용시켜보면서 구체적으로 개념을 다질 수 있어 만족스러웠습니다.

  8. 이재우의 프로필 사진

    따봉.. 최고!

    5

    최고입니다. 2018년 하반기 게임강좌중 최고입니다.

강좌 교육과정

게임팩 0. 시작하기 전에
0.0 게임 만들기 연습문제 패키지 소개학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:02:00
게임팩 1. 기본 기능 구현
1.1 실시간 상호작용 어플리케이션의 구조학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:16:00
1.2 기본적인 그리기 – 이동, 회전, 애니메이션학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:25:00
1.3 상호작용 맛보기 – 키보드 입력과 반응학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:17:00
1.4 마우스 입력 다루기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
1.5 FMOD를 이용한 소리 재생학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:13:00
게임팩 2. 객체 지향으로 가는 길
2.1 객체 지향은 편리해요 – 클래스와 캡슐화학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 미리보기 00:26:00
2.2.1 상속으로 깔끔하게 [1/2]학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:15:00
2.2.2 상속으로 깔끔하게 [2/2]학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:22:00
2.3 다형성으로 유연하게학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:15:00
2.4 공장 패턴 factory pattern학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:10:00
2.5 명령 패턴 command pattern학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:14:00
2.6 싱글톤 패턴 – 사운드 엔진 예제 singleton학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:19:00
게임팩 3. 게임 물리 맛보기
3.1 공 튕기기 시뮬레이션학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:30:00
3.2 공 두 개를 충돌시켜보자학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:18:00
3.3 질량-용수철 시스템학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:16:00
3.4 파티클 시스템학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:16:00
게임팩 4. 리미터 해제!
4.1 외부 이미지 사용하기학습을 원하시면 최상단 '배우기 버튼을 클릭해주세요' 00:12:00
  • 가격 옵션 +
  • 평생
  • 강좌 수료증
  • 18개 강의, 총 4 시간 56 분
  • 위시리스트

실시간 인기 강좌

우리는 성장기회의 평등을 추구합니다. 🎄

경제적, 시간적 제약없는 양질을 교육으로 누구나에게 성장 기회를 균등하게 주는 것. 그것이 우리의 목표입니다.

지식공유참여 고객센터
top
(주)인프랩 | 대표자:이형주 | TEL:070-4178-0406 | E-MAIL: course@inflearn.com | 사업자번호:499-81-00612
주소:성남시 분당구 삼평동 대왕판교로 645번길 12 경기창조경제혁신센터 8층 R19 | 개인정보보호책임자:이형주
통신판매업:2017-서울강남-01544 | ©INFLAB. ALL RIGHTS RESERVED