
방학 동안 게임을 만들어보고 싶어졌다. 전부터 여러 번 게임 개발을 시도했었는데, 유니티를 이용하던 언리얼을 이용하던 다양한 이유로 중도포기하게 되었고, 묵혀두는 중이었다. 그러던 참에 다시 게임 개발에 대한 열정이 생겨 이번 방학에 다시 한번 시도해보려 한다. 우

Github Repository를 만들고 나서, 기능 개발을 시작했다.우선 여느 IO 게임이 그렇듯이, 카메라는 플레이어 캐릭터를 중앙에 둔 채로 이동하고, 플레이어 캐릭터의 회전에는 영향 받지 않아야 한다.그런 식으로, 캐릭터의 회전과 이동, 그리고 카메라 고정을 먼

기본적인 플레이어 이동이 구현되었는데, 본격적으로 게임의 매커니즘을 더 구체화 할 필요를 느꼈다.게임의 목표는 다른 플레이어들을 파괴하며 계속 생존하는 것이다.플레이어들은 레벨을 가지고 있다. 레벨이 1 증가할 때 마다 기본적인 스탯을 선택하여 업그레이드 할 수 있다.

참고영상(https://youtu.be/467TCzPqvx4?si=UpSeRG3U9aF36O-)우선 기본적인 이동과, 회전을 구현해놓았는데, 게임 매커니즘도 구체화 되었기 때문에 본격적으로 멀티플레이를 적용하기 위해서 Unity Netcode for Game

참고영상따라하라는 대로 했는데 잘 동작하지 않아서 새로운 영상을 참고해 코드를 다시 고쳤다.저번 글에서 Refactoring 했던 클래스 (PlayerMovement)를 두 클래스로 나누었다.PlayerController 클래스와 PlayerNetwork 클래스다.Pl

참고영상이전 포스트에서 작성했던 코드를 더 효율적으로 Refactoring 하는 과정이 있었다.계속 작성한 것 갈아엎는 행동이 반복돼서 좀 그렇긴 하지만 또 한번 어떤 점에 변화가 있었는지 알아보자.설명하기에 앞서, 원래 Player Prefab에는 RigidBody2

만들고자 하는 게임이 슈팅 게임이기에 기본적 이동 구현이 완료되었으니 이제 투사체 발사를 구현할 차례다.게임 시스템 상에서 구현되어야 하는 투사체의 종류가 좀 많기 때문에 먼저 투사체에 대한 인터페이스부터 만들었다.이렇게 두 메서드를 implement 해야 하는 인터페

이제 플레이어의 레벨, 체력, 각종 능력치를 주관하는 PlayerStats 클래스를 만들 차례다. 0. 변경 사항 우선, 플레이어를 구분하던 ID 필드가 PlayerStats로 옮겨 왔다. 그리고, Bullet 클래스의 명칭이 Projectile로 변경되면서, 투사체

PlayerStats의 Level 시스템을 개발하기 위해서는 레벨업과 관련된 이벤트를 먼저 만들어야 하는데, 이왕 만들어야 하는 김에 중립 기체와의 기본적인 상호작용을 개발했다.Probe는 내가 임의로 중립기체에 붙인 명칭으로, NPC라고 생각하면 된다.Probe에는

이전 포스트에서 만든 NPC 기체와의 상호작용을 통해 경험치와 다른 자원들을 수집하도록 구현할 예정이다.또한, 유저와의 상호작용도 구현한다.이전 포스트에서 Probe를 어떻게 만들었는지 떠올려보면, Probe의 체력이 다 떨어졌을 때 Player 네트워크 오브젝트에 접

레벨 관련 업데이트를 진행하기 전에, 맵 중앙에만 소환되는 NPC (Probe)를 랜덤한 위치에 소환하도록 하고, 스스로 목적지를 설정해서 이동하는 것을 구현하려고 한다.사진 처럼, 맵은 육각형 모양의 타일을 많이 이어 붙인 형태를 띄는데, 전반적으로 약간 오른쪽으로