이문회우

2024.12.14. 단상 본문

2024.12.14. 단상

Koesob 2024. 12. 14. 02:29

- 눈이 너무 앞흐네여

 

- 다음 써야할 글이 정해졌다. "그저 멋있는척 하는 Unity Advanced, TestRunner와 Netcode"

 

- TestRunner는 Testing을 지원하는 유니티 라이브러리이다. 마땅한 표현이 안 떠올라서 원문으로 작성했는데,

왜 그런 경우가 있지 않나?

A 오브젝트가 씬에 생성됐을 때, B가 그에 대한 처리를 하는지 확인해야하는데
이거 매 번 게임을 실행시켜서 그 씬까지 가야만 테스트할 수 있네;

이런 경우, 이 테스트를 보다 자동화 시켜주는 것이 TestRunner이다.

 

그리고 써보면 알겠지만 꽤 불편해서 금방 때려친다. TestRunner가 불편한 것이 아니다. 불편한 것은 내 코드다.

A 오브젝트를 생성하려면 C 오브젝트가 초기화 돼 있어야하고...
그건 D 씬에서 가능하고, D 씨는 E 씬에서 F 버튼을 눌러야만 넘어간다.

적어도 내 개발에서는 이게 일상이다.

그런고로, TestRunner와 Netcode를 중심으로 다루되, 위와 같은 결합을 끊어줄 Interface와, 이 Interface로 가짜 오브젝트 만드는 Mocking의 내용도 좀 다룬다.

헝거게임 시리즈 마지막 타이틀이 모킹제이이다.

뜬금없는 내용은 아니고 Mocking이 '따라하는-' 정도를 의미하는 단어라 그렇다. 테스트 중에 사용되는 Mocking도, 헝거게

임 속 모킹제이도 동일한 의미다. 

 

- 그리고 앞선 글에서 한 번 다룬 적 있는 Netcode를 다룬다.

유니티 멀티 개념 잡기 / 넷코드 + 포톤 + 메이플스토리 월드

 

유니티 멀티 개념 잡기 / 넷코드 + 포톤 + 메이플스토리 월드

다음을 비롯해 여러 정보를 참고하여 글을 썼습니다. ㅎㅎ About Netcode for GameObjects | Unity Multiplayer Networking (unity3d.com) COMPLETE Unity Multiplayer Tutorial (Netcode for Game Objects) - CodeMonkey [Unity] 게임 서버/네

koesob.tistory.com

 

- 그런데 이런 문제가 생긴다. 멀티 플레이 게임을 개발하다보면 상대쪽에서 네트워크를 통해 온 정보에 대해 테스트하고 싶어진다. 그런데, 어떻게? 물론, 유니티는 하나의 컴퓨터 내에 여러 개의 가짜 클라이언트를 띄우는 Multiplayer Play Mode라는 라이브러리를 제공하고 있다. 그런데 어떻게? 그렇다. 그 라이브러리를 제공 받았다 한들 TestRunner에서 그 라이브러리를 적용하는 것은 무리가 있다. 순식간에 TestRunner, Netcode, Multiplayer Play Mode가 서로 꼬이기 시작한다.

 

- 자, 이런 겹겹이 쌓여있는 문제는 GPT도 잘 못 대답하더라. 그런고로, 멀티 플레이 게임을 테스트하기 위해선 어떻게 해야하나, 그 시행착오를 담는 글이다. 정확하진 않을 수 있겠지만, 내가 테스트를 진행하는데에는 큰 문제 없다. 호호

 

- 그런데 초안을 작성해봤는데 대략 3편 정도의 글이 되겠더라. 오늘 중으로 글을 올리겠다고 친구들에게 호언장담했는데 견적서 보고 엄두가 안났다. 그래서 일단 단상을 쓴다. 뭐라도 해야지.

 

- 요새 GPT 유료 버전을 써보고 있다. (큰 차이는 못 느끼고 있음) 사실, 'TestRunner'는 뭐야? 'Netcode'는 뭐야?에 대한 질문은 GPT가 더 대답 잘할것이다. 그런고로, 되도록이면 GPT는 대답하기 어려운, 경험이 많이 섞인 주관적인 글로 쓰려고.

 

- 구조가 탄탄한 개발을 위해서 TDD를 쓴다고들 하지만, 난 막연한 두려움을 없애기 위해서 썼다.

혹시 게임 개발에 관심은 있지만, 그렇다고 프로그래밍에 막 재미 느끼는 시점에는 도달 못했고, 코드 창이 열리면 '그래서 이제 뭐함'이라는 막연함이 든다면, 때로는 TDD로 돌아가는 것도 나쁘지 않았다.

 

- 최근에서야 인생 흑자 전환이 됐다. 내가 번 돈만으로 월세... 공과금... 생활비... 건강 보험 등등등 다 처리할 수 있게 됐단 소리다. 여유가 조금 있어서 책도 샀다. 괜히 기뻐서 엄마랑 통화하면서 신나게 웃었다. 물론, 언제까지 유지될진 모르겠다. 아둥바둥 해봐야지!

 

- 요새 깨달은 것이 있다. 내가 한 말은 꼭 반대로 이뤄지더라.

 

- 그리고 또 요새 깨달은 것이 있다. 내가 한 말은 꼭 말한대로 이뤄지더라.

'' 카테고리의 다른 글

2024.11.26. 요즘 단상  (1) 2024.11.26
고전 읽기 : 프로이트, 쾌락원칙을 넘어서  (3) 2024.11.26
7월 여행 기록 (1) - 조치원  (1) 2023.07.23
[Unreal Behavior Tree] 공식 문서 읽기  (2) 2023.05.14
게임 프로그래밍 패턴  (0) 2023.04.20