관리

    세션의 생성과 관리

    세션이란, 멀티 player 게임의 1 개의 인스턴스이다. 1 개의 세션에는 동시에 플레이 하는 복수의 사용자가 존재해, 각각이 자신의 컴퓨터상에 게임 클라이언트를 가지고 있다. player란, 게임안의 엔티티여, 각 게임에서 정의한다. 각 사용자가, 1 개의 게임에 복수의player를 가지는 경우도 있다. 다만, 게임 애플리케이션은, 개별의 Microsoft® DirectPlay® 인터페이스 또는 각 player의 개체를 사용해, 이러한 player를 애플리케이션 자신으로 관리해야 한다. 세션 생성의 최초의 순서는, 사용자 그룹의 수집이다. 이 때문에는, 2 개의 기본적 방법이 있다. 많은 게임 세션은, 리모트 컴퓨터로 실행되는로비 애플리케이션에 의해 준비된다. 이 방법은, 많은 인터넷 베이스의 게임에..

    [Unreal] 메모리 관리

    메모리 관리는 안정성이 높고 버그가 없는 프로그램을 작성하는 과정에서 늘 중요한 주제다. dangling pointer는 이미 메모리에서 지워진 대상을 참조하는 포인터이며, 추적하기 어려운 버그를 만드는 대표적인 사례다. UE4의 UObject 참조 카운팅 시스템은 UObject 클래스로부터 파생된 액터와 클래스의 메모리를 관리하는 기본적인 수단으로, 이를 통해 UE4 프로그램 내에서 메모리가 관리된다. 만약 UObject에서 파생하지 않은 C++ 클래스를 작성한다면 TSharedPtr/TWeakPtr 를 사용하면 된다. 이번 글에선 메모리 관리와 코드 디버깅 방법을 설명한다. 메모리 관리 기능의 도움을 받으면 메모리 해제를 잊는 실수를 걱정하지 않아도 된다. 메모리 관리를 하는 프로그램에서는 동적으로 ..

    [Unity] 폴더 관리

    유니티 폴더 관리 규칙 Plugins, Editor, Resources 는 유니티에서 정해논 기능이 있으므로 다른 용도로 사용할수 없으며, Assets/Scripts/Editor 와 같은 경우로도 사용해서는 안된다. 또한 자동으로 생성된 Editor,Plugins 폴더를 삭제 해서는 안된다. #1 Unity 폴더 관리 (tistory.com)

    [C#] 관리되는, 관리 되지 않는 코드

    관리되는 코드 .NET CIL로 작성하고 컴파일 하는 .NET상의 코드 - GC 메모리 관리가 된다. 관리되지 않는 코드 기계 코드를 직접 컴파일 하도록 컴파일되는 .NET에 없는 코드 - GC 메모리 관리가 안된다. ex) 윈도우 시스템 자원 IntPtr - 인터포인터 관리되지 않는 메모리 블록에 대한 포인터 정수형 포인터를 의미하는 값 형식의 타입 포인터는 메모리 주소값을 보관하는 곳 IntPtr타입은 메모리 주소를 가리키는것 외에 윈도우 OS의 핸들값을 보관하는 용도로 쓰인다. 핸들은 윈도우 OS가 특정 자원에 대한 식별자로서 보관하는 값인데 일례로 파일이 좋은예다. 파일처리, OS에서 제공되는것 처리를 할때 사용된다. ex) 이미지 처리에서도 쓰인다. Marshal Class - 마샬 관리되지 않..