inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

공부 방법에 대해서 질문이 있습니다

미해결

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

안녕하십니까 게임 프로그래머 취업 가이드 영상을 보고 클라이언트쪽만 공부하다가 서버 공부를 시작하려고 하는 대학교 2학년생입니다. 유니티와 언리얼강의 전체를 한번씩 보면서 어떤 느낌인지 파악하고 이해 안되는 강의를 계속 돌려보는 식으로 공부하려고 했습니다. 근데 제가 유니티 c#, 알고리즘, 엔진을 들을때는 괜찮았는데 게임서버 강의를 이제 1번 완강했는데 거의 부분적인 이해만 한것같고 전체의5%정도밖에 이해를 못했습니다.. 이게 다음파트로 넘어가는게 맞을까요? 아니면 이해갈때까지 서버강의를 계속 들어야할까요? 조금이라도 이해가 더 될까봐 한빛아카데미 데이터 통신과 컴퓨터 네트워크 박기현 지음 이 이론책을 같이 보면서 공부중인데 이 두꺼운 이론책을 봐도 이 강의와의 접점을 못찾겠고 봐도 이해가 잘 안가는데 보는게 맞을까요? 아니면 시간낭비일까요..? 강의 듣는 순서도 고민이 됩니다 유니티 강의보다 c++ 강의와 c++ 서버 강의를 듣고 유니티 강의로 넘어오는게 나을까요 아니면 지금 하는대로 유니티먼저듣고 c++강의로 넘어가는게 맞을까요? 중구난방하게 글을 적은 느낌이라 죄송합니다 ㅠㅠ

  • c#
  • unity
  • network
  • 네트워크
  • C#
댓글 1 좋아요 1 조회수 613

현재 방식에서 Addressable로 변경시 로드

미해결

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

안녕하세요. 항상 좋은 강의 감사합니다. 다름이 아니라 현재 resources에서 경로를 통한 로드로 코드를 사용하시는데 만약 에셋번들이나 어드레서블로 변경시 해당 방식을 전부 교채해야 되는건가요..?

  • c#
  • unity
  • C#
New 댓글 1 좋아요 0 조회수 381

강의도중 질문이 있습니다

미해결

유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발

선생님께서는 struct구조로 생성자를 많이 쓰시던데, class로 생성자를 만드는것과 struct로 생성자를 만드는 것이 어떤 차이가 있는지 궁금합니다. 성능상에 차이만 있는건지 제가 알기로는 class로 생성자를 만들면 초기값을 넣을 수 있다고 알고 있습니다. 차이는 그정도일까요??

  • c#
  • C#
  • unity
dodejqn6 댓글 1 좋아요 0 조회수 516

2022 버전을 다운받았는데

미해결

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

새 프로젝트 만들기 누르니 영상처럼 유징 시스템 네임 스페이스 csharp 클래스 프로그램 이런게 전혀 없고 그냥 콘솔 writeline 헬로우월드 한줄만 있네요 디버깅은 되면 문제가 없는걸까요..

  • c#
  • C#
re q 댓글 1 좋아요 0 조회수 1075

강의에 나와있는 2019 버전 16.4.2버전이 존재하지 않아요

미해결

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

그나마 비슷한 16.1.1 버전? 을 다운받았으나 시작할때 .net core 가 없고 프레임워크만 있습니다. 그래서 그냥 어차피 인터페이스 달라지는거 2022 최신버전 설치 하였는데 그대로 진행해도 괜찮을까요?

  • c#
  • C#
re q 댓글 1 좋아요 0 조회수 441

new List 동기화 와 관련하여..

미해결

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

public List<IPacket> PopAll() { List<IPacket> list = new List<IPacket>(); lock(_lock) { ...어떤 처리.. } } 이 함수가 멀티 스레드로 실행 된다고 했을대 list 이 변수는 안에가 list 형태인데 linkedlist 같은것도 스레드 세이프 한건가요? 여러개의 스레드가 linkedlist 를 생성만 한다고 했을때(위의 예시처럼 원소 추가나 조작 없이) 동시에 new 연산이 내부에서 실행 된다 여러개 스레드에서 동시에 힙에 new 연산이 실행될것 같은데(예를 들어 c++ vector<> 같은..) 멀티스레드로 new 연산시 같은 주소에 생성될 일이 발생할 수도 있지 않을까 해서요 질문을 요약하자면 -지역변수에서 힙쪽의 new 를 생성하는게 있다면 그것은 스레드 세이프한가? 라는것이 질문입니다 답변 부탁드려요!

  • c#
  • C#
  • 네트워크
  • network
  • unity
