| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- 공정한경쟁
- Netcode
- ECS
- 모토가있는하루
- 바닥부터배우는강화학습
- necode
- InputSystem
- 브레이킹 루틴
- #스타를#하다보니#최적화맛들림#42미네랄#앞마당파일런
- 보통일베들의시대
- 넷코드
- 2023 경기게임잼
- custommessaging
- 역행자
- 유니티
- 쫄?
- 페스트 #알베르카뮈
- Catverse
- Unity
- 프로이트 #쾌락원칙을넘어서
- 메이플스토리월드
- 인디게임개발
- Wings2022
- 강화학습
- 객체지향의사실과오해 #객체지향
- 게임개발
- 2023 비버잼
- Wings2022굿즈
- 2023 버닝비버
- MapleStoryWorlds
- Today
- Total
이문회우
2024.12.14. 단상 본문
- 눈이 너무 앞흐네여
- 다음 써야할 글이 정해졌다. "그저 멋있는척 하는 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 |