namespace UnityGameDevelopment.Day1 {
public class Outline {
public static string Chapter1 = "게임과 장르";
public static string Chapter2 = "컴퓨터 구조와 언어";
public static string Chapter3 = "유니티 설치 및 프로젝트 생성";
}
}
1. 게임과 장르
세상에 출시된 게임들은 너무나도 많습니다. 또한 저마다의 방식으로 게임을 플레이할 수 있습니다. 온 세상의 존재하는 모든 게임을 알 필요는 없지만, 대표적인 게임 장르 몇가 를 알고 있다면 게임 개발에 도움이 될 것 같습니다.
PC방에서 인기있는 게임 순위 안에 어떤 게임 장르들이 있는지 알아보겠습니다.
아래 이미지는 2024년 11월 20일자 PC방에서 인기있는 게임 순위입니다.
순서대로 게임의 장르를 표로 나타내 봤습니다.
게임 이름 | 장르 |
리그 오브 레전드 | MOBA |
발로란트 | FPS, 액션, 택티컬 슈터 |
FC온라인 | 스포츠, 시뮬레이션 |
배틀그라운드 | 배틀 로얄, 슈팅, MMO, 액션 어드벤처 |
서든어택 | FPS |
오버워치 | FPS, 대전 격투 |
로스트아크 | MMORPG, 어드벤처, 대전 격투 |
스타크래프트 | RTS |
메이플 스토리 | MMORPG, 어드벤처 |
메이플 월드 | 게임 엔진, MMORPG |
MOBA 장르
1위는 부동의 리그 오브 레전드입니다. MOBA(Multiplayer Online Battle Arena)장르의 시작은 스타크래프트 유즈맵으로 거슬러 올라갑니다. 스타크래프트 세 종족 중 외계 종족인 프로토스의 내전 중 가장 유명한 내전, Aeon of Strife에서 이름을 따왔습니다. 몹을 잡아서 성장 및 스킬 두자, 캐릭터에 맞는 다양한 아이템 착용 조합하는 RPG 장르와 기본적인 게임의 틀 및 컨트롤 방식, 궁극적으로 상대방의 (간략화된) 본진을 파괴해야하는 게임방식, 전략성, 대군의 싸움인 RTS 장르가 합쳐진 형태입니다. 이런 장르를 게임의 이름을 가져와서 AOS 장르라고도 부릅니다.
RPG 장르
순위권에서 많이 보이는 장르는 MMORPG입니다. MMORPG는 대규모 다중 사용자 온라인 롤플레잉 게임입니다. RPG는 흔히 말하는 육성하는 게임으로 인식되는 장르를 의미합니다. 과거의 테이블 게임 형식이 파생되어 나온 장르이며, 게임 마스터의 주도 아래 각자 주어진 역할을 수행하고 연기하면서 즐기는 보드게임이었습니다. 현재는 RPG가 진행 방식의 종류에 따라 다양하게 나뉘어서 여기에서 RPG 장르의 다양성을 확인할 수 있습니다.
FPS 장르
FPS가 순위권에 3 게임이나 있습니다. FPS(First-Person Shooter)는 1인칭 슈팅 게임입니다. 총잡이(슈터) 입장에서 플레이하는 게임이라는 의미입니다. 이름 자체가 상당히 직관적이므로 이해하기 쉬우실 겁니다.
스포츠 장르
FC온라인은 스포츠와 시뮬레이션이 결합된 장르입니다. 피파라는 축구 게임은 워낙 유명해서 다들 아실겁니다. 이 축구게임을 온라인으로 만들어 놓은 게임이 피파 온라인이고 피파 온라인 4가 리브랜딩해서 FC온라인으로 이름이 변경되었습니다. 3위에 랭크되었네요.
2. 컴퓨터 구조와 언어
게임을 만들기 이전에 게임을 실행할 수 있는 컴퓨터에 대해 개괄적으로 살펴보고 이후 내용을 진행하려고 합니다. 컴퓨터의 구조와 컴퓨터가 동작할 수 있게 만들어주는 컴퓨터 언어에 대해 간략히 알아보겠습니다.
컴퓨터의 기능과 구성요소
- 입력: 키보드, 마우스, 마이크, 카메라 등
- 출력: 모니터, 스피커
- 기억: RAM, HDD, SSD
- 연산: CPU, GPU
- 제어: CPU
하드웨어와 소프트웨어
하드웨어는 컴퓨터를 구성하는 기계 장치들을 아울러 이르는 말입니다. 본체와 주변 장치로 나눌 수 있고, 본체는 다시 중앙 처리 장치와 주기억 장치로, 주변 장치는 입력 장치, 출력 장치, 보조 기억 장치 등으로 구분됩니다.
☞ CPU와 GPU
▶ CPU: 한번에 하나의 명령을 수행함, 프로그램 및 장치 제어 등에 적합함
▶ GPU: 한번에 여러 개의 계산을 동시에 수행함, 그래픽 및 행렬 연산에 적합함
소프트웨어는 컴퓨터 시스템을 효율적으로 운영하기 위해 개발된 프로그램을 의미합니다. 운영체제와 같은 시스템 소프트웨어와 유저가 일번적으로 실행시킬 수 있는 프로그램인 응용 소프트웨어가 있습니다.
컴퓨터와의 의사소통
진법은 수를 셀 때, 자릿수가 올라가는 단위를 기준으로 하는 셈법의 총칭이다.
나무위키
컴퓨터는 기계어라는 명령을 수행하고 이는 2진법으로 구성되어 있습니다. 2진수는 0과 1로 이루어진 수입니다. 이를 10진수와 16진수로 변환이 가능합니다.
아래 표는 2진수를 10진수와 16진수로 나타낸 것입니다.
2진수 | 10진수 | 16진수 |
101(2) | 5 | 5 |
1101(2) | 14 | e |
2진수를 표현할 때에는 숫자 뒤에 (2) 혹은 아래첨자로 2를 적어서 표시합니다. 16진수는 한 자리에 0부터 9까지 그리고 더 나아가 a부터 f까지 문자를 추가적으로 사용합니다. a부터 f까지 순서대로 10부터 16까지의 수와 각각 대응됩니다.
컴퓨터는 0과 1을 사용하기 때문에 2진수 한 자리를 나타내는 단위로 비트(bit)를 사용합니다.
아래 이미지는 기계어 명령 형식을 보여줍니다.
아래 표는 x86계열 CPU에서의 기계어 명령 중 하나의 예시를 가져왔습니다.
기계어(x86 계열 CPU) | 어셈블리어 |
10110000 01100001 | mov al, 061h |
앞의 4자리는 mov로 그 다음 4자리는 al로 대응되며, 그 뒤 8자리는 061h, 16진수 61, 10진수로 97을 나타냅니다. 이 명령은 16진수 61을 al 레지스터에 넣으라는 뜻입니다.
이와 같이 기계어는 사람이 알아보기 힘든 언어라서 기계어의 연산 코드를 영문자를 사용하여 1:1로 매칭시킨 어셈블리어를 개발하였습니다. 이에 더해 인간의 언어와 유사하게 만든 고급 언어들이 개발되었습니다.
유니티에서는 게임을 개발하기 위해 C#이라는 고급 언어를 사용하여 스크립트를 작성합니다.
프로그래밍 패러다임
프로그래밍을 작성하는 방식에는 대표적으로 2가지가 있습니다. 하나는 절차위주로 프로그램을 작성하는 기법인 절차 지향 프로그래밍이고, 다른 하나는 실제 세계를 모델링하여 소프트웨어를 개발하는 객체 지향 프로그래밍입니다.
객체는 실제 세계의 물체를 추상화하여 표현, 특성을 일부 제거하거나 간소화하여 표현한 것입니다. 예를 들어 사람을 NPC 객체로 표현할 때에는 필요한 속성인 나이나 이름, 신장 등만을 취하고 나머지 필요없는 손가락의 길이 등의 속성은 포함하지 않고 표현합니다.
유니티는 C# 언어를 이용하여 스크립트를 작성하므로 객체 지향 프로그래밍 기법을 따릅니다.
3. 유니티 설치 및 프로젝트 생성
유니티로 게임을 개발할 예정입니다. 유니티를 설치하는 방법에 대해 알아보고 프로젝트를 생성해봅니다.
유니티 설치
- 유니티 허브 설치
- 유니티 에디터 설치
- 코드 편집기 설치
먼저 유니티 허브 다운로드 홈페이지로 접속하여 유니티 허브 설치 파일을 다운로드하고 설치합니다.
설치가 완료되면 유니티 허브를 실행합니다. Installs 탭에서 Install Editor 버튼을 클릭하고 원하는 버전의 유니티 에디터를 설치합니다.
C# 스크립트를 작성할 때 사용할 코드 편집기를 설치합니다. 에디터를 설치하면서 Visual Studio 2022 Community를 같이 설치할 수 있습니다.
유니티 프로젝트 생성
유니티 허브를 실행합니다. 프로젝트 탭을 선택하고 새 프로젝트 버튼을 클릭합니다.
템플릿 중에서 3D (Built-In Render Pipeline) 선택합니다.
프로젝트 이름을 입력하고 프로젝트 위치를 선택한 후, Unity 조직 선택합니다. 옵션은 모두 체크 해제합니다.
프로젝트 생성 버튼을 클릭합니다.
실습 및 응용
▶ 재밌게 했던 게임들의 장르 찾아보기
- 바람의 나라 → 2D, MMORPG
- 러스티 레이크 → 퍼즐, 방탈출
- 언커버 더 스모킹 건 → 1인칭 추리, 퍼즐, 스릴러
- 데드 바이 데이라이트 → 3인칭/1인칭 생존, 탈출, 호러, 전략
- 다크소울 → 3인칭, 3D 소울류 액션 RPG
▶ 만들어보고 싶은 게임 장르 나열해보기
- 육성
- 롤플레잉
- 전략
- 생존
- 호러
- 방탈출
'멋쟁이사자처럼 > 유니티 게임 개발 3기' 카테고리의 다른 글
[멋쟁이사자처럼 부트캠프 TIL 회고] 유니티 게임 개발 3기 7일차 (0) | 2024.11.27 |
---|---|
[멋쟁이사자처럼 부트캠프 TIL 회고] 유니티 게임 개발 3기 5일차 (0) | 2024.11.26 |
[멋쟁이사자처럼 부트캠프 TIL 회고] 유니티 게임 개발 3기 4일차 (0) | 2024.11.22 |
[멋쟁이사자처럼 부트캠프 TIL 회고] 유니티 게임 개발 3기 3일차 (0) | 2024.11.22 |
[멋쟁이사자처럼 부트캠프 TIL 회고] 유니티 게임 개발 3기 2일차 (0) | 2024.11.22 |