dyl 댓글 1 좋아요 0 조회수 611

질문1. base.Init() 컴파일 에러가 발생합니다

미해결

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

메시지: CS0205 추상 기본 멤버를 호출할 수 없습니다 https://learn.microsoft.com/ko-kr/dotnet/csharp/misc/cs0205 원인 추정: 2023. 01. 05 이후 abstract 메서드 본문을 호출하는 시도를 문법적으로 중단 (abstract 는 메서드 껍데기만 동일하게 가져가는 것을 의도로 할 때만 사용 가능하게끔 하고, base 를 호출하며 사용할 때는 virtual 를 쓰도록 강제로 권장 안 좋은 대안: Start() 실행 순서 관리를 설정에서 직접 관리. '편집 -> 프로젝트 설정 -> 스크립트 실행 순서로 이동하여 스크립트의 실행 순서를 설정' 대체 시도: UI_Base 의 Init() 를 abstract 대신 virtual 로 변경 질문 요지: virtual 로 변경해도 문제가 없을까요?

  • c#
  • C#
  • unity
hy ki 댓글 3 좋아요 0 조회수 773

패킷 노가다작업..

미해결

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

패킷 작업이 노가다 같은데 좀 더 편한 방법 이있나요? protobuf 는 사용법만 좀 보긴 했는데 좀 더 편한가요?

  • c#
  • unity
  • 네트워크
  • C#
  • network
dyl 댓글 1 좋아요 0 조회수 526

collision 발생 조건

미해결

C#과 유니티, 실전 게임으로 제대로 시작하기 (저자 직강)

안녕하세요! 강의 잘 보고 있습니다 다름이 아니라 2.18 적군 구현하기 3 - 플레이어 피격 실습하면서 Enemy gameObject와 Player gameObject를 충돌시키려고 할 때, 두 gameObject 모두 Kinematic일 경우 충돌 이벤트 자체가 발생하지 않더라구요 Rigidbody의 Body Type별로 충돌 이벤트가 다른식으로 발생하는거 같은데, Rigbody의 body type이 왜 둘다 Kinematic이면 충돌이벤트가 발생하지 않는지 Collider와 Rigidbody는 어떤식으로 상호작용하는지 답변이 가능할까요? 강의에서 다루는 내용에서 크게 벗어난다면 키워드만 알려주시면 검색해서 공부해보겠습니다..! 새해 복 많이 받으시고, 즐거운 한 해 되세요!

  • c#
  • C#
  • unity
한건우 댓글 0 좋아요 0 조회수 471

싱글 코어와 멀티 코어에 대해 질문드립니다.

미해결

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

안녕하세요. 싱글 코어와 멀티 코어에 대해 궁금한 점에 대해 질문드립니다. 1.만약 제가 작성한 프로그램에서 멀티 쓰레드를 사용하더라도 사용하는 컴퓨터의 CPU가 싱글 코어 일 경우쓰레드를 사용할 때 컨텍스트 스위칭이 일어나기 떄문에 멀티 쓰레드를 사용하는 건 의미가 없는 게 맞을까요? 2.반대로 멀티 코어인 컴퓨터에 단일 스레드 환경의 프로그램을 만들었을 경우 여러 코어를 사용하는 게 아닌 하나의 코어만 사용하게 되어 CPU의 성능을 제대로 활용 못하는 게 맞을까요? 실제 운영체제 환경에서는 제가 만든 프로그램 외 에도 백그라운드로 실행되는 프로그램들이 있어서 코어 하나만 사용하진 않겠지만 개념적으로 봤을 때 멀티 코어일 때 단일 쓰레드 환경의 프로그램이면 CPU 성능을 제대로 활용 못 하는 게 맞는 건지 궁금합니다.

  • c#
  • C#
  • network
  • 네트워크
  • unity
