본문 바로가기

전체 글

게임 개발 알고리즘 공부 왜 필수인가 안녕하세요 아론입니다. 이번 글의 주제는 알고리즘 공부의 의미가 무엇인가 또는 필수인가에 관련해서 글을 써보려합니다. 우선 제 주관적인 답은 게임 개발을 하시는 개발자분들은 서버 클라 모두 반드시 필수라 생각합니다. Why? 게임 개발에서 알고리즘이 필수인가 이유를 제 실무경험들과 연관해서 짧게 적어보려합니다. 면접 또는 시험 우선은 당연하게도 저를 포함한 주니어 개발자들은 이들의 코딩 능력을 평가하기위해서 기본적인 알고리즘을 반드시 알아야합니다 업체마다 코딩시험을 필요로 하지않는 경우도 있지만 기술면접에서는 기본적인 배열과 가변배열의 차이 또는 링크드 리스트의 구현 등을 기본적으로 출제하거나 물어보는경우가 있습니다. 이러한 상황을 대처하는방법으로 해답을 미리 외우고 가도 괜찮지만 정확한 해답을 알기위해.. 더보기
[게임 기획 아이디어] 횡스크롤 MMORPG Aron 게임 제목: Aron 기획의도: 온라인 게임을 좋아하는 사람이라면 누구든 LOL(리그오브레전드)라는 게임을 접해보거나 또는 들어는 보았을거라 생각한다. 나 또한 게임 개발자이자 롤을 무척이나 좋아하는 게이머 중 한명이다. 롤은 대한민국 기준 2011년 12월 4일 공식 서비스 진행하고 12년이 지난 지금까지도 대중들에게 사랑 받고있다 그럼 12년간 점유율 1등으로 자리잡고있는 롤의 재미요소는 무엇일까? 게임 개발자 입장으로써 롤의 재미요소가 무엇인가를 분석보고 싶어졌다. 내가 분석한 롤의 재미요소를 담은 게임은 당연히 재미있을까? 이 또한 궁금증이 생겨서 AronProject를 생각하게되었다 지금부터 쓰는글은 내 기준에서 생각하는 롤의 재미요소를 적은것이고 AronProject에 담게될 예정이다. 내가 .. 더보기
유니티 애니메이션을 언리얼로 가져오는법 2편 안녕하세요 아론입니다. 지난 1편 유니티 모델을 언리얼로 가져오는방법에 이어서 유니티 모델 에니메이션을 언리얼로 임포팅하는 방법을 주제로 2편 진행보겠습니다. 진행에 앞서 지난 글에 제가 실수로 모델에 검이 포함되는 아쉬는 결과가 있었는데 이런 수정방법을 혹시나 궁금해 하시는 분들이 계실까봐 같이 남겨드립니다. 이번글은 1편과 이어지기 때문에 1편의 글을 보지않으셨다면 실습에 어려움이 있으니 주의 바랍니다 검을 제거 하여 익스포딩 하는방법 1. 이전 프로젝트 열기 제 에셋의 계층은 워리어 프리펩 안에 소드 프리펩이 있었습니다. 이런구조에서 저는 프리펩을 수정하고싶지는 않기때문에 하이어아키의 워리어를 프리펩 언팩킹했습니다. 그리고 저를 불펴하게 하는 저 소드를 삭제하고 이전 설정과 동일하게 익스포팅합니다... 더보기
유니티 모델을 언리얼로 가져오는법 1편 오늘 주제는 유니티에서 제가 구매했던 리소스(모델,애니메이션)를 언리얼로 임포트하는법을 글로 남겨보려합니다. 생각보다 포트폴리오를 만들거나 내가 마음에 드는 리소스를 언리얼로 가져오는것은 꽤나 유용하다 생각하여 글을 써보기로 했습니다. 1편은 모델을 가져오는법 2편은 애니메이션을 가져오는법 글을 분리하여 올리겠습니다. 바로 실습 시작하겠습니다. 1. 유니티 프로젝트 생성 가장 처음 여러분이 해야할것은 유니티 새 프로젝트를 생성합니다. 2. 에셋 유니티 임포트 다음은 언리얼로 옮길 대상의 모델과 애니메이션 에셋을 선택해서 설치줍니다. 저는 이전에 착한 선임에게 선물받았던 RPG Fantasy(Pack)를 설치했습니다. 3. FBX Exporter 패키지 설치 2번까지 리소스를 잘 가져오셨다면 컨버팅에 가장.. 더보기
게임 메커니즘 아이디어 프로젝트명: 뉴어스 장르: 개척지,시뮬레이션, mmorpg 플레이 인원 수: 4 스토리 여러분은 외계행성에서 불시착한 생존자입니다. 플레이어들은 서로의 협력으로 외계행성에서 생존과 연구를 병행해가며 업적 3가지를 활성화하여 게임을 클리어 하는것이 목적입니다. 게임 규칙 1. 플레이어는 하나의 폰을 선택하여 컨트롤할수있는 권한을 가지게됩니다. 2. 게임에서 플레이어는 4~5의 인원으로 플레이 가능합니다. 3. 폰의 선택은 유저들의 선택이 무작위로 선택됩니다. 4. 게임에서는 반드시 4개의 폰 타입이 포함되어있습니다. 게임 오버 1. 한명의 플레이어가 죽으면 즉시 게임은 개척자들의 실패로 끝 2. 식량의 갯수가 -1 이하 일경우 그 즉시 실패로 끝 턴 1. 한턴의 시간흐름은 1분이다. 2. 한턴동안 플레이어.. 더보기
유니티에서 삼각함수를 활용해보자 오늘은 유니티에서 지난시간에 공부해본 삼각함수를 바탕으로 유니티에서 사용해보려합니다. how? 우리가 알고있는 삼각함수를 어떻게 게임 개발에 사용할수있을까요? 이 사용방법을 알기위해 지난 시간에 배운 단위원을 다시한번 꺼내보겠습니다. 위 원은 반지름이 1인 기준의 단위원입니다. 우리가 빗변이 1인 직각삼각형의 경우 밑변의 길이가 즉 cos이고 높이의 길이가 sin이란것을 알수있었습니다. 여기서 중요한점은 원의 중심점에서부터 직각 삼각형의 높이의 해당하는 꼭지점까지의 좌표를 P라고 명칭하면 점의 중심점으로부터 P의 떨어져있는 좌표는 (밑변,높이)가 됩니다 이뜻은 (cos,sin)가 P의 좌표입니다. 여기서 피타고라스 정리를 착각하시고 혼란스러워 하시면 안됩니다. 피타고라스 정리로 알수있는건 원의 중심점으로.. 더보기
게임 삼각함수 왜 필수이고 반드시 알아야 하는가 Why? 삼각함수 왜 필수이고 반드시 알아야 하는가? 오늘은 위와 같은 제목을 주제로 글을 써보려합니다. 유니티 또는 언리얼을 사용하시는 실무 개발자를 포함해서 위와 같은 의문이 들수도 있습니다. 프로젝트에서 사용해야 하는 경우도 드물수도 있고 또는 전혀 필요로 하지않을수도 있습니다. 하지만 대표적으로 삼각함수를 사용하는 게임 기믹 두가지를 예시로 들어보겠습니다. 게임 개발자가 삼각함수를 이용하는 예시 1. 적과 나의 거리를 알아야하는경우 2. 특정 대상의 각도를 내가 원하는 방향으로 바꿔야하는경우 위 두가지 케이스는 정말 많이 사용됩니다. 몬스터가 나의 위치를 알아야하는 경우는 정말 무수한 게임의 로직에서 볼수있는 로직이고 총알이 각도를 휘어가며 발사되는 기믹은 옛날 1945와 같은 게임에서도 다양하게.. 더보기
어색하지않은 바닥 텍스처 만들기 (하) 안녕하세요 아론입니다. 이번편은 전편에 블랜더를 이용해서 만든 ground텍스처를 이용하여 언리얼5기준으로 바닥 배치해볼 계획입니다. 1. 리소스 가져오기 및 머티리얼 생성 1. 이전 시간에 만든 ground 이미지를 GroundTexture라는 이름으로 수정하여 폴더 Texture에 가져옵니다. 2. 마우스 우측 클릭후 머티리얼을 새로 생성하고 이름은 MM_Ground라 지정합니다. 3. 머티리얼의 간단한 수정이 필요할때 매번 MM_Ground를 열어야할 필요성이 없기에 완성된 머티리얼을 캐싱하는 머티리얼 인스턴스 또한 마우스 우측 클릭으로 새로 생성하여 MI_Ground라 지정합니다. 4. 우리는 MM_Ground 머티리얼을 우선 시 작업해보겠습니다. MM_Ground를 더블클릭하여 머티리얼 그래프를.. 더보기