게임을 좋아하는 사람이라면 어릴때 한번쯤 꿈꿔봤을 '게임 개발자'.
하지만 그땐, 대체 누가 어떻게 게임회사에 들어가서 개발하고 있는지는 정말 모를 일이었어요.
게임 개발자가 되는 방법만 하루에 100명이 검색을 하고,
네이버 지식 in에서도 매일 4~5건 정도의 질문이 올라오고 있습니다.
하지만 구체적으로 '게임 개발자'가 되려면 어떻게 해야 하는지는
어디에도 잘 없더라구요.
잘 오셨습니다.
저는 여러분이 어떻게 하면 "포기하지 않고" 게임 개발자가 되실 수 있는지
그 방법을 제안해드리고자 합니다.
글에 정말 많은 내용을 담고자 노력해서 스크롤의 압박이 좀 있습니다.
미리 웹사이트 즐겨찾기에 등록해 두시고, 시간을 들이셔서 단계마다 잘 따라가시길 바라겠습니다.
가장 먼저, 하면 안 되는 것부터 말씀드립니다.
1. 여러분이 아무것도 모르신다면, python, C, JAVA.... 하지 마세요.
특히 기본기 쌓는데 좋다고 C를 추천해주시는 분이 계시다면, 멀리하세요.
C부터 공부한다면 여러분은 개발에 대한 열정이 꺾이고 포기하기 딱 좋은 상태가 됩니다.
왜 그렇냐구요?
첫째, 대부분의 책들은 원론적인 내용부터 시작합니다.
학문을 공부하는데 있어서는 중요할지 모르나, 실제로 쓸 때는 몰라도 되는 내용도 많아요.
당장 할 수 있는 쉬운 개발을 놔두고 컴퓨터의 동작 원리와 이진법, Hex코드를 보는 것은 낭비입니다.
둘째, C를 안다고 게임 개발을 할 수 있는 것은 아닙니다.
C를 안다면 분명 다른 프로그래밍 언어를 공부할 때 많은 도움이 됩니다.
하지만 힘겹게 C를 겨우 공부해낸 사람들은 바로 게임을 개발할 수 있다고 하던가요?
절대 아니라고 장담할 수 있습니다.
여러분이 게임 개발을 하다가 C언어 공부가 필요하다고 느끼실 수는 있더라도,
C언어로 개발을 시작해야 게임 개발자가 될 수 있는 것은 아닙니다.
셋째, 시작하기에 좋은 다른 툴이 많습니다.
당장 추천드리는 것은 아래 로드맵의 시작 지점에 있는 스크래치입니다.
스크래치는 정말 쉬운 과정만으로도 여러분이 기본적인 게임을 만들어내는 데에 큰 도움을 줍니다.
또한 이미지와 사운드, 점수 등이 어떻게 실제 코드와 상호작용하는지를 알아가신다면
나중에 더 크고 좋은 툴을 다루는 데에 엄청난 자산이 될 거예요.
2. 잡코리아, 사람인 등에서 '게임회사는 누굴 채용하는지' 확인하지 마세요.
게임회사는 전문가를 채용합니다.
특히 우리가 알 법한, '라이엇게임즈', '크래프톤', '스마일게이트알피지' 등
유명한 회사는 개발자 중에서도 어떤 개발자가 필요한지 구체적으로 말하고 있습니다.
이 글을 읽는 여러분은 개발을 하나도 모를 가능성이 큽니다.
그런 분들께 객체 지향이니, 오라클이니, SQL이니...
뭔지 하나씩 찾아보는데 시간과 정성을 들이다 포기하기 쉽습니다.
여러분은 게임 개발 회사에 취업을 생각하기에 앞서,
스스로 괜찮은 게임 개발자가 되어야 합니다.
그러기 위해서는 게임 개발만을 목표로 짜여진 로드맵을 따라가면서
부수적인 공부를 하는 것이 더 낫습니다.
3. 포기하지 마세요.
저는 위에서도 말씀드렸듯이, 여러분이 '포기하지 않고' 게임 개발자가 되기를 바랍니다.
여러분도 포기하지 않고 이 글을 잘 읽어주시고,
제가 섬세히 마련한 아래 로드맵을 열심히 따라가시기를 바랍니다.
여러분이 포기하시지 않도록 이런 점들을 신경썼습니다:
- 경제적 부담을 느끼지 않으시도록, 최대한 무료로, 집에서, 직접 공부할 수 있는 방법을 제안해 드립니다.
- 학습 순서를 면밀히 편성하여 다음 단계로 넘어가는 과정이 정말 쉽게 느껴지도록 제안해 드립니다.
- 취업까지도 가능하도록, 중요하면서도 따분한 기초를 공부하기 좋은 타이밍을 제안해 드립니다.
시작하기에 앞서, 챙겨두셔야 할 것들을 알려드리겠습니다.
1. 영어
프로그래밍 언어 대부분이 영어로 이루어져 있고,
뭔가를 찾아보실 때 참고하는 자료 또한 영어 자료가 많습니다.
영어를 정말 잘 하실 필요는 없지만, 영어를 어느정도 알아두시는 것은 분명 도움이 됩니다.
2. 수학
적어도 중학교 수준의 수학을 알고 계시면 좋습니다.
좌표, 문제푸는 방법찾기, 삼각함수... 등등 프로그래밍에 많이 사용되는 것들이 있습니다.
좀 더 나아가서는 미분, 적분, 통계 및 기하와 벡터 등 고등학교 수학이나,
선형대수학과 같은 대학교 수학이 필요하기도 합니다.
여러분이 정말 멋진 개발자가 되기를 원하신다면
대학교 컴퓨터공학과나 소프트웨어학과 등에 진학하여 공부해보시는걸 정말 추천드립니다.
3. 컴퓨터
처음부터 성능이 좋을 필요는 없습니다.
하지만 갈수록 성능이 좋을수록 좋습니다.
LOL 정도 돌아가는 컴퓨터라면 문제 없습니다.
지금부터 로드맵을 제시해 드리겠습니다.
이대로만 따라가신다면, 지금 당장 아무것도 모르시더라도 모두 게임 개발자가 될 수 있습니다.
RoadMAP 1. 스크래치를 공부하세요.
스크래치는 게임 개발을 시작하기에 너무나도 좋은 툴입니다.
스크래치는 MIT에서 8~16세 학생들을 대상으로 공부하기 쉽도록 만들어진 개발 도구이며,
다른 사람이 만들어둔 게임을 보고 따라하기도 좋은 구조로 되어있습니다.
한글 언어도 지원하니 영어가 어려우시더라도 정말 쉽게 개발을 접해보실 수 있어요.
스크래치는 또한 설치가 필요 없는 개발 도구로서,
홈페이지에서 바로 개발이 가능한 좋은 툴입니다.
아래 홈페이지 상단 메뉴에서 '만들기'로 내 게임을 만들 수도 있고,
'탐험하기'에서 다른 사람들의 게임을 체험해보실 수도 있어요.
Scratch - Imagine, Program, Share
Scratch is a free programming language and online community where you can create your own interactive stories, games, and animations.
scratch.mit.edu
스크래치를 조금만 공부하면 이런 게임도 만들 수 있습니다:
에이~ 게임이 너무 쉬워 보인다구요?
맞습니다. 스크래치에 조금만 익숙해져도 몇 시간이면 뚝딱할수있는 게임들이죠.
아마 공부하시는 데는 넉넉히 잡아도 일주일,
좀 더 똑똑한 편이시라면 하루이틀로도 가능할 수 있습니다.
여러분이 개발을 좀 더 편하게 생각하시게 하기 위해 일부러 쉬운 예시를 가져와 봤습니다.
게임이 참 쉬워 보이지만, 더 어려운 게임을 개발하는데 필요한 내용들이 모두 담겨있습니다.
아보카도의 체력을 미사일 탄환으로 깎아내고,
내 체력이 닳지 않기 위해 우주선을 이리저리 피하는 게임.
어디서 많이 해본 적 없으신가요?
LOL이나 서든어택을 생각해 보세요.
상대에게 데미지를 넣을 수 있는 나의 스킬
상대와 내가 죽을지 살지를 결정해주는 체력
상대를 이기고 내가 죽지 않게끔 하는 무빙과 전략
저런 기본적인 틀에서 다른 유저와 함께 즐기도록 하고,
드래곤이나 정글, 억제기 등 시스템을 더하고,
아이템과 스킬, 캐릭터 특성을 다양화한다면
아보카도 부수는 게임이 LOL이 될 수도 있는 것입니다.
그럼 스크래치를 공부하기 좋은 영상이 있을까요?
저는 아래 영상을 추천해 드립니다.
소놀코딩이라는 Youtube 채널에서 스크래치 강의를 제공하고 있어요.
모든 플레이리스트를 따라가는데 걸리는 총 시간은 12시간 30분!
하루에 2시간어치만 꾸준히 들으신다면 1주일만에 다 마무리하실 수 있으실거예요.
https://youtube.com/playlist?list=PLz2iXe7EqJOP07T8s5ZMaqL_gA9Gj12Aq
스크래치 3.0 게임 만들기 (new)
www.youtube.com
게임 개발자로의 첫 여정을 성공적으로 내딛은 여러분께 축하의 말씀을 드립니다.
스크래치를 하고 나면, 게임을 이루는 다음과 같은 정보에 대해 이해하게 될 겁니다.
- 이미지, 사운드, 객체를 움직이는 알고리즘 등 게임을 이루는 요소에 대한 이해
- 제어(만약 ~라면, 반복하기)
- 변수와 리스트
- 이벤트 리스너(~했을 때 반응하기)
- collide(부딪힘)
- 메세지 출력 및 메세지 입력
- 연산(사칙연산, 비교, 논리 등)
- 함수
여러분, 이때쯤 스멀스멀 올라오는 걱정이 있으실 거예요.
C언어를 다들 추천하던데, C를 해야하는거 아니야?
그래서~! C언어 강좌 목차를 가져와 봤어요.
4강까지 한번 보시면, 놀랍게도 위에 언급한 변수, 입력, 출력, 연산, 제어...가 다 녹아있는 것을 알 수 있어요.
즉, 여러분은 스크래치만 제대로 하더라도 C언어의 겉핥기 또한 함께 하신 셈입니다.
여러분은 나중에 C언어가 필요하실 때, 정말 빠르게 이해하면서 시작하실 수 있습니다.
https://comjjin.tistory.com/64
[C] C언어 강좌 전 목차 - 0. C언어 메뉴얼
0. C언어 목차 (메뉴얼_) 1. C언어 소개 - 1.1 C언어 역사 및 개요 - 1.2 C언어의 구성과 구성 요소 - 1.3 C언어의 특징 - 1.4 Visual C++ 컴파일러 설치 - 1.5 Dev C++ 컴파일러 설치 2.표준입출력함수와 산..
comjjin.tistory.com
RoadMAP 1 - SIDE. App inventor를 공부하세요.
스크래치를 어느 정도 마무리하셨다면, 다음으로 하기 좋은 툴은 무엇일까요?
스크래치를 하면서 익힌 것들을 활용할 수도 있고,
좀 더 들고 다니면서 자랑하기도 좋고,
스크래치가 가지고 있는 한계를 넘어서는 뭔가를 해보고 싶지 않으신가요?
그런 당신을 위해 app inventor를 준비해 봤습니다!
App inventor는 스크래치에 비해 게임에 적합한 툴도 좀 부족한 편이고,
블록들도 좀 덜 직관적이라서 공부하는데 어려움을 느끼실 수 있습니다.
하지만 이왕 스크래치를 공부해본 김에 모바일 앱 개발을 살짝 맛만 보실 분께
추천드리고 싶은 공부입니다.
앱인벤터 또한 MIT에서 개발한 툴로,
스크래치와 똑같이 블록을 활용한 코딩으로 앱을 개발할 수 있습니다.
하지만 휴대폰에 내려받아 사용할 수도 있고,
휴대폰에서 제공하는 다양한 센서나 카메라 등을 함께 활용할 수도 있어요.
이를 활용해서 게임을 만들어 본다면,
아래 재생목록에 있는 게임들을 만들어볼 수 있을 겁니다.
비록 영어지만 어떤 게임들이 있는지 보는건 어렵지 않으실 거예요 :)
https://youtube.com/playlist?list=PLRGHr4E21xwGColFx9iALChZ7C2PIy3wz
Games App Inventor
Learn App Inventor making #games!. Tutorials can be followed with #AppyBuilder #thunkable or any other server based on #AppInventor There are #spaceShip game...
www.youtube.com
RoadMAP 2. 유니티(Unity) 맛보기
스크래치 류의 게임을 마스터했다면,
이제 진짜 게임 개발자들이 쓰는 툴을 다뤄볼 차례입니다.
유니티는 게임 엔진의 일종으로
정말 많은 게임들이 유니티로 만들어지고 있습니다.
유튜브에도 한때 핫하게 올라왔던 Fall Guys와 Helltaker도 유니티 엔진으로 만들어진 게임입니다.
특히 Helltaker의 경우 일러스트레이팅이 가능한 제작자 Vanripper가 사실상 1인 개발로 만들어낸 게임인데요,
완성까지 1년이 채 안 걸렸다고 하니 대단하면서도, 게임 개발에는 협업이 정말 중요하다는 사실도 느껴집니다.
유니티를 마스터하신다면,
여러분은 어지간한 인디 게임 개발사에서 일할 수 있게 될 거예요.
특히 빠르게 성장하는 AR, VR 게임들도 Unity 기반으로 만들 수 있는 것이 많습니다.
특히 VR게임 중에서 이례적인 판매량을 달성했던 Beat Saber도,
커뮤니티형 게임으로 활발히 이용되는 VR Chat도 Unity로 만들어진 작품인데요.
이렇듯 좋은 아이디어를 유니티로 잘 살려낸다면, 여러분도 훌륭한 게임 개발자가 될 수 있습니다.
유니티로 시작하시는 것은 게임의 전반적인 개발을 맛보기에도 좋을 뿐 아니라,
C# 프로그래밍에 손을 조금씩 댄다는 점에서도 좋습니다.
유니티라는 툴에 익숙해지는 것은 1~2개월이면 족하며,
핵심적인 부분인 C#은 별도 프로그래밍 공부를 통해 채워나가야 합니다.
C# 언어는 C++과 JAVA로부터 영감을 받은 언어로,
C#을 공부하신다면 다른 프로그래밍 언어로 넘어가는 것이 수월해집니다.
특히 C#은 객체 지향 프로그래밍(OOP) 언어로써 캡슐화, 정보 은닉, 상속 등 개념을 익히기 좋습니다.
처음부터 주체적으로 프로그래밍하기는 어려우니,
일단 유니티 책에서 하라는 대로 코드를 따라 작성하여 넘겨 보시고,
점차 하나씩 익숙해지면서 본격적인 C#공부로 넘어가시면 되겠습니다.
유니티는 코드 타이핑이 필요할 수 있기에
유튜브보다는 텍스트나 실물 책이 좋습니다.
개인적으로 찾아본 바로는 아래 인프런 과정이 괜찮아 보였습니다.
대학에서 종종 강의도 하시는 박사님이시다 보니 퀄리티도 좋고 자료도 깔끔합니다.
참고해보시면 좋을 것 같습니다.
[무료] 따라하면서 배우는 고박사의 유니티 기초 - 인프런 | 강의
유니티로 게임을 개발하고 싶은 초보자를 대상으로 하며, 유니티 설치부터 2D/3D 게임 개발에 필요한 기초 지식까지 자세하게 설명합니다. (강의에 사용되는 모든 리소스는 영상 상단의 "수업자
www.inflearn.com
RoadMAP 3. C# 공부
여기까지 잘 따라오셨다면, 게임 개발의 기초를 어느 정도 이해하셨으리라 생각합니다.
이제 JAVA, Python, C++, C# 등을 처음으로 다뤄볼 텐데요,
유니티를 막 다뤄보신 여러분께 추천드리고 싶은 언어는 C#입니다.
현대식 게임 개발은 '엔진'을 활용하는 편입니다.
유니티와 언리얼엔진이 대표적인 게임 엔진인데요,
유니티는 C#, 언리얼엔진은 C++을 주로 사용합니다.
또한 게임사에 따라 자체 엔진을 사용하는 경우도 있습니다.
이런 경우 그래픽을 구현하기 위해 DirectX 및 OpenGL과 같은 다른 툴의 도움을 받는데요,
이들은 모두 C++을 공통적으로 지원합니다.
DirectX와 OpenGL은 나중에 게임 그래픽스에 관한 내용을 다룰 때 다시 한번 말씀드리도록 하겠습니다.
저희는 유니티로 한번 시작을 했기에,
C#을 배우면 바로 활용하기 좋다는 점에서 C#을 추천해드리고 싶습니다.
C#을 해 둔다면, C++이나 JAVA 등으로 보다 편안히 확장하실 수 있으실 겁니다.
프로그래밍 언어는 서로 많은 공통점을 가지기에
아무것도 모를 때보다는 쉽게 공부할 수 있습니다.
C# 프로그래밍을 위한 기본서는 아래 책 [시작하세요! C# 9.0프로그래밍]을 추천드립니다.
(* 시간이 지남에 따라 최신판이 나올 수도 있습니다)
C# 프로그래밍에 꼭 필요한 내용이 .net(닷넷)이라고들 하는데,
유니티를 위한 C#이라면 꼭 그렇게까지 필요하지는 않습니다.
따라서 초반에는 'C#기초' 및 '객체지향 문법' 위주로 달달 보시고,
유니티에 하나씩 적용해보시는걸 추천드립니다.
또한 C# 프로그래밍 독학을 위한 아래 사이트도 있으니 참고해주세요!
C# 프로그래밍 배우기 (Learn C# Programming)
www.csharpstudy.com
유니티와 C#까지 어느정도 공부하셨다면, 드디어 진정한 게임 개발자로서 거듭나기 시작하셨다고 할 수 있겠습니다.
축하드립니다!
그런 여러분을 위해 게임잼이라는 컨텐츠도 추천해드릴까 합니다.
게임잼은 정해진 시간동안, 특정 주제를 가지고 게임을 개발하는 대회입니다.
물론 처음 하시면서 음악이나 디자인을 막 멋있게 하지는 못하실 수 있겠지만,
여러분의 창의력을 개발하고 다른 개발자들과 커뮤니케이션을 할 수 있는 정말 좋은 기회가 될 것입니다.
아래 영상이 재밌으니 한번 보고 오시는걸 추천해 드릴게요~!
https://www.youtube.com/watch?v=kaoB6NBj0LQ
RoadMap 4. 그 다음엔?
이제 여러분은 할 수 있는 것들이 많습니다.
C#의 부모님 격인 C++를 공부해보시는건 정말 추천드립니다.
위에도 언급한 바 있듯, 언리얼엔진과 그래픽스 툴로의 확장에 도움이 됩니다.
또한 본격적으로 더 깊은 프로그래밍 공부를 해보시는걸 추천해 드립니다.
취업을 생각하신다면 자료구조와 알고리즘, 적당한 수학(기하/벡터/선형대수학 등)을 공부하시는 것도 도움이 되고요.
서버를 다룰 수 있는 JAVA나 Python 언어를 공부하는 것도 좋습니다.
네트워크에 연결하고 정보를 주고받는 방법을 공부해보시는 것도 좋습니다.
또한, 게임 개발에 필요한 다른 요소들이 눈에 들어오실 수도 있습니다.
일러스트레이팅이나 작곡, 스토리나 연출 등 말이죠.
여러분의 시야가 넓어질수록 여러분의 게임은 풍부해질 수 있습니다.
앞에서 하지 말라고 말씀드렸던 것들이 있었습니다.
이제는 다른 언어를 공부해 보셔도 되고, 취업 공고도 한번 읽어보시기 바랍니다.
국비 지원을 받아서 공부할 수 있는 과정도 있구요.
유튜브나 서점에서도 좋은 정보를 가려낼 수 있는 눈이 생기셨으리라 생각합니다.
여러분 모두 포기하지 않고 훌륭한 게임개발자로 거듭나시길 기원합니다.
긴 글을 읽어주셔서 감사합니다.
그런데... 아직도 궁금한게 많으시죠?
네트워크, 서버, 데이터베이스, AI, 3D모델링, 기획...
다음 여정에 대해서는 저희가 준비 중인 서비스에서 본격적으로 준비하여 찾아뵙도록 하겠습니다.
아울러 새로운 도전을 준비하고, 많은 정보를 나누고 싶은 분들을 위해 오픈채팅방을 개설했습니다.
다양한 분야에서 일하며 경험을 나누고 배워가실 분들을 모시고 싶습니다.
많은 응원과 관심 부탁드립니다!
https://open.kakao.com/o/gGN7pdDe
오늘도 도전하는 너를 응원해
#공부 #도전 #독학 #인증 #오공완 #조언 #상담 #휴식 #푸념 #교류 #커리큘럼 #자격증 #진로 #취업 #취미 #독서
open.kakao.com
'로드맵 드립니다' 카테고리의 다른 글
사회복지사가 되려면? 무료강의? 취업? 로드맵 드립니다! (0) | 2023.01.05 |
---|---|
퍼포먼스 마케터로 취업? 로드맵 드립니다! (0) | 2022.07.24 |
영어를 정말 잘하게 되는 아주 빠른 로드맵 (0) | 2022.07.07 |