탐탐 댓글 1 좋아요 1 조회수 1576

A star알고리즘 closed부분

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

여기서 continue; 부분에 브레이크를 걸고 계속 실행시켰는데 멈추지 않습니다 어떤 상황에 걸리는지 모르겠습니다.

  • c#
  • C#
이 동호 댓글 1 좋아요 0 조회수 429

ReadOnlySpan 버전 문제

미해결

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

ReadOnlySpan<byte> s = new ReadOnlySpan<byte>(segment.Array, segment.Offset, segment.Count); 이 질이 오류가 난다고 강의에는 나오는데 유니티 2021.3.4 버전을 쓰고 있는데 오류가 나지않는건 유니티에서 사용하고 있는 C# 버전때문인가요? ReadOnlySpan 은 C# 버전 몇부터 유니티에서 지원하는건지 설명이 잘 안나오는것 같은데 어디서 알수 있을까요?

  • network
  • C#
  • unity
dyl 댓글 2 좋아요 1 조회수 1034

int count

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

안녕하세요 int count를 for문 내부가 아닌 바깥쪽(rand 바로아래)에 선언하면 왜 오버플로 오류가 뜨는지 모르겠습니다. 똑같이 나눠지면 오른쪽으로 뚫리고 그게 아니면 아래로 뚫고나서 1로 초기화가 될거라고 생각을 했는데 도대체 뭐가 문제인지 모르겠습니다.

  • C#
이린개발자 댓글 1 좋아요 0 조회수 585

강의에서 뜨는 에러가 뜨지 않습니다.

미해결

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

강의에선 GenPackets.cs의 Span계열에 오류가 뜨는데 저는 Span계열에 오류가 뜨지 않습니다. 그럴경우 그냥 진행해도 될까요???

  • network
  • unity
  • C#
좋은 캥거루 댓글 2 좋아요 1 조회수 844

패킷 모아보내기 개수와 flushed 개수가 다른데 왜이런걸까요?

미해결

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

상황.1 listen register 는 10, backlog 는 100 으로 해놨고 connector 에서 Connect 할대도 100 으로 해놨습니다 SendBuffer 의 크기는 public static int ChunkSize { get; set; } = 65535 * 100; 이고 RecvBuffer _recvBuffer = new RecvBuffer(65535); 인데 어떤 부분이 문제일까요?.. 원본 jobTimer 코드 까지 실행하면 강의와 결과는 거의 같게 나옵니다만.. 상황 2 위 상황에서 서버 클라가 보내고 받는 데이터가 Hello Server! Hello Server! I am 1 가 되고 서버 클라 간의 패킷 또한 정상적으로 받아지는건 확인했습니다 그런데 리슨서버에서 register = 1, backlog = 1 로 해놓고 더미 클라이언트 쪽에선 Connector 로 2개의 클라가 접속하게 했을때 결과가 아래 처럼 나오고 있습니다, connector.Connect(endPoint, () => { return SessionManager.Instance.Generate(); } , 2 ); 코드를 수기로 처서 그런것 같기도 한데 어떤 부분에 문제를 의심해 볼 수 있을까요?

  • network
  • C#
  • unity
dyl 댓글 1 좋아요 1 조회수 580

(오류정정요청) Awake 설명

미해결

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

강의 타임라인 중 13:55 부터 Awake를 설명하는 부분에서 " 꺼놓은 상태에서 적용되는 애가 더 있어요" "게임 신 현재 들고 있는 컴포넌트를 끈 상태에서도 잘 작동하길 원한다면 Awake로 만드는 것도 하나의 방법이 되겠구요" 라고 언급하고 있습니다. 그런데, Unity Documentation에 따르면 active(켜놓은 상태) 할 때 Awake가 작동된다고 나와있습니다. 실제로 제가 @Scene을 끄고 Awake가 동작하는 지 디버깅을 했을 때 Awake가 호출되지 않았으며 EventSystem Null Reference Error가 로그로 찍혔습니다. 강의에서는 @Scene을 킨 상태에서(체크 박스를 체크한 상태) 테스트를 하고 있기도 합니다. Awake는 active한 상태 + 컴포넌트가 disabled 된 경우일 때 Start와 달리 호출된다고 정정해야 할 것으로 보입니다. https://docs.unity3d.com/ScriptReference/MonoBehaviour.Awake.html

  • C#
  • unity
