이 포스트에서는 게임에 적용되는 기본적인 물리 법칙에 대해 소개한다. 등가속도 운동 속도는 시간에 따른 위치의 변화율, 가속도는 시간에 따른 속도의 변화율이다. 시간 $t$에 대한 위치를 $\textbf{x}(t)$, 속도를 $\textbf{v}(t)$, 가속도를 $\textbf{a}(t)$라고 할 때 아래와 같은 관계가 성립한다. [\textb...
Multi-armed Bandits
이 포스트에서는 Reinforcement learning (RL)의 기본 내용인 Multi-armed Bandits 환경과 기본적인 아이디어들에 대해 알아본다. Reinforcement learning vs others Reinforcement learning (RL)과 다른 learning의 가장 큰 구별점은 사용하는 정보의 차이에 있다. 다른 ...
Curiosity-driven Exploration by Self-supervised Prediction
이 포스트에서는 Reinforcement Learning을 효과적으로 수행할 수 있도록 intrinsic curiosity reward를 사용하는 아이디어를 제시한 Curiosity-driven Exploration by Self-supervised Prediction에 대해 소개한다. Introduction Curiosity-driven Expl...
[Unity] Save System Pattern
Introduction Unity에서 Save System을 효과적으로 구축하기 위한 패턴을 직접 생각하고 구현해보았다. 팀원들과 밑바닥부터 스스로 생각하고 논의해서 얻어낸 결과이기 때문에 지금 소개할 패턴은 오히려 비효율적일 수도 있다. 다만 우리의 목적에는 충분히 들어맞고, 직접 생각하고 구현해보았다는 의의가 있다고 생각한다. Goal 우리의...
Deep Learning Basics (딥러닝 기초)
Introduction 딥러닝의 목적은 함수 근사이다. 예를 들어 입력이 2배가 되는 함수를 구한다면 $y = 2x$로 쉽게 구할 수 있을 것이다. 어떤 문제든지 입력과 출력이 있다. 딥러닝은 굉장히 복잡한 문제에 대해 출력을 보이는 하나의 함수를 구하는 방법이다. 조금 더 구체적으로 보자면 딥러닝은 크게 추론과 학습으로 나눌 수 있다. 주어진 입력...
[Unity] Scene View에서 Vector의 Position Handle 조작하기
1. 개요 유니티로 게임을 만들다 보면 Vector의 Position을 조작하는 일이 수도 없이 많다. 게임 오브젝트의 Position은 Transform 컴포넌트가 지원하는 자체적인 Move-Tool 도구로 Scene View에서 쉽게 위치를 조작할 수 있지만, 일반적인 Vector2 혹은 Vector3 타입의 필드의 값을 변경할 때는 수동으로 ...
[Unity] 유니티 첫 게임 - 첫번째 보스 리퍼
1. 개요 유니티로 개발한 첫 게임에서 구현한 보스 몬스터이다. 아직 개발 중이기 때문에 천천히 업데이트할 예정이다. 에셋 정보 사용한 에셋은 동료가 직접 그린 그림이며 아래와 같다. 보스 기본 상태 - 무기 모드 보스 무기 - 낫 2. 낫 무기 낫 무기 구조 기본 구조는 아래와 같다. Reaping Hook - 낫 무기 ...
[Unity] 포물선 운동(점프) 구현
1. 개요 어떤 힘을 줘서 포물선 궤적으로 이동시키는 것 자체는 단순하다. 힘을 가하기만 하면 중력과의 상호작용에 의해 자연스럽게 포물선 운동을 한다. 하지만 내가 구현하고 싶은 것은 의도한 궤적으로 이동하는 포물선 운동이다. 단순히 힘을 주기만 하면 어느정도 높이로 올라가고 얼마나 멀리 가는지 알기 어렵다. 의도한 움직임을 구현할 수 있다면 더 정...
[Unity] 유니티 첫 게임 - 닌자
1. 개요 Unity로 개발한 첫 게임에서 구현한 닌자 몬스터를 소개한다. 사용한 에셋은 Ninja Sprite Sheet이며 유니티 에셋 스토어에서 무료로 구할 수 있다. 참고로 스킬, 이동, 체력 관리는 모두 직접 코딩해야 한다. 에셋에는 스프라이트 관련 파일만 존재한다. 구현된 닌자 몬스터의 특징은 다음과 같다. 플레이어가 도망칠 수...
[Unity] 유니티 첫 게임 - 미니 보스
1. 개요 Unity로 개발한 첫 게임에서 구현한 미니보스를 소개한다. 사용한 에셋은 Bringer Of Death이다. 유니티 에셋스토어에서 무료로 구할 수 있다. 참고로 스킬, 이동, 체력 관리는 모두 직접 코딩해야 한다. 에셋에는 스프라이트 관련 파일만 존재한다. 2. 스킬 스킬 구성은 크게 3개로 나눴다. 더 구현하고 싶은 욕심이 있지만...