Travel 언리얼의 Travel에는 크게 두 가지, Seamless와 non-seamless 방식이 있다. Travel은 쉽게 말해서 한 레벨에서 다른 레벨로 옮겨가는 것이다. 세션형 게임으로 예를 들어보자면, 세션에 접속했을때 로비맵에서 x명의 플레이어가 약 y분동안 대기하고 실제 플레이맵으로 옮겨지는 것이 Travel이다. Seamless Seamless는 원활하다는 뜻으로, non-blocking operation이다. 이름대로 매끄러운, 원활한 이동이며 Transition map이라는 중간에 거쳐가는 맵을 사용한다. 즉, A맵에서 B맵을 로딩할 때 순서는 A -> Transition map -> B가 된다. 왜 이렇게 하는걸까? 만약 로비맵은 엄청 작은 놀이터인데 실제 플레이맵은 거대한 섬이라고..
Unreal Engine
리플렉션 위키피디아에서는 다음과 같이 설명하고 있다. Reflection is the ability of a process to examine, introspect, and modify its own structure and behavior. 런타임에 객체의 타입을 보는 Type Introspection을 포함해 구조와 행동까지 수정하는 것이 Reflection이다. 예를 들어 타입을 알 수 없는 객체가 있고 이 객체에 'doSomething'이라는 메소드가 있을 경우 호출하고 싶다고 하면, 리플렉션을 사용해서 다음과 같이 코드를 작성할 수 있다. // JAVA Method method = foo.getClass().getMethod("doSomething", null); method.invoke(foo..
로컬 네트워크(혹은 사설 네트워크) 로컬 네트워크 또는 사설망은 IPv4 중 특정 대역을 가정, 기업 등의 한정된 공간에서 사용하는 네트워크를 뜻한다. 로컬 네트워크에 소속된 IP는 오직 로컬 네트워크 내에서만 사용이 가능하다. 사진에서의 192.168.1.x가 로컬 IP이다. 라우터(공유기)의 로컬 IP는 192.168.1.1이다. 흔히 보이는 LAN(Local Area Network)게임은 바로 이 로컬 네트워크 내에 있는 PC끼리 플레이할 수 있는 게임이다. 요즘은 같은 로컬 네트워크에 소속되어 있지 않아도 하마치와 같은 가상 로컬 네트워크를 만들어주는 프로그램으로 플레이가 가능하다. 글로벌 네트워크(혹은 공인 네트워크) 사진에서 공유기가 갖고 있는 Public IP Address 202.45.1...
Synchronous (동시성) Session Length (세션 길이) Indie Suitability (인디 적합성) Unreal Support (언리얼 지원) Turn-based X 가변적 훌륭 보통 Real-time session-based O 1시간 이하 좋음 훌륭 MMO Persistent World O 무한 별로 보통 동시성 턴제게임의 턴 기반 동시성은 체스나 보드게임처럼 한 수를 둬야 그 다음 수를 둘 수 있는 개념이다. 비동기식이라고도 한다. 반면에 실시간과 MMO는 모두 동기식이다. 실시간 FPS에서 누군가에게 총을 쏜다면 다른 플레이어가 정확히 같은 시간에 거기 있다는 것을 알아야 한다. 세션 길이 턴제 게임의 세션 길이는 게임 플레이 방식에 따라 가변적이다. 실시간 세션 게임은 플레..