inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

홀펀칭 질문도 괜찮을까요..?

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

안녕하세요, 루키스님 유익한 강의 제공해주셔서 감사합니다 항상 감사한 마음으로 수강하고 열심히 프로젝트를 진행해보고 있습니다. 현재 프로젝트에서 메인 서버에서는 모든 클라 게임 접속을 받고 로그인 및 방 입장 등을 관리합니다. 클라가 게임룸을 생성하면 해당 클라에 Host라는 오브젝트가 생성되고, 해당 오브젝트는 서버 코드를 유니티에 호환되도록 수정을 거친 상황입니다. 타 클라(로컬 네트워크 환경에서만 테스트 해보았습니다.)에서 방 목록에서 방을 선택하고 입장하면 중앙 서버에서가 호스트와 클라 사이에서 IP와 포트를 알려주는 중개 역할을 하며 두 클라이언트가 연결됩니다. 해당 게임의 사이클이 끝나 게임이 종료되면, 클라이언트들은 로비로 돌아가며 1~3의 단계가 계속해서 반복됩니다. 현재 프로젝트의 조건을 위와 같이 설정하였고, 3번까지는 테스트를 완료했고, 정상적으로 동작하는 것을 확인했습니다. 하지만 4번에서 문제가 발생하는데, 다시 방을 생성하면 클라와 호스트 사이에 패킷 전송이 되지 않는 것 같습니다. 디버깅을 통해 확인해볼 때에는 호스트측의 OnConnected 메서드는 호출되는 것으로 보아서는 클라측에서 연결에 문제가 발생하는 것 같은데, 구글링과 디버깅을 통해 여러가지 해결책을 시행해봤습니다. 연결 종료 시 완전히 소켓이 종료되도록 세션 Disconnect()를 했습니다. 소켓이 같은 주소의 포트 번호를 공유할 수 있도록 Connector와 Listener 코드의 소켓 설정 코드에 Socket socket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); 이렇게 ReuseAddress 설정을 추가했습니다. (중앙 서버 세션과 호스트 세션은 클라에서 개별적으로 다루고 있습니다)호스트 세션의 연결이 종료될 때, 호스트 세션의 _disconnected 변수를 다시 0으로 만들어, 다음 연결 시 RegisterRecv등의 코드에서 if(_disconnected == 1) return;의 조건문에 걸리지 않도록 코드를 수정해보았습니다. 2번의 방법을 시행해보기 전에는 '같은 주소의 포트를 사용할 수 없습니다?'와 같은 오류가 발생했었는데, 2번을 시행한 뒤에는 오류는 발생하지 않지만 연결이 되지 않는 것은 마찬가지인 상태입니다. 그 외에도 잡다하게 정말 많은 시도를 해보았는데, 전혀 실마리가 보이지 않아 질문합니다..ㅠㅠ

  • C#
  • unity
댓글 2 좋아요 0 조회수 532

3.:43 초 때부터 잘 안되는 것 같습니다...

미해결

[라이브 멘토링] 유니티 뱀파이어 서바이벌 장르 모작

코드도 정확히 다 따라했는데도 결과랑 다르게 나오네요 3:43초 쯔음에 소문자 대문자 구분 말 나오면서 뭔가 잘 안되고 있습니다 ㅠ

  • C#
  • unity
  • object-pooling
김도현 댓글 1 좋아요 0 조회수 349

DTO 폴더는 BusinessLayer로 옮겼는데, using문은 HelloASP로 계속하나요?

미해결

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

혹시나해서 LoginService 클래스에서 using BusinessLayer.DTO 추가했는데도 인식을 못하네여.. 또한 ILoginService도 인식을 못하던데, 중간에 누겟설치와 참조 관계 때문에 그런건지? 여쭤봅니다. 수정) 다시보니, DTO 클래스에서 네임스페이스 바꾸지 않아서 인식을 못했던거네여.... 강의에서 네임스페이스를 안바꾼 이유가 있나요?

  • C#
  • mvc
  • rest-api
  • 아키텍처
  • mssql
  • ef-core
  • asp.net-core
kbj0619 댓글 1 좋아요 0 조회수 289

SQL Server Management 연결 불가

미해결

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

서버 이름이 아래와 같이 공란으로 보이며, MSSQLSERVER 로 입력 시 아래 오류창이 뜹니다

  • C#
  • mvc
  • rest-api
  • 아키텍처
  • mssql
  • ef-core
  • asp.net-core
괄호쓰다손목삠 댓글 1 좋아요 0 조회수 273

복잡한 3D 오브젝트의 움직임은 어떻게 표현해야할까요?

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

안녕하세요! 3d에서 복잡한 오브젝트의 움직임은 어떻게 표현해야 할지 궁금해서 질문드립니다. 예를 들어 자전거체인이 있다고 한다면 페달을 밟을 경우 체인이 움직(체인 돌아가는)이는 모습을 표현하고 싶습니다. 그리고 체인에서 특정 위치에 물체가 닿으면 이벤트를 발생시키려고 합니다. 제가 생각했을 때는 2가지 방법이 있을 거라고 생각됩니다. 이런 방법 말고 어떤 방법이 있을지 너무 궁금합니다.! 보통 이런 복잡한 오브젝트를 자연스럽게 움직이게 할 때 어떻게 해야 할까요? 제가생각하는 2가지 방법 각각 체인오브젝트를 나누어 포지션과 로케이션을 직접 소스에서 변경하여 움직임을 표현한다. 2d의 애니메이션 효과를 주는 것처럼 체인이 변경된 모습을 여러 개의 오브젝트로 만들어 순서대로 visible을 껐다켰다하는 방법으로 애니메이션을 준다.

  • C#
  • unity
sangin1.park 댓글 1 좋아요 0 조회수 361

Razor View 추가시 NuGet 자격증명 무한루프

미해결

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

6:10 에서 진행되는 View 리턴값에 Razor 뷰 추가시 NuGet 자격증명 하라는 MS로그인팝업이 뜹니다. 로그인시 스캐폴딩 진행 조금 하다가 다시 뜨고 무한반복이네요. 창을 닫고 실행해보니, 위와같은 에러창이 뜹니다.

  • C#
  • mvc
  • rest-api
  • 아키텍처
  • mssql
  • ef-core
  • asp.net-core
괄호쓰다손목삠 댓글 1 좋아요 0 조회수 195

단일 스레드로 처리할 경우 속도 문제점 있나요?

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

GameRoom을 하나의 스레드로 jobqueue를 사용해서 공유자원을 관리 하면 lock에서는 자유롭지만 하나의 스레드인 만큼 많은 처리를 해야할 경우 딜레이가 생길수도 있을거라고 생각하는데 lock을 타이트하게 거는 방법보다 하나의 스레드에서 처리하는게 속도가 더 빠른가요? 하나의 스레드로 룸을 관리하니 결국 작업을 하나씩처리에 따른 속도 이슈가 없는지 궁굼합니다. 예를들어 갑자기 수많은 이용자가 들어와 엔터패킷을 탄다면 디비도 접근해야될때 이에 따른 실시간 처리 성능이 보장되는지 궁굽합니다.

  • C#
  • unity
  • 네트워크
sangin1.park 댓글 2 좋아요 0 조회수 363

3D 위치 동기화에 대한 질문

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

안녕하세요. 지금 파트 9까지 전부 수강하고 3D 게임을 제작하고 있습니다. 현재 목표는 마우스로 우클릭를 하면 해당 좌표로 플레이어를 이동하는 것입니다. 질문은 크게 두가지입니다. 현재는 클라이언트에서 마우스를 우클릭하면 Unity에서 제공하는 NavMesh를 통해 이동하고 있습니다. 그런데 서버에선Unity에서 제공하는 기능을 사용할 수 없기 때문에 따로 길 찾기 연산을 해야 할 것 같은데 이 부분이 감이 안 잡힙니다... 서버에서 길 찾기를 어떤 방식으로 해야할까요? 클라에서 추출된 NavMesh를 서버쪽에서는 활용할 수 없을까요?? 가령 SharpNav등을 통해서요! 무지한 질문을 많이 하는데 항상 성심껏 대답해주셔서 감사합니다!

  • C#
  • unity
qmal789 댓글 1 좋아요 0 조회수 367

앞으로 강의 내용이 궁금합니다

미해결

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

안녕하세요 루키스님 강의 잘보고 있습니다 게임 출시를 너무 하고 싶은데 좋은 강의 만들어 주셔서 감사합니다 1 ui 핵심내용으로 분석 말고도 루키스님은 어떻게 제작 하는지 ui강의 부탁드려도 되나요 현재 나와있는 강의로 활용해서 적용하기 어려울거 같아서요 혹시 이번 초반에 바닥에 까는 스킬말고 공격이나 여러가지 구현하는건 없나요?? 이거 또한 스킬은 어떻게 활용할지 궁금합니다 2 이번 강의 듣고 아직 많이 부족하지만 싱글게임 만들어서 운영 해보고 싶습니다 이번 1~6월까지 강의 듣고 싱글게임 만들고 운영 하는거 지장없는지 걱정됩니다 강의를 보고 있으면 지금 1월-6월 까지 강의 보다는 7월부터 온라인 강의를 더 중요시 생각하시는거 같아서요 이번 강의를 어느 수준까지 마무리 되는지, 강의를 다 듣고 싱글게임 만들고 수입창출 수준까지 배울 수 있는지 너무 궁금합니다

  • C#
  • unity
  • MMORPG
흠흠이 댓글 1 좋아요 0 조회수 545

강의대로 따라했는데 NullReferenceException 에러 발생하시는 분들 (section 2 - 스킬 수정)

미해결

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

강의 내용대로 잘 따라했는데 bear가 공격 애니메이션을 실행하지 않고, 다음과 같이 에러 메세지가 뜨는 분들을 위해 해결방법 공유합니다. NullReferenceException: Object reference not set to an instance of an object Creature.UpdateSkill () (at Assets/@Scripts/Controllers/Creature/Creature.cs:199) Monster.UpdateSkill () (at Assets/@Scripts/Controllers/Creature/Monster.cs:126) Creature+<CoUpdateAI>d__85.MoveNext () (at Assets/@Scripts/Controllers/Creature/Creature.cs:161) UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at /Users/bokken/build/output/unity/unity/Runtime/Export/Scripting/Coroutines.cs:17) MonsterData.csv에서 '곰'이 있는 마지막 줄에서 10004를 10001로 수정하시고 다시 ParselExcel 실행하신 뒤 실행하면 정상 동작합니다. 나중에 추가될 애니메이션이 이 시점에는 아직 없는 듯 하네요. 한참 헤매다가 겨우 해결했습니다 ^^;;

  • C#
  • unity
  • MMORPG
빈스 댓글 1 좋아요 1 조회수 435

혹시 DTO에 대해서 설명해 주실수 있나요?

미해결

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

DTO라는 개념이 이후 강의에서도 계속 나오는데, 개념 설명이나 이걸 왜 쓰는지에 대해 자세히 나온게 없는거 같아서 질문드립니다. (물론 제가 못 찾은 거 일수 있습니다. 만약 강의에 있다면 어디쯤에 나오는지만 알려주시면 제가 참고해서 보겠습니다.) 그리고 endpoint(끝점?) 이것도 모르겠습니다... 개념 설명좀 부탁드립니다.

  • C#
  • mvc
  • rest-api
  • 아키텍처
  • mssql
  • ef-core
  • asp.net-core
kbj0619 댓글 3 좋아요 0 조회수 413

14분 20초쯤에 쿼리 새로 만드신거 여쭤봅니다.

미해결

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

새 쿼리 만들어서도 가능하지만, sqlhelper 파일로 데이터베이스 연결이 가능하다는 걸 보여줄려고 그냥 한번 보여주신건가요?

  • C#
  • mvc
  • rest-api
  • 아키텍처
  • mssql
  • ef-core
  • asp.net-core
kbj0619 댓글 1 좋아요 0 조회수 191

BlazroServerMaster를 인식하지 못하고 있는데요.

해결됨

[C#/.NET 8.0]어서와, Blazor Server는 처음이지?

안녕하세요. 좋은 강의 감사드립니다. 섹션1 : "Class 설계 후 Razor 에서 호출!"강의에서 BlazroServerMaster를 인식하지 못하고 있는데요. 수업시간에 설치하는 패키지 4개 다 설치했습니다. ●Microsoft.EntityframeworkCore ●Microsoft.EntityframeworkCore.Design ●Npgsql.EntityFrameworkCore.PostgreSQL ●Npgsql.EntityFrameworkCore.PostgreSQL.Design Windows 11 Pro 64bit VS 2022 .Netframework 8.0.2 PostgreSQL 15 설치되지 않은 라이브러리가 있나요?

  • C#
  • postgresql
  • .net
  • blazor
marine 댓글 1 좋아요 1 조회수 325

마스터 페이지를 쓸려면 폴더 이름을 꼭 Shared로 해야하나요?

미해결

ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0

위에 Home 폴더와 Test뷰는 컨트롤러와 액션 때문에 이름을 딱 맞춰서 한걸로 아는데 Shared폴더와 _Layout 파일은 따로 언급이 없으셔서 여쭤봅니다.

  • C#
  • mvc
  • rest-api
  • 아키텍처
  • mssql
  • ef-core
  • asp.net-core
kbj0619 댓글 1 좋아요 0 조회수 216

원자성

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

안녕하세요. 처음 interlocked 없이 for문을 10,000회로 두고 number를 ++하거나 --했을 때 0 이 잘 출력됐는데, 이 땐 그냥 반복 횟수가 적어서 원자성 문제가 발생되지 않았던 건가요?

  • C#
  • unity
  • 네트워크
최창우 댓글 2 좋아요 0 조회수 372

Activator 질문있습니다

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

안녕하세요, 루키스님 강의 항상 잘 보고있습니다. 항상 감사합니다. 다름이 아니라, 스킬 데이터를 Json 형식으로 저장한 뒤 Dictionary로 파싱하여 저장하고 각 스킬 이름에 해당하는 클래스의 인스턴스를 만들어 저장하는 방식을 사용한 적이 있고, 이번에도 같은 방식을 필요한 상황이 생겼는데(인스턴스를 직접 선언해 저장하는 방식은 노가다라고 생각해서 이렇게 했었습니다) 코드는 아래와 같습니다. 리플렉션으로 스킬 타입을 가져온 뒤, Activator로 인스턴스를 생성했습니다. Type type = Type.GetType(skill.skillName); Skill newSkill = (Skill)Activator.CreateInstance(type); newSkill.skillData = skill; skillDictionary.Add(newSkill.skillData.id, newSkill); 처음 해당 코드를 사용할 때에는 별 생각이 없었는데, 추가적으로 리플렉션에 대해 구글에 검색하다보니 굉장히 다양한 의견들이 있더군요. 성능에 안좋다, 테스트용이다, 빌드 후에는 리플렉션 관련 코드는 사용하지 말아야한다.. 등등 제가 Reflection과 Activator를 사용한 부분은 게임 실행 직후에만 Json으로부터 데이터를 파싱하여 해당 타입의 인스턴스를 만들어 저장하기만 하는데, 그렇더라도 성능에 영향을 미치는지 궁금합니다. 혹은 위와 같이 수많은 데이터를 인스턴스화하고, 초기화 하는 다른 좋은 방법이 있을까요?

  • C#
댓글 1 좋아요 0 조회수 361

Spine animation에서 Sprite Animation으로 변경가능여부

미해결

[켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + C1)

안녕하세요. 루키스님 열심히 강의 따라가며 게임 개발에 매진하고 있습니다. 다름아니라 spine animation말고 sprite animation을 적용해보려고 하는데요. creature.cs 스크립트에서 // Spine SkeletonAnim . skeletonDataAsset = Managers . Resource . Load < SkeletonDataAsset >( CreatureData . SkeletonDataID ); 이렇게 해서 json에서 데이터를 load하잖아요? spine-unity 라이브러리가 별도로 있는 것 같은데, sprite도 이에 상응하는 라이브러리?나 방법이 있을까요?ㅠㅠ sprite자원들이 있는데 이걸 갖고 본 게임 처럼 반영을 하고 싶은데 걸리는게 많네요 ㅠㅠ

  • C#
  • unity
  • MMORPG
AstraEdge 댓글 1 좋아요 0 조회수 426

PacketHandler.cs의 PlayerInfo info 변수 질문

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

PlayerInfo info 변수를 어떻게 쓰는지 모르겠습니다. 밑의 코드에서 쓰이지 않았고 달리 사용하는 부분이 없어보이는데 아니면 위의 코드만으로 변화하는 부분이 있는건지 잘모르겠습니다. 밑의 코드 - 두 번째 주석 밑의 코드들 위의 코드 - 첫 번째 주석 밑의 코드들

  • C#
  • unity
가가가 댓글 1 좋아요 0 조회수 300

인기 태그

인프런 TOP Writers

주간 인기글