※금일은 간단한내용으로 작성될 예정이다.유니티로 작업하다 보면 '물체를 판별'해야 하는 경우가 매우 빈번하게 발생한다.유니티에는 이러한 '물체를 판별'할 수 있는 기능이 몇 개 있는데, 이에 대해서 알아보자.Layer [레이어]기본적으로 사용되는 물체 판별용 기능.최대 32개(이 중 고정값 5개)의 레이어를 설정하여 인스턴스에 부여한다.이를 통해서 설정에서 아예 충돌하지 않게끔 구성도 가능하고, 다양한 종류의 대상을 한 번에 판별할 수도 있다.거기다가 bit값으로 판별하기 때문에 판별 속도도 빠른 편.실제로 다양한 기능에서 이 Layer를 기준으로 대상을 판별하도록 구성되어 있다.이러한 특성 상, 유니티를 다루는 이상 '반드시' 익숙해져야 하는 기능.그럼, 판별 방법을 알아보자. LayerMaskbit값..

이전에, AI Navigation에 대해서 정리한 적이 있다. [알고 보니, 정리를 안했었다...;;][참고 URL: https://lsu0503.tistory.com/140]nav Mesh라는 기능을 이용해서 각 영역에 대한 가중치를 설정했다면 목적지로 향하는 최적 경로를 찾아내어 오브젝트를 이동시키는 기능으로, 복잡한 지형이나 벽 등을 구현할 때에 유용한 패키지인데...이 패키지는 3D 환경 만 지원한다.즉, 2D 환경에서는 다른 방법을 찾아야 한다는 것이다. 그렇다면, 2D게임을 제작할 때에는 최적 경로 탐색 알고리즘을 직접 작성해야 하는 것일까.물론, 그렇게 하는 방법도 있다. 최적 경로 탐색 알고리즘은 이젠 검색 만 해도 찾아볼 수 있는 실정이고, 타일 맵으로 작업되는 경우가 많은 2D 환경에서..
객체 지향으로 코딩을 하다 보면 상당히 자주 사용하게 되는 기능이 '상속'이다.인터페이스로 구현되는 의사 다중 상속 관계가 아니라, 부모 클래스에게서 필드와 메서드를 상속받는 그것이 맞다.상속의 강점은 '같은 기능을 굳이 여러 번 작성할 필요가 없다'라는 점으로, 의외로 2~3단계로 상속받게 되는 경우는 흔하다. 그렇게 되면 슬슬 활발하게 활용하게 되는 것이 'abstract'이다.abstract에 대해서는 톺아보기로 정리를 하긴 했으나, 사실 너무나도 간단하게 정리하고 넘어간 것이 아닌가 싶다.그러니까, 한번 더 정리해 보자. 'abstract의 활용도'에 대해서.abstract?abstract는 클래스와 그 내부의 함수를 추상적으로 선언할 때 사용하는 형식 지정자다.실질적으로는 '자식 클래스들 간에 ..
일단 본 캠프는 개발자 캠프라서 기획 관련 요소를 다루는 과정이 아닌 지라, 어지간 하면 기획 관련 내용을 작성하지는 않으려고 했지만...아무래도 오늘이 최종 프로젝트 첫 날인 데다가 본인이 기획 담당이었던 지라, 금일 본인이 한 것은 기획 정리 뿐...그리고 금일 특강으로 기획 관련 내용을 진행했었기에, 본인이 게임을 기획할 때 쓰는 방법을 정리해 볼 까 한다.기획을 하면서 가장 많이 겪는 난점이 무엇일까.기획을 해 본 사람이라면 한 번 쯤은 '표류하고 있다'는 느낌을 받았을 것이다.그렇다. 기획을 할 때에 가장 난감한 것은 기획이 진행됨에 따라서 점점 방향을 잃어가기 쉽상이라는 점이다.그렇다면 이를 예방하기 위해서는 무엇을 해야할까.이것을 고민하는 것이 기획에 있어서의 첫 걸음이다.게임의 주제, 'T..
장르: 핵 & 슬래시모티브: PoE(디아블로) + (구)트릭스터 Ref기본적인 플레이 방식 : PoE 남동석 광산카드 스킬 시스템 : 동방 비상천 or 슬레이 더 스파이어아이템 세팅: 파이널 판타지 7 - 마테리아 시스템 + 로아 (구)트라이포드 시스템던전 레벨 스케일링: 하데스의 도전 시스템 + 로아 카오스 던전 시나리오이 세계에는 '던전'이라는 신비한 지역이 있다.미지의 생물이 마구마구 태어나지만, 진귀한 물건들도 마구마구 생겨나는...일확천금을 꿈꾸는 자들의 낭만이 있다.그러니까, 일단 달려라! 달려서 쓸어모으는 거다! [임시] 구상 게임 플로우로비에서 캐릭터 세팅을 시행한다.속도감 형성을 위해서 던전 안에서는 캐릭터 세팅이 불가능하다.[습득 아이템의 확인도 실시간으로는 등급 만 확인 가능하고, 세..

※ 어제도 WIL을 적었지만, 이건 3주간의 활동 정리라서 이쪽을 11주차로 작성합니다. 이번에 작성할 WIL은 근 3주간 매일 1시간 씩 진행했던 꾸준 실습에 대한 WIL이다.[매일이라고는 해도, 주간 프로젝트가 있어서 토요일과 일요일에는 별 다른 작업을 하지는 못했다.]사실, 3주라고는 해도 평일에 매일 1시간 만 진행한 거라서 딱히 대단할 걸 하지는 못했다.[시간 상으로는 15시간이다. 이후에도 서술하겠지만, 이 점을 눈치 못채서 결과물 자체는 조금 아쉬운 편.] 프로젝트 Git URL : https://github.com/lsu0503/RollingStone.git GitHub - lsu0503/RollingStone: RollingStoneRollingStone. Contribute to lsu..

※ 사실 시기 상으로는 11번째 주지만, 넘버링을 맞추기 위해서 + 적을 거 하나 더 있어서 10주차로 작성했다. [일단 그래도 저번 주 금요일 부터 시작한 프로젝트라 10번째 주의 조건을 위반하진 않는다.] 금주에는 팀 프로젝트로 자유 장르 제작을 진행하였다.처음에는 벨트 스크롤 아케이드 액션 게임이 논의되었으나, 뒤늦게 합류한 팀원이 이에 대해서 잘 알지 못해서, 벨트 스크롤 처럼 구성한 뱀서라이크로 변경하였다.[여담으로, 본인은 개인적으로 뱀서라이크를 '무빙 아이들러'라고 칭하는 편이다.]그래서 레벨 시스템은 적용하지 않고, 장비를 주워서 성장하는 방식으로 변경하고, 특정 적이 랜덤한 장비를 떨어뜨리도록 구성하였다. 프로젝트 Git URL: https://github.com/lsu0503/P..
유니티의 강점이라고 한다면 무엇이 있을까. 사실 다양한 내용이 나올 수 있다고 생각하지만, 이번에는 그 중에서 인스펙터를 지목 해 볼까 한다.물론, 다른 게임 제작 툴이라고 해서 유니티의 인스펙터 같은 내부 변수 편집 도구가 없는 것은 아니지만, 유니티의 인스펙터는 다른 툴들의 그것을 압도하는 '직관성'이 매우 편리하게 다가오는 편이다. 실제로 최근 들어서 '코딩을 하지 않는 게임 제작 툴'이 꽤나 많이 나온 상황인데, 이러한 요소들도 다들 아이콘에 파묻혀서 우왕좌왕 하기 딱 좋은 경우가 대다수다.[본인은 이렇지 않은 경우를 닌텐도의 '차근 차근 게임 코딩' 하나 밖에 보질 못했다.] 물론, 쉽기로는 유명한 RPGMaker도 게임 제작 툴이기는 하나, 이쪽은 특정 형태가 아니면 만들기가 제법 껄끄러운 데..
오늘은 유니티를 다루면서 안 쓸 수가 없는 요소인 SceneManager에 대해서 정리해 보겠다.사실 SceneManager를 많이 쓴다고 해도 SceneManager.LoadScene() 정도 밖에 안 쓸 것이다.다만, SceneManager는 이 보다 더 많은 정보를 가지고 있다.그 중에서도 자주 쓰일만 한 요소를 정리해 보자.SceneManager란?SceneManager라는 요소를 SceneManager.LoadScene()으로 사용하기는 하지만, 구체적으로 SceneManager가 무엇을 담당하는 지는 모르는 경우가 많을 것이다.의외로 이에 대해서 깊게 들어갈 일이 잘 없기 때문인데, 그렇다 보니 SceneManager가 가지는 난점이나 불편함이 무엇 때문인지도 모르는 경우도 많을 것이다. S..
객체지향에는 싱글톤이라는 디자인 패턴이 존재한다.전체 프로젝트를 통틀어서 하나만 존재하는 클래스라는 의미로, 전체적인 구성의 중계점 역할을 하는 클래스를 말하는 디자인 패턴으로, 씬 전환을 구현해야 하는 유니티에서는 안쓰고 싶어도 안 쓸 수가 없는 기능이다.다만, 이러한 싱글톤도 난점은 존재한다. 바로 '씬이 넘어가는 경우의 행동'을 정의하기가 힘들다는 것이다.특히 배경음악이나 스테이지 상황 같은 것을 싱글톤으로 자주 작성한다는 점을 고려하면 상당히 골때리는 점.그럼 이제, 이러한 '씬 전환'을 더 용이하게 구성할 수 있는 방법에 대해서 정리해 보도록 하자.매니저 클래스에 초기화 함수를 넣지 않기매니저 클래스에서 초기화를 수행하는 것이 아니라, 구성 요소들의 초기화의 결과로 매니저 클래스가 초기화가 되도..