월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
서버 스킬 쿨타임 궁금한점 질문입니다
게임 서버를 만들면서 스킬 이 여러가지 생기는데 각각의 쿨타임을 어떻게 관리하는지 궁금합니다 a스킬과 b 스킬이 각각 쿨타임을 달리 관리해야하는데 만약 100개의 스킬이 있으면 전부 int형 시간 저장을 해서 만드나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
the name 'Util' does not exist in the current context
사진 그대로입니다. 이런 경우는 어떻게 해야하나요? 이대로 그냥 저장하고 GenerateMap 클릭하면 에디터 상에서 아무 에러없이 파일 생성은 잘 되네요
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
Room ID에 대해 질문 있습니다.
RoomId로 구분을 해주는 목적이 사냥터, 마을 이런걸 구분하는게 아니라 메이플로 비교하면 1채널 2채널 이런식의 용도로 사용되는 거라고 생각을 했는데 맞는건가요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
Object Start함수 실행 순서 관련 질문있습니다.
몬스터 가짓 수를 늘리던 도중에 CurrentGrid가 null로 떠서 보니까 씬이 로드되면서 CurrentGrid가 채워지는데 채워지기도 전에 먼저 MonsterController의 Init이 실행되면서 생기는 문제였습니다. 구글링 해보니까 컴포넌트 Start함수의 실행순서를 변경할 수 있다기에 그렇게 해서 오류를 해결하긴 했는데 뭔가 시한폭탄을 하나 숨겨둔 느낌이라 좀 찜찜한 느낌이 듭니다. 원래 유니티 Start함수의 실행순서에 관련한 오류가 종종 있는 편이셨는지 여쭙고 싶습니다!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
Instantiate로 생성된 object의 start함수는 언제 호출되나요?
다음 프레임 때 호출되나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
Proto 파일 작성시 MsgId 추가시 오류
3일도안 구글링 해바도 해당 오류에 대한 답을 못찾았습니다. 도움 부탁드립니다 ㅠㅠ 1. Protocol.proto에 MsgId에 추가하였습니다. 그리고 아래 해당 메세지도 추가하였습니다. 컴파일 하면 아래같은 메세지가 나옵니다. 편한시간에 검토 부탁드립니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
데드락 질문 드립니다.
Server Session 쪽 OnRecvCompleted() { BytesTransferred 이부분이 0으로 오면서 Disconnect 가 호출이 되고나면 } 데드락이 걸리는 경우가 있는데 데드락 1 데드락2 데드락3 총 3군데서 더이상 진행이 안되는거 같은데 혹시 어디를 잘못 건드리면 이런 현상이 나오는지 알수 있을까요? 강의 4강 소스에 7강 google proto buffer 붙어서 뭐좀 만들어 보고있는데 접속을 끊고 다시 붙고 이런거 몇번 반복하니 서버가 멈추네요 새로운 클라이언트가 접속을 하면 서버에 접속까지만 되고 그이상은 진행이 안되네요. 서버실행중 콘솔창 마우스로 긁으면 100% 확률로 제현이 됩니다. 이거 마우스로 만진다고 서버에 문제가 될수 있나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
HandlerMove lock 관련 질문 드립니다.
락이 없어도 정상 작동을 하지 않나요? 1) PlayerInfo info , S_Move resMovePacket , 매개변수 기반으로 만들어 지고 있으니 safe 2) Broadcast 안에 이미 락이 있으니 safe 3) C_MoveHandler 에서 player , room 참조를 한번더 받았으니 크래쉬로 부터 안전 서버 프로그래밍 에선 락이 제일 어려운거 같습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
Tilemap tm = Util. 에서 Util이 잡히지 않습니다.
안녕하세요! 영상을 보며 공부중인 학생입니다! 개인적인 시간상 전 part 영상을 안보고 지금 part 영상으로 건너뛰어 시작하였습니다. Util과 File 부분이 참조가 되지 않아 진행이 멈춰있는 와중에 File은 파일 생성과 관련되어 있는 것 같아 찾아보니 using System.IO; 를 안해서 나오는 현상이여서 해결 하였으나 Util은 어떤 using을 해줘야 하는지 모르겠습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
유니티에서 멀티는 되는데 단독 실행시 시작조차 안 돼요!
유니티 게임 실행시 단독으로 실행하면 안 돼요. 멀티로 하면 또 되서 코드 문제인건가 해서 수업 자료를 다운 받고 해도 안 되네요. 오류라도 떠 주면 편한데 오류도 안 뜨고, 브레이크도 잡았는데 정지도 안하고. 이런 경우도 있나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
서버가 이상합니다
일단 패킷이 전송이 되고 받아지는거는 잘 되는데 값들이 빈 패킷들이 온다거나 뭐 게임 관련 패킷들은 다른 패킷이 온다거나 합니다. 근데 재밌는건 그 문제들을 해결하려고 브래이크 포인트를 잡고 디버깅하면 얘가 멀쩡해집니다. 그리고 한 번 정상 작동하면 계속 괜찮고요. 혹시 왜 이러는지 알 수 있을까요? 노트북으로 공부하고 있는데 혹시 그것 때문일까요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
혹시 이후 서버 강의에서 데드 레커닝이나 KD트리 같은 고급 기법도 소개해주실수 있나요?
설명을 잘해주셔서 고급 기법들도 가르침을 받고 싶습니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
if (tm == null) return; 을 포함할 경우 유니티가 화를 냅니다
우선, 새해 복 많이 받으세요. 선생님. 다름이 아니라 해당 강좌 약 15분까지의 내용 중에서 MapEditor.cs에 if (tm == null) return; 을 포함할 경우 유니티에서 화를 내면서 NullReferenceException: Object reference not set to an instance of an object MapEditor.GenerateMap () (at Assets/Editor/MapEditor.cs:31) 를 출력하고, output.txt에 아무것도 써주질 않습니다. if (tm == null) return;을 삭제하면 정상적으로 만들어집니다. 강좌에선 포함해도 잘 진행되는걸로 나왔는데 말이죠. (강좌 15분 이후에 결국 해당 if문은 필요없어서 삭제하시긴 합니다만 저기서 막혀서 한참 씨름했네요) 무엇이 문제였는지 궁금해서 여쭤봅니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
game/packet/session
game은 object들의 상태가 저장되는 폴더 packet은 패킷을 만드는 폴더 session은 무엇일까요? 이외 server core의 역할도 간략하게만 힌트부탁드릴께요 게임서버부분도 등록하긴했는데 비전공 초보로서 정주행중이라 숲을 잘 못보겠네요. 도움 부탁드립니다!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
동기화 질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 왜 맵를 00000000011000 00000000011000 00000000011000 00000000011000 이런식으로 도식화 해서 cango 함수를 이용해서 케릭터가 이동할 수 있는지 없는지를 하는건가요? 2d라서 콜루션이 없어서 만드는건가요? 그냉 케리터의 position 값만 동기화하면 되는거 아닌가요? 3d 환경에서도 위와 같은 방법으로 도식화해서 하나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
sub thread에서 Resource.Load가 가능한이유
제가 개인적으로 진행하는 프로젝트에서 S_EnterGameHandler에서 UnityEngine.Resources.Load를 호출하면 Load can only be called from the main thread. 와 같은 에러가 발생합니다. 하지만, 루키스님이 만드신 프로젝트, 10:39 S_EnterGameHandler에서 GameObject player = Managers.Resource.Instantiate("Creature/Player"); ㄹ호출했습니다. 처음 게임을 시작하면 object pooling된 object가 없으므로, Managers.Resource.Instantiate는 UnityEngine.Resources.Load를 호출합니다. 루키스님이 만든 게임에서는 에러가 발생하지 않아요. 어떻게 가능한건가요? 디버깅을 해보았고, S_EnterGameHandler를 호출한 thread(아마 mainthread가 아닌)가 UnityEngine.Resources.Load를 호출했습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
맵 관련되서 궁금한 점이 있습니다.
안녕하세요 강사님. 새해 복 많으받으세요. 맵 관리에 관하여 궁금한 점이 있습니다. 맵을 관리할 때 씬을 여러 생성하지 않고, 그냥 한 씬에 여러 맵을 프리팹하여 텔레포트 이동할 때마다 기존 맵을 꺼주고 이동한 맵을 불러와주는 형식으로 만들면 쓰레드 환경이라던가 기타 여러 문제가 발생할 수 있나요? 제가 잘못 알고 있는 것인지는 모르겠지만, 한 씬에 한 맵을 제작하시는 분들이 많은 것 같더라고요... 이 점 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
반정규화
object 와 room 폴더안에 클래스 형태로 게임 오브젝트 정보가 저장되는데, 이 클래스는 클라이언트 쪽에도 있지 않나요? 이게 맞나요? 이게 반정규화라는 concept일까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
20:20 화살이 몬스터 못때리는거
해당 상황 이외에도 ㅁㅁㅁㅁㅁㅁ ㅁㅁ넷ㅁ나ㅁ ㅁㅁㅁㅁ몹ㅁ 몹이 넷플레이어에게 어그로 끌렸을때 이렇게 배치하면 내가 아래를 보고 몹을 때릴때 화살이 통과합니다. 예전에 ApplyMove 작업할때 충돌문제 생길것같아서 TODO 남겨둔부분이 있는데 ApplyLeave() 로 _object[,]에 null 넣고 이후에 if로 CanGo() 확인하는 로직에서 이동할수없으면 셀에서 존재하지 않아 버리게 됩니다. 길막이나 영상처럼 몬스터가 이동->공격 상태로 전환되기 전까지는 계속 _object[y,x]부분이null로 유지될것같고Arroy가 충돌체크를 _object[y,x] 배열기준으로 하니까 통과하는것 같습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
A* 구현 중 Cell2Pos, Pos2Cell의 추가 설명이 필요합니다.
오브젝트의 CellPos와 맵 전체를 스캔한 collision 배열의 Index를 서로 동기화시켜주기 위해서 만든 것으로 이해하고 있는데 이게 맞는지 궁금합니다. 그리고 x값은 cellPos.x - MinX 인데 y값은 왜 MaxY - cellPos.y 로 정의되는지도 잘 모르겠습니다.