2024/11 15

내일배움캠프 52일차 TIL 최종 프로젝트 - 최초 기획(2)

20241126 / Unity_6차  12주차 화요일  확실히 익숙치 않은 장르를 준비하려다 보니까 생각이 참 많아진다. 게다가 일주일 짜리 프로젝트가 아니다 보니까 더 완성도 높게 만들겠다고 욕심을 부리게 되는 면도 있어 보인다. 나는 NPC AI의 스페셜리스트가 되겠다는 꿈(?)을 안고 AI를 구성 중에 있는데,레퍼런스가 되는 킹덤: 뉴 랜드는 아군 NPC가 완전 자율적으로 동작하기 때문에 분석만 하기에도 머리가 아프다. 일단 NPC AI는 명령( 정찰, 거점 사수, 건설 등 )과 행동( 대기, 걷기, 뛰기, 공격 등 )로 나누기로 했다. 킹덤: 뉴 랜드의 AI를 분석한 와이어 프레임은 다음과 같다. 명령 수행을 위한 행동 계획이라는 점을 보면 GOAP( Goal Oriented Action Plan..

카테고리 없음 2024.11.26

내일배움캠프 51일차 TIL 최종 프로젝트 - 최초 기획

20241125 / Unity_6차  12주차 월요일  드디어 최종 프로젝트에 돌입하게 되었다. 내가 속한 팀은 킹덤: 뉴 랜드 라는 게임을 모티브로 하여 어드벤처 디펜스 시뮬레이션 게임을 맏르기로 했다. 아직 정확한 기획은 아니고 가닥만 잡힌 거라 오펜스 요소가 얼마나 추가될 지는 모르겠다. 총 8주의 기간동안 얼마나 해낼 수 있을지는 모르겠지만 이것저것 해야할 게 많으니시간을 허투루 보낼 수는 없다. 나는 NPC(특히 AI)를 자진해서 맡았는데, 오늘 레퍼런스 게임을 다운받았으니 좀 플레이 해봐야 할 것 같다.

카테고리 없음 2024.11.25

내일배움캠프 50일차 TIL 유니티 심화 팀프로젝트 - 뱀서류(완)

20241122 / Unity_6차  11주차 금요일  오늘 발표를 끝으로 강의 기간은 막을 내렸다. 최종 프로젝트를 앞둔 데다가 자유주제였다 보니 다른 조는 힘을 아낀 느낌이 들었는데우리 조도 적당히 하려다가 삘받아서 잠자는 시간 빼고 계속 작업하는 등 아주 불태웠다. 그리고 이제와서 말하지만 뱀서류가 아니라 3D 핵앤슬래시 라고 하는 게 맞을 것 같다.   그리고 또, 발표까지 마친 마당에(그리고 내배캠에서 3달이나 배운 마당에) 이제와서 Dotween을 처음 써봤다. 사용처는 UI 체력바, 마나바 경고시 흔들림 효과를 넣기 위해서였다. 이에 필요한 Dotween의 DOShakePosition 함수는 내부적으로 다음과 같이 되어 있다.public static Tweener DOShakePosition..

카테고리 없음 2024.11.22

내일배움캠프 49일차 TIL 유니티 심화 팀프로젝트 - 뱀서류(5일차)

20241121 / Unity_6차  11주차 목요일  오늘 한 일 몬스터 종류, 맵, 웨이브 정보 추가   몬스터는  종류에 따라 애니메이터는 같지만 애니메이션은 조금씩 다르기 때문에Animator Override Controller를 썼었다. 그런데 여기서 작은 문제가 생겼다. Animator Override Controller는 Override라는 이름에 걸맞게 기본이 되는 애니메이터에서 사용 중인 애니메이션을다른 것으로 대체하는 방식을 사용한다. 애니메이터 상태의 Exit Time이 기본 애니메이션의 길이에 고정되어 있기 때문에기본 애니메이션보다 오버라이드된 애니메이션의 길이가 더 길면 애니메이션이 끊길 수 있다. 나의 경우에는 애니메이션 자체는 끊기지 않았는데 애니메이션 말미에 있는애니메이션 이..

카테고리 없음 2024.11.21

내일배움캠프 48일차 TIL 유니티 심화 팀프로젝트 - 뱀서류(4일차)

20241120 / Unity_6차  11주차 수요일  오늘 한 일 1. 몬스터 스테이트 머신public class MonsterStateMachine : StateMachine{ public Monster Monster { get; private set; } public MonsterBaseState State_Idle { get; private set; } public MonsterBaseState State_Spawning { get; private set; } public MonsterBaseState State_Taunting { get; private set; } public MonsterBaseState State_Chase { get; private set; } ..

카테고리 없음 2024.11.20

내일배움캠프 45일차 TIL 유니티 심화 팀프로젝트 - 확장 메서드

20241115 / Unity_6차  10주차 금요일   최종 프로젝트를 시작하기 전 마지막 팀프로젝트에서 C# 고인물을 만났다. 해당 팀원은 프로젝트를 시작하기 앞서 씬을 구성하는 오브젝트들을 전부 동적할당 할 수 있도록코드를 짜 놓았는데 보다 보면 정신이 아득해 진다.. 현업에 들어가면 씬 구성을 이렇게 하긴 할 텐데... 오브젝트 생성부터 이벤트 바인딩까지 전부 코드로 작성한 것을 보니까나는 지금까지 굉장히 정적으로 코드를 짜왔구나 느낌이 들었다.    이벤트 바인딩이 구현된 부분을 보다가 특이한 코드를 보았다.GetButton(Buttons.PotionShopButton).gameObject.BindEvent(PotionShopEvent); gameObject는 알다시피 UnityEngine.Ga..

카테고리 없음 2024.11.15

내일배움캠프 41일차 TIL 유니티 심화 - UGS

20241107 / Unity_6차  9주차 금요일   저번에 이어서 멀티플레이를 구현하기 위해 네트워킹 프로그램 초보자도 쓰기 좋은PUN2( Photon Unity Networking 2 ) 에셋을 받았다. PUN2의 특징과 기능은 다음과 같다. 주요 특징손쉬운 Unity 통합: PUN 2는 Unity와 긴밀하게 통합되어 있어 Unity 개발자들이 사용하기 쉽습니다. 플러그인 형태로 제공되어 간단히 Unity 프로젝트에 추가하고 사용할 수 있습니다.다양한 네트워크 모델 지원: PUN 2는 동기화된 상태 유지 및 실시간 데이터 교환이 중요한 멀티플레이어 게임에 적합한 네트워크 모델을 지원합니다. 주로 룸(Room) 기반의 모델을 사용하여 클라이언트들이 특정 룸에 접속해 함께 게임을 즐길 수 있습니다.높은..

카테고리 없음 2024.11.11

내일배움캠프 40일차 TIL 유니티 심화 - UGS

20241107 / Unity_6차  9주차 금요일  오늘은 Unity의 UGS( Unity Gaming Services ) 에 대해 배웠다. UGS는 개발한 게임을 라이브 서비스 할 때 콘텐츠 관리나 멀티플레이어, 수익화와 유저 분석까지서비스 생태계를 구축해 주는 기능이다. UGS의 주요 기능은 다음과 같다. 계정  플랫폼 전반 플레이어 로그인 및 Authentication 시스템을 활성화합니다.멀티플레이어  확장성과 성능의 Multiplayer 게임 호스팅을 얻으십시오.콘텐츠 관리  게임 콘텐츠를 배포하고 관리합니다.DevOps  게임 개발을 위한 Version Control 및 Build Automation 탐색합니다.  Analytics  Analytics 도구를 사용하여 데이터 기반 의사 결정을..

카테고리 없음 2024.11.08