728x90
반응형

Game Development, 게임개발 182

게임을 만들 수 있는 무료 소프트웨어와 도구들, Free Game Development Software And Tools

참고 링크를 번역해보았다. 물론 영어실력이 부족하기 때문에 내가 거의 창작수준으로 번역한다. 참고로 여기에는 5가지가 소개되어있다. Unity, 유니티 youtu.be/H_Z1QPHUmr8 유니티는 무료이면서 강력한 게임엔진으로, 2D,3D 게임도 만들 수 있다. 가장 장점으로는 Asset Store를 운영하여 엄청나게 많은 tool들을 다운받아서 사용할 수 있다. 또한 배우기가 쉽다. 또한 튜토리얼도 제공하여 누가 가르쳐주지 않아도 혼자서 배울 수 있다. 가장 장점으로는 플랫폼의 다양성인데 이식성이 높아서 유니티로 작업한 것을 모바일, Xbox, PC 등 다양한 플랫폼에 빌드할 수 있다. 또한 코딩을 잘 못하는 사람도 시각적도구를 제공하기 때문에 쉽게 제작할 수 있다.다만 복잡한 프로젝트를 위해서는 프..

Object Pooling, 오브젝트 풀링, 디자인 패턴 [Game Development]

게임을 조금 더 개발자의 입장에서 용이하게 만들어주는 디자인 패턴인 오브젝트 풀링에 대해서 알아보자 **딱히 어떠한 게임엔진에 국한된 패턴은 아니다. 그냥 ~한 개념이다. 우선 오브젝트 풀링이란 것이 무엇인가? 오브젝트 풀링이란 오브젝트를 재활용하기 위한 디자인 패턴을 의미한다. **여기서 재활용이란 정말 다시 활용하는 것을 의미한다. 예를 들자면 총알, bullet이 가장 대표적이다. 우리가 흔히 총을 쏠 때 버튼을 누르면 총알이 생기고 날아가게끔 만든다. 근데 미니건 쏜다고 생각해보자. 1분에 600발이었나 K-2가? 우습지 미니건 쏘면 1분에 몇천 발 쓸건데.. 그렇게 되면 몇천개의 총알을 만들어야 한다. 여기서 생각한 것이 ... 좀 아까운데..? 아니 쏠 때마다 오브젝트 만들면... 몇천 발이 ..

게임 개발자가 되는 법, To Become A Game Developer

참고 링크의 글을 번역해보려 한다. 영어실력이 부족하여 직역은 못하며 거의 때려박는 해석이 난 좋다. 시작하자 Games are the most difficult digital products to develop. 게임은 개발하기 가장 까다로운 영역이다. Because games are the most expressive form of technology and art combined together. 왜냐? 게임은 정말 모든 기술의 집약체니까!! In order to succeed, you must know about everything that gravitates around game development and this is not gonna be easy. 더군다나 성공하기는 진짜 진짜 어렵다. ..

상속, Inheritance, C# [Unity]

OOP의 특징 중 하나인 상속을 배워보기로 하자. 상속이란 것이 정말 코드 수를 많이 줄여준 공헌을 하지 않았나 싶다. 알아보자 상속은 클래스를 2가지 종류로 나눈다. 1. Parent or base class, 부모 클래스 2. Child or derived class, 자식 클래스 부모는 자식에게 상속을 하는 주체고 자식은 부모에게 상속을 받는 주체다. 이러한 관계를 Is-A Relationship이라고도 한다. 뜻은 Child class is a Parent class 라는 뜻이다. 상속이 된다면 Parent에 있는 변수, 메서드 등의 아이템들이 Child도 쓸 수 있게 바뀌는 것이다. 예를 들어보자 먼저 부모클래스다. using UnityEngine; using System.Collections;..

FSM,유한 상태 기계, Finite State Machines [Unity]

무슨 기계공학과에서 배우는 단어 같이 생겼다. 아니면 무슨 고체전자물리처럼 Solid State Physics 같이 무슨 State가 들어간다. 맞다.. 회로 꾸밀 때 나는 swtich문 많이 썼던 것 같기도 하고.. Mealy, Moore 했었는데 다 까먹은듯 데헿 하지만 여기서는 프로그래밍 스타일, 패턴 중에 하나로 알아볼 만한 가치가 있다. 그래서 알아보기로 했다. FSM의 간단하게 정의를 하고 가자. 각 State가 유한하게 있고 State를 전이시키기 위한 조건이 있다. 그것을 표현하는 방법이라고 말할 수 있다. 그럼 게임 개발에서 FSM의 가지는 의미는 무엇이냐? “finite State Machine is a structure that allows to define complex behavi..

제너릭, Generics [Unity]

cpp의 템플릿과 비슷하다고 보면 된다. 제너릭을 구현하는 경우는 내 경험이 부족해 아직 많이 못봤지만 제너릭을 가져다 쓰는 것이 보통이다. 알아보자 제너릭은 일반적으로 다양한 데이터 타입으로 같은 기능을 수행하게 하는 것이다. 어차피 기능이 같을 거라면.. 정수형, 문자열, 실수형...을 일일이 지정해주는 것은 정말 힘들다. 그래서 무슨 타입이든.. 받을 수 있게 하였는데 예를 들어보자 using UnityEngine; using System.Collections; public class SomeClass { //여기 원래 자료형이 들어가는 자리에 T라는 것이 들어가있고 //메서드 뒤에 라는 것이 나왔다. T는 어떤 자료형으로도 인식된다. //그래서 정수형, 실수형을 넣어도 알아서 인식이 된다. pub..

Method Overloading, 메서드 오버로딩 [Unity]

오버로드하면 맨날 스타크래프트가 생각난다. Overload라서.. 조금 다르지만 그래서 이걸 알아보려고 한다. 왜냐?? 맨날 Unity에서 메서드를 사용하면 자꾸 옆에 + overloaded +3 막 이런게 뜬다. 그래서 알아보기로 하였다. 원래 메서드는 유일하게 존재한다. 동일한 것이 존재하면 중복되어 오류가 생긴다. 그러나 Method Overloading이 그것을 피하게 해준다. 피하게 해준다는 뜻이. 중복되는 내용을 써도 된다! 가 아니라 이름만 같을뿐 다른 기능을 한다는 의미로 받아들여야 한다. 예시를 보자 using UnityEngine; using System.Collections; public class SomeClass { //당연히 더하는 메서드다. 정수를 // 인자로는 정수 2개를 받..

유니티에서 Static이란 [Unity]

static.. Dynamic의 반대로 알고 있다. 정적을 의미한다. 즉, 런타임 이전에 훨씬 이전에 수행되어 만들어진다는 뜻으로 알고 있다. 사실 선언했을 때 만들어진다. ** 메모리에서의 Data에 저장된다. 그럼 유니티에서 Static의 의미를 알아보자 static은 Data 영역에 저장되기 때문에 변수를 수정하거나, 읽을 때, 클래스 객체를 만들 필요가 없다. 아무리 객체를 만들더라도 static은 유일하게 존재한다. using UnityEngine; using System.Collections; public class Enemy { //Static variables 은 모든 클래스의 인스턴스와 공유된다. public static int enemyCount = 0; public Enemy() { ..

파이썬 살짝 접고 C++ 다시 공부

파이썬으로 웹크롤링, NLP(자연어처리), 머신러닝, 딥러닝 살짝씩 공부해왔지만 게임업계를 위해서.. C++을 다시 공부해보려고 한다. 3년은 안한듯.. C#, C++ 같이 공부하려고 한다. 잘되었으면 정말 좋겠다. ㅎㅎㅎ 내가 파이썬을 좋은 언어라 생각했던 이유는 자연어와 가장 가깝다고 생각한 언어라서 그렇다. 또한 ; 을 쓸 일이 없다.우리는 말을 할 때 안녀엉 하세요. 해도 잘 알아 듣는다. 안녕하세요로 잘 알아듣는다.이렇게 찰떡같이 알아듣지는 못하지만 파이썬은 어느정도 알아서 걸러서 듣는 것이 있었다. 극단적인 예로 파이썬으로 게임을 만들었는데하지만 성능이 느려져서 게임 최적화가 안되어서 내 캐릭터가 죽었다? 면 빡칠 것 같다.그러지 않기 위해서라도 파이썬은 잠시만 안녕을 고하고 기계 친화적인 언..

728x90
반응형