묻고 답해요
146만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
강의 관련 질문 드립니다.
섹션 6 결제 까지 올라와 있고 그 이후 날짜에는 강의 파일이 없는데 이후에 추가로 올라오나요?
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
리니지1의 이동 질문
한때 오랫동안 리니지를 즐겼던 유저로써 리니지1의 이동은 어떤식으로 구현되었을까요?리니지에서 이동중에 서버렉이 걸리면 케릭터가 찍은 좌표로 클라의 케릭터는 계속 걸어갑니다.렉이걸린시점부터의 클라시점 밖의 NPC나 몬스터는 표시가 안되고 렉이 풀리면 클라 포지션이 렉이 걸린 시점의 포지션으로 순간이동하는 렉이 있었는데요 통신이 안되도 케릭은 일정타이밍까지는 이동이 됩니다.그러타면 서버에서는 도착좌표만 주고 클라에서 보간처리로 이동을 한다는 말이될것같은데그렇게 따지면 클라의 보간처리로 이동한다면 다른 케릭에의해서 길이 막혔을 때 처리가 안될것 같습니다.지금 프로젝트의 구현과 리니지1의 이동 동기화의 차이점도 궁금합니다.
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
버그에대한 썰
현재 프로젝트를 진행하는 과정에서 버그를 어떻게 발견했으며 문제의 코드를 어떻게 추적했고어떠한식으로 수정했다 그래서 느낀점은 이렇다등의 기억에 남는 버그가 있다면 짧게나마 썰을 풀어주시면 그것또한 큰 도움이 될것같아서 제안드립니다 ^^;
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
포탈 프로젝트에 서버 코드에 에러가 뜨네요
포탈 프로젝트에 ELeavType이 없다고 에러가 뜨는데 어떻게 하면 되나요?
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
아이템 수량에 관해서 질문입니다.
DB에서 겹쳐지는 아이템 하나의 컬럼에 수량 1000개를 그대로 저장하고 클라에게 1000개 그대로 보내서 1000개를 50개씩 20개로 쪼게는 부분은 클라딴에서 처리하는 방식은 안되는건가요?
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
퀘스트 관련 질문 드립니다.
안녕하세요. 강의를 보다가 퀘스트 관련해서 몇가지 궁금한 점이 생겨 글을 남깁니다.QuestTask 정보를 string화 해서 DB에 저장하시던데, 저럴 경우 운영적인 측면에서는 이슈가 없을까요? (DB 마이그레이션이라던지)Dialogue의 진행은 클라이언트에서 진행되고 Dialogue가 완료되면 Interaction을 서버로 요청하던데, 이럴 경우 클라에서는 Dialogue가 진행됐지만 서버에서 실패할 수 있는 상황이 생길 것 같은데요. Dialogue 같은 건 원래 클라이언트가 주도적으로 진행을 하나요?일반적인 MMO를 보면 Quest가 완료된 후에 Dialogue가 출력되거나 Npc가 특정 위치로 이동을 하거나 특정 지역으로 Pc가 Teleport를 하는 등 서버에서 동기화를 맞출필요가 있는 일들이 여럿 발생하던데.. 이런 처리는 일반적으로 어떻게 구현 할까요?언제나 좋은 강의 감사드립니다~
-
해결됨[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
스포닝풀 작업하는거 질문드려요
제가 강의를 놓친걸수도 있는데 질문드려서 죄송합니다.스포닝풀을 스크립터블 오브젝트로 관리하는데 (M1 에서는 타일맵에 찍어서 관리 했었던걸로 기억합니다)스크립터블 오브젝트로 Pivot PosX , Pivot PosY 를 어떻게 직관적으로 보고 작업 할수 있나요? 그냥 찍어서 좌표 확인하는건지 아니면 더 편한 방법이 있는건지 궁금해서 질문남겨요
-
해결됨[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
CPU를 과도하게 점유하면서 멈추는 현상
안녕하세요 쓰레드 배분 강의 소스 코드부터 현재 강의까지, 서버가 정상적으로 동작하지 않는 현상이 있어 확인 요청드립니다.DBThreadJob 메서드에서 _executeQueue가 비어 있을 때 루프가 무한히 반복되면서 CPU를 과도하게 점유하는 문제가 있는 것 같습니다. 저는 macOS에서 서버를 실행 중인데, Windows와의 CPU 스케줄링 차이로 인해 발생하는 문제로 추측됩니다. 확인해주시면 감사하겠습니다!
-
해결됨[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
protobuf 자동화 관련되서 질문 드립니다
protocol.proto를 수정한 후 패킷 자동화를 돌렸는데 Protocol.cs가 수정되지 않았습니다.혹시 GameServerPacketManager.cs 가 먼저 수정되고 Protocol.cs가 이후에 수정되면서 에러가 발생하여 문제가 생기는 걸까요?
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
몬스터 AI
안녕하세요 강의 잘 보고 있습니다.현재 3d 모바일 게임을 만들고 있습니다 가상 조이스틱을 이용해 플레이어를 이동시키고 있구요현재 몬스터 AI를 구현하기 위해 A*를 이용해서 PathFinding을 구현중에 있습니다 구현을 위해 맵은 1X1단위로 위에서 아래로 Ray를 쏴서 맵 정보를 저장해 놓은 상태입니다. 이런 상황에서 만약 몬스터는 (2, 0, 2)좌표에 Target은 (5.5, 0, 5.5) 좌표에 있다면 절대 Target을 찾을 수 없겠다 싶어 거리가 1이하이면 찾은걸로 가정을 하려 했습니다 그런데 그 사이에 장애물이 있을 수도 있고 별의 별 상황이 있겠다 싶어 이게 맞는건지 의문이 듭니다 이런 그리드 단위로 움직이지 않는 게임에선 어떻게 Finding을 해야 좋을까요?
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
웹서버로 구현되는 기능들이 궁굼합니다.
안녕하세요! 선생님 강의를 거의 빠짐없이 듣고 열심히 공부하고 있는 수강생입니다. MMORPG 개발 9개 시리즈부터 번외편, M1 강의까지 2~3회씩 반복해서 수강하며, 이제는 새로 올라오는 M2 강의를 매주 주말마다 기다리고 있습니다!강의를 기다리며 채팅 기능, 길드, 파티, 우편 시스템을 직접 구현해보려고 하는데, 처음으로 강의 내용과 다른 것을 시도하다 보니 제가 제대로 하고 있는지 확신이 들지 않더라고요. 제가 생각하기에 채팅, 길드, 파티, 우편 기능은 ACCOUNT 서버처럼 WEB 서버로 구현하는 게 좋을 것 같아서, MMORPG 시리즈에서 배운 WEB 서버를 기반으로 위에 기능들을 하나씩 만들어가고 있습니다.서론이 길었네요 ㅠㅠ 궁금한 점이 있습니다! 실제 현업에서는 위에 언급한 기능들이 웹 서버로 구현되는지 아니면 게임 서버로 구현되는지 궁굼합니다!
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
C++강의 듣다가 왔습니다.
C++과 언리얼로 만드는 mmorpg 시리즈를 구매한 학생입니다. 1주차부터 이해가 안돼서찾아보니 Part3 유니티 (클라 프레임워크)Part4 게임서버 (서버 프레임워크 ServerCore)Part7 게임서버&클라 연동 (클라 서버 연동 기본기)Part8 EF Core (ORM) 를 읽어보면 이해하기 쉽다고 하셨는데part4. 게임서버는 C++강의로 들어도 괜찮을까요??
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
멀티 스레드 관련 의문점
안녕하세요 강의 잘 보고 있습니다.코드를 보면서 멀티 스레드 관련해서 궁금한게 있어 질문 남깁니다.1.ClientSession에서 Lock을 잡지 않는 이유는 Receive쪽에서 하나의 스레드만 들어오기(낚시대 비유) 때문에 안걸어도 되는건가요? 즉 하나의 스레드가 메서드 안의 메서드를 타고 타고 들어와서 안전한건가요?2. 1번이 맞다면 ClientSession 에서 GameLogic Push 하는 이유는 스레드 안전성 때문이라기보단 멀티 스레드를 활용하기 위함이라 보면 될까요?
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
포폴용으로 AWS 인스턴스 1개와 탄력적 IP 1개를 항시 켜놔도 비용이 부과될까요?
루키스님 안녕하세요? C# AWS 답변 보고 여기로 와서 클라 입장 공인 IP를 가지고 사설 IP에 접근하는 것 성공했습니다. 아침 답변 감사합니다. 제가 포트폴리오 작성 간에 데모 프로그램을 준비해보려고 하는데 (기준은 C# 파트7 수강 이후입니다) 첫 번째 방법은 클라, 서버 exe 한폴더에 넣고 .bat 파일 만들고 이거 하나만 실행시키서 서버 실행 -> 클라 실행 순으로 입장시키기 입니다. 그런데 이 방법은 .net이 안깔려 있으면 서버부터 크래시가 나길래 인사담당자나 면접관이 못볼 수도 있겠어서 찜찜해서 두 번째 방법으로 생각한건 AWS입니다. 윈도우 프리티어와 인스턴스 프리사양, 그리고 고정용 IP용 탄력적 IP를 만들어서 항시 켜놓으려고 합니다(보안 정책은 여기 강의처럼다 뚫어놓긴 합니다). 그리고 데모 프로그램은 클라이언트만 제시하는 방법을 생각 중입니다. 이 경우 AWS 서비스가 무료거나 소액이면 해볼만한 방법이라고 생각되는데 둘 중에 어느 방법이 괜찮을지 의견 여쭈고 싶어서 질문 드립니다.
-
해결됨[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
JobTimer 클래스의 우선순위 큐 질문
안녕하세요. JobTimer 클래스에서 사용된 우선순위 큐 관련해서 2가지 궁금한 점이 있습니다.1. 여기서 사용된 우선순위 큐는 최소힙으로 구현된게 맞나요?PriorityQueue.cs 에 작성된 우선순위 큐는 최대힙 이지만, JobTimerElem 구조체를 정의할 때 CompareTo 메서드를 오버라이딩 해서 최소힙을 사용하게끔 수정한 것으로 이해했는데 제대로 이해한게 맞을까요?2. Pop 메서드에서 힙 정렬 과정 질문 PriorityQueue.cs에 작성된 Pop 메서드의 While 문이 힙 정렬을 담당하는 부분으로 이해했습니다.만약 While 문 한 번으로 정렬이 끝나지 않는 경우는 어떡하나요?예를 들어 다음과 같이 저장된 최소 힙의 경우이렇게 While문이 한 번 끝났는데 최솟값인 2가 루트 위치에 있지 않은 경우가 있어서 질문 드립니다.
-
해결됨[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
마우스 오른쪽 버튼 및 키보드 입력이 받아지지 않습니다.
안녕하세요.강의에서 제공되는 코드를 수정하며 만들고 싶은 게임을 만들려고 하는데요 롤과 유사한 조작 방식으로 만들고 싶은데 마우스 오른쪽 버튼이랑 키보드 입력이 안 받아지네요.정말 아무것도 수정안하고 MyHero.cs 에서 Input.GetMouseButton(0) 요 부분을 0에서 1로 바꾸기만 해도 아무런 동작이 되질 않습니다. 모바일용 프로젝트라 마우스 오른쪽 버튼 및 키보드 입력이 받아지지 않는 건가 의심이 되어 빌드 세팅을 확인해 보니 빌드 세팅은 또 PC로 되어있어서 알쏭달쏭한 상황입니다. 어떤 부분을 수정하면 좋을까요?
-
해결됨[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
Session Send 멀티스레드 관련
안녕하세요 Session쪽 Send 만들어 보고 있습니다.구현하면서 궁금한게 Send에서 lock을 잡고 RegisterSend쪽에서는 lock을 잡지 않는 상황인데RegisterSend에서 하나의 스레드가 들어와서 while문을 돌면서 sendQueue를 Dequeue하고 있는데 이 과정에서 다른 스레드가 Send에서 sendQueue Enqueue를 할 수 있지 않나 생각이 듭니다. 그래서 RegisterSend에서 적어도 while문에는 lock을 걸어줘야 공유자원 _sendQueue에 대해서 안전하게 처리 될 수 있지 않나라고 생각 하는데 만약 안전하다면 왜 안전한지에 대해서 듣고 싶습니다.감사합니다!
-
해결됨[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
SocketAsyncEventArgs Pooling
안녕하세요 강의 참고하면서 서버 만들어 보고 있는데 https://learn.microsoft.com/ko-kr/dotnet/api/system.net.sockets.socketasynceventargs?view=net-8.0#remarks해당 문서에서 pooling이 있더라구요 생각해보니 동접이 꽤 많다라고 가정하면(약 3000?) 이 SocketAsyncEventArgs 생성 소멸이 많이 일어난다고 생각했습니다.그래서 pooling을 한번 만들어보고 있는데 만드는 중에 Dispose를 언제 해줘야 할지 감이 잘 안옵니다.현재는 Client가 Disconnect될 때 Push하게 되는데 Push에서 poolCount가 3000이 넘으면 이걸 AllClear라는걸로 pool에 있는 SocketAsyncEventArgs를 다 Dispose해주는 상황인데 이렇게하면 3000이 넘기 전까지는 메모리에 계속 남아 있으니 먼가 찜찜합니다.이런 문제가 있는데 좋은 해결책이 있을까요?감사합니다!
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
여유가 되신다면 mmorpg의 꽃, 레이드관련 강의 요청드려도 될까요
용가리가 브레스 쾅발구르기 낙석 쿠과광마지막 발악패턴 비늘탄막 슈슈숭난관을 넘어 던전에서 쌓여가는 우정!상상으로도 가슴뛰는 컨텐츠인데너무 무리한 부탁이겠지유
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
GameServer 빌드 오류
수업자료를 다운받고 처음에 GameServer콘솔앱을 빌드하는 과정부터 오류로 실행이 안되네요 ㅠㅠbat 파일이 윈도우 보안에 걸려서 그런가 생각되어서 bat파일을 새롭게 직접 생성해줘도 문제가 해결되지 않네요.cmd 창에서 직접start GenProto.bat %cd% \Server\GameServer\Packet\Generated\ 1 과 같이 오류가 난 2줄의 명령어를 실행해서 진행해 보았는데, 자동생성되야하는 패킷매니저.cs파일도 자동생성이 안되는 걸로 보아 cmd 창에서 실행하는 방법도 안되는 것 같습니다.