Jae Young Park 댓글 2 좋아요 7 조회수 844

두번째 강의 의존성주입에서 startup 클래스가 없습니다.

해결됨

14일만에 배우는 ASP.NET CORE

마지막 startup.cs파일에 IUser에 service를 주입 해줘야되는 부분에서 vs2022에서는 해당 파일이 없는데요. 확인부탁드리고 중간중간에 버전차이로 흐름이 끊기는 부분이 있는데요. 신규 버전으로 재업로드가 안될까요?

  • C#
  • .NET
carlos 댓글 2 좋아요 0 조회수 734

프로퍼티 관련 질문입니다

미해결

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

프로퍼티를 사용하는 것과 사용하지 않는 것의 차이점은 조건을 설정할 수 있다와 설정할수 없다 이외에 차이점이 있나요? 그러한 차이점이 없다면 성능상 비효율적인 프로퍼티인 public int Hp { get; set; }; 대신 public int hp; 로 구현하는게 더 효과적일거라고 생각했는데 이때에도 프로퍼티를 사용할만한 이유가 있을까요?

  • C#
박건원 댓글 2 좋아요 0 조회수 428

심리스에 관하여..

미해결

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

11:51 분 심리스관련해서 아이디어가 생각나서 혹시.. 아이디어.1 (가정 : 몬스터라면 애초에 서버에서만 클라로 뿌려주면 되긴 하겠지만, 클라에서 몬스터 정보를 준다 가정할때..) 몬스터, 스킬, 유저, 모든 사물에 잡큐를 하나씩 배치를 해주어서 심리스를 해결한다고 했는데 즉 이 말은 동기화 되야 하는 데이터가 있을때 심리스라서 맵 단위로 잡큐가 존재 할수 없으니 예를 들자면 플레이어가 있고 플레이어 근방에, A 라는 몬스터가 있는데 이 몬스터의 동작을 그 주변에 있는 몬스터들도 알아야 하는 정보라 할때 몬스터의 정보(어떤 변경사항이 있고 다른 유저가 알아야 하는정보)를 서버에 보내고 플레이어 근방에 있는(대략 일정 변경의 반지름 또는 시야에 들어오는 공간분할 처리내에 있는 유저) 정도의 유저들(동기화 대상들)에게만 해당 몬스터 정보를 뿌려주어 해서 몬스터,사물 기반으로 데이터를 전송하는 방식일까요? 아이디어.2 (서버에서 처리 되는 기준) 서버기준으로 , 사물, 몬스터 등에 개별 잡큐가 존재 1. 몬스터가 왔다갔다 하는 동작이 몬스터 개별 잡큐에 넣기만 하고 실행 하진 않는다 2. 플레이어가 몬스터나 사물등 일정 거리 안의 시야뷰에 보인다면 해당 오브젝트 동기화 대상들간의 잡들을 실행 하면서 동기화 처리를 한다 용어는 들어 보긴 했는데 설명을 듣다가 갑자기 생각이 떠올라서 적어 봅니다

  • network
  • unity
  • C#
dyl 댓글 1 좋아요 0 조회수 596

Awake 함수에 대해서

해결됨

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

유니티 강의에서 씬 매니저 부분을 듣다가 질문이 생겨서 드립니다 게임 오브젝트 @Scene에 들어있는 스크립트는 GameScene 이고, GameScene은 BaseScene 을 상속받고 있고, BaseScene 은 이러한데, 이 상태에서 유니티를 실행하면 이렇게 표시 됩니다. GameScene 은 BaseScene 을 상속받고 있기는 하지만, BaseScene은 게임 오브젝트내(Hierachy) 에 존재하지 않은데, BaseScene 에서 Start 함수는 실행되지 않으면서, Awake 함수는 어떻게 실행되는건지 설명해주시면 감사하겠습니다

  • C#
  • unity
kimj90703 댓글 1 좋아요 0 조회수 710

인기 태그

인프런 TOP Writers

주간 인기글