본문 바로가기

프로그래밍110

게임개발 중급(6) - 2D 플랫포머 게임 만들기(1) 2D 플랫포머 게임 만들기(1) 저번에 미리 이야기 했듯이, 오늘은 다시 2D 게임을 만드는 법에 대해 설명하겠습니다. 이번 예제에서는 유니티 내부에서 제공하는 기능을 활용하여 키보드 조작으로 캐릭터를 움직이는 플랫포머 게임을 만들어보겠습니다. 플랫포머(Platformer)는 주인공 캐릭터를 조작하여 스테이지를 통과하거나 목표물을 획득하는 게임의 장르 중 하나입니다. 일반적으로 2D 그래픽으로 제작되며, 플레이어가 플랫폼(바닥)을 오르내리며 장애물을 피해가는 것이 특징입니다. 플랫포머 게임은 점프, 던지기, 공격 등 다양한 액션 요소가 있으며, 보스전과 같은 스테이지의 끝에 보스가 출현하는 것도 일반적입니다. 매우 인기 있는 장르 중 하나이며, 대표적인 예시로는 슈퍼 마리오 브라더스가 있습니다. 먼저, .. 2023. 4. 25.
게임개발 중급(5) - 다양한 환경에서 게임 빌드하기 다양한 환경에서 게임 빌드하기 게임을 만들고 나면, 그 게임을 할 수 있어야 합니다. 그런데 게임을 플레이하는 환경은 PC만 있는게 아닙니다. 오늘은 다양한 환경에서 만든 게임을 빌드하는 방법에 대해 알아보겠습니다. 유니티에서 만든 게임을 빌드하려면 해당 플랫폼에 맞는 빌드 설정을 해야 합니다. 다음은 유니티에서 다양한 플랫폼으로 빌드하는 방법에 대한 간단한 설명입니다. 1. PC용 빌드 PC용 빌드는 윈도우, 맥OS, 리눅스 등에서 실행할 수 있는 실행 파일을 만드는 것을 말합니다. 2. 모바일용 빌드 모바일용 빌드는 안드로이드, iOS 등 모바일 기기에서 실행할 수 있는 apk, ipa 파일을 만드는 것을 말합니다. 3. 웹용 빌드 웹용 빌드는 웹 브라우저에서 실행할 수 있는 WebGL 파일을 만드는.. 2023. 4. 24.
게임개발 중급(4) - 2D 룰렛 게임 만들기 2D 룰렛 게임 만들기 이번에는 저번에 이야기 했던대로 2D로 룰렛게임을 만들어 보겠습니다. 우선 게임이라고 하면, 사용자가 어떤 동작을 통해 오브젝트를 움직이게 할 수 있어야 합니다. 저희가 움직여야 할 오브젝트 요소는 룰렛 입니다. 게임의 기획을 간단하게 살펴본다면, 저희가 필요한 리소스는 룰렛이미지, 혹은 2D 오브젝트를 통해 직접 제작한 룰렛 그리고 룰렛바늘 이미지가 필요합니다. 필요한 이미지나 오브젝트를 먼저 위치에 맞게 씬에 배치하는 것이 1단계입니다. 2단계는, 사용자가 터치 혹은 클릭했을 때, 룰렛이 돌아가도록 해주어야 합니다. 그렇다면 컨트롤러 스크립트를 만들고, 돌아가는 주체가 룰렛이므로 룰렛 오브젝트에게 스크립트를 적용 시켜 주어야 합니다. 그리고 마지막으로 3단계는 룰렛이 돌기만 하.. 2023. 4. 23.
게임개발 중급(2) - 유니티 프로젝트 구성 유니티 프로젝트 구성 유니티를 시작하기 앞서, 유니티로 만들 수 있는 다양한 프로젝트의 종류에 대해서 간단하게 설명하겠습니다. 만약 어떤 게임을 만들지 아직 정해지지 않았다면, 자신이 만들 게임의 종류부터 정해야 합니다. 유니티에서는 여러 가지 프로젝트 구성 옵션을 제공합니다. 다음은 각각의 구성에 대한 간단한 설명입니다. 2D: 2D 게임을 만들기 위한 구성입니다. Sprite와 같은 2D 그래픽 요소를 쉽게 추가할 수 있습니다. 3D: 3D 게임을 만들기 위한 구성입니다. 유니티에서 제공하는 3D 모델링 도구를 사용하여 복잡한 3D 모델을 만들 수 있습니다. VR: 가상 현실 게임을 만들기 위한 구성입니다. VR 헤드셋과 함께 사용할 수 있으며, 유니티에서는 VR 게임 개발을 위한 다양한 도구를 제공.. 2023. 4. 21.
게임개발 중급(1) - 유니티 엔진 사용하기 유니티 엔진 사용하기 저희는 여태껏 기초적인 지식을 위주로 게임개발에 대해 알아보았습니다. 이제는 중급 단계로 넘어왔으니, 저희가 처음부터 추구하던 유니티로 게임만들기를 시작해볼까 합니다. 그럼 유니티를 설치하고 사용하는 법에 대해 이야기 해보겠습니다. 이제는 모두 알다시피 유니티(Unity)는 게임 엔진 중 하나로, 2D/3D 게임 개발에 많이 사용되는 엔진입니다. 이번에는 유니티 엔진의 사용법에 대해 자세하게 설명해드리겠습니다. 1. 유니티 다운로드 및 설치 우선, 유니티 엔진을 사용하기 위해서는 공식 웹사이트(https://unity.com/)에서 다운로드 및 설치가 필요합니다. 설치 후, 유니티 허브를 실행하면 프로젝트를 생성하거나 관리할 수 있습니다. 2. 프로젝트 생성 및 구성 유니티 허브에서.. 2023. 4. 20.
게임개발 초급(7) - 함수와 클래스 함수와 클래스 지난시간 까지는 반복문과 조건문에 대해 알아보았습니다. 마찬가지로 개발자라면 당연히 알아야 하는 함수와 클래스에 대해서 이번에는 이야기 해볼까 합니다. 함수와 클래스는 저희가 지향하는 C#과 같은 객체지향 프로그래밍에서 매우 중요한 개념입니다. 먼저 함수에 대해 알아봅시다. 함수 함수는 하나의 기능을 수행하는 코드 블록으로, 입력값을 받아 처리하고 출력값을 반환합니다. 함수를 사용하면 코드의 재사용성과 모듈화가 증가하며, 코드의 가독성이 향상됩니다. 간단한 예시를 통해 보자면, 함수는 보통 다음과 같은 형식으로 작성됩니다. public 반환타입 함수이름(매개변수) { // 함수 내용 return 반환값; } 여기서 public은 접근 제한자를 나타내며, 반환타입은 함수가 반환하는 값의 데이.. 2023. 4. 19.
게임개발 초급(5) - 조건문과 반복문 조건문과 반복문 조건문(Conditional Statement)과 반복문(Loop)은 프로그래밍에서 가장 기본적인 제어 구조(Control Structure) 중의 하나입니다. 당연히 앞으로 코딩을 해나갈 때 계속해서 사용하게 될 것이고, 다양한 구조를 공부하는 데에 사용될 것입니다. 이번에는 조건문과 반복문에 대해 차근차근 알아보겠습니다. 조건문은 주어진 조건식을 평가하여 그 결과에 따라 프로그램의 흐름을 변경하는 구조입니다. 조건문은 보통 "만약 이러한 조건이 참이면 이렇게 하고, 아니면 저렇게 하라"는 식으로 프로그램의 분기 처리(Branching)를 담당합니다. 대표적인 조건문은 if 문입니다. if 문은 주어진 조건이 참인 경우에만 특정한 코드 블록을 실행합니다. 다음은 if 문의 기본적인 문법.. 2023. 4. 17.
게임개발 초급(4) - 객체지향과 접근제한자 객체지향과 접근제한자 기본적으로 C#은 객체지향 언어입니다. 따라서 객체지향의 특징을 띄고 있습니다. 그중에서도 저희가 알아볼 것은 접근제한자 입니다. 우선 객체지향이 뭔지 모를 수 있으니 객체지향에 대해서 먼저 알아보겠습니다. 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 현실 세계의 개념을 프로그래밍에 적용한 패러다임입니다. 객체지향 프로그래밍에서는 데이터와 기능을 하나의 단위인 객체(Object)로 묶어서 관리합니다. 이를 통해 코드의 재사용성과 유지보수성이 향상되며, 코드의 가독성과 이해도도 높아집니다. 객체지향 프로그래밍의 특징은 다음과 같습니다. 캡슐화(Encapsulation): 데이터와 기능을 하나의 단위인 객체로 묶어서 외부에서의 접근을 제한하는 것을 .. 2023. 4. 16.
게임개발 초급(3) - C# 스크립트의 구조 C# 스크립트의 구조 저번에는 변수와 데이터타입에 대해 알아보았는데요, 변수와 데이터타입 설명에 초점을 맞추다보니 생략하고 넘어간 부분이 있어 그 부분을 이번엔 자세히 다뤄 볼까 합니다. 바로 유니티에서 C# 스크립트의 구조입니다. 유니티에서의 C# 스크립트 구조는 일반적인 C# 프로그램의 구조와 비슷하지만, 유니티 엔진의 기능과 라이프사이클에 맞게 구성되어 있습니다. C# 스크립트는 MonoBehaviour 클래스를 상속받아 작성합니다. MonoBehaviour 클래스는 유니티 엔진의 오브젝트에 부착되는 컴포넌트의 기본 클래스입니다. 유니티에서의 C# 스크립트 구조는 일반적으로 다음과 같습니다. using System.Collections; using System.Collections.Generic; .. 2023. 4. 15.
게임개발 초급(2) - 변수와 데이터 타입 변수와 데이터 타입 게임개발에 들어가기 전, 기본적인 개발지식부터 천천히 쌓아나가는 게 좋습니다. 저희가 이번에 알아볼 것은 변수와 데이터 타입입니다. 게임 개발에 사용되는 변수와 데이터 타입은 프로그래밍 언어에 따라 다소 차이가 있을 수 있지만, 일반적으로 다음과 같은 특징을 가집니다. 변수 변수는 값을 저장하는 메모리 공간을 의미합니다. 이 값은 프로그램 실행 중 언제든지 변경될 수 있습니다. 변수에는 이름이 있으며, 해당 변수를 식별하는 데 사용됩니다. 변수 이름은 일반적으로 의미 있는 단어로 지정됩니다. 변수는 데이터 타입에 따라 저장할 수 있는 값의 종류가 제한됩니다. 데이터 타입 데이터 타입은 변수가 저장할 수 있는 값의 종류를 정의합니다. 예를 들어, 정수형 변수는 정수값만 저장할 수 있습니.. 2023. 4. 14.