This article will focus on the overview of the inner core of the Unreal Engine. How your code is compiled and executed. How Single and Multi-player works. How OOP is implemented and the basic code structure of the UnrealScript. This will probably be a short article, so let's get to it.
The picture above depicts how clients/ players interact with the game. Whether be it in a single player or a multiplayer gamemode. P1, P2 and P3 represents the players or clients in the network or game. The diagram is still the same in a single player game This is how the Unreal Virtual Machine works. Like Minecraft, Unreal Engine also use a server even in a single player game in the sense that the server manages the event and loading ticks and passes them to the CPU or the rendering engine. Many games made with Unreal Engine has multi-player compatibility in mind. In-fact Epic Games themselves has recommended that if you want to include a Multiplayer mode in your game,you have to write it from the core with multiplayer in mind. You can find it here:http://udn.epicgames.com/Three/NetworkingOverview.html#Implement Networking from the beginning!
Unreal Engine utilizes an approach called "Replication"
This concept is very simple.
A Client will simply tell other clients and the server that something has changed or happened Can either be an event trigger or an asset moving from it's position. As we all know, an online game is a shared reality between clients and servers. And it's the server's task to ensure approximation of reality across the network. Replication is also used to ensure that only the data needed for the current time is to be shared across the network. This will limit the bandwidth needed for clients to send to the server. A multiplayer game uses a UDP protocol for high-speed data transmission across the network for better multiplayer experience. Function Replication happens when U.E checks whether an UnrealScript function needed to be replicated across the network or not. This is usually used for events ( either scripted or not) or any actions of the player that may affect the environment of the game.
Replication is a very complex and may take more time to explain in detail. In case you want to do a reading on it check them here http://udn.epicgames.com/Three/ReplicationHome.html
Unrealscript is the built-in object oriented scripting language used by Unreal Engine. UnrealScripts, like Java, when compiled is converted into bytecode which the Unreal Virtual Machine understands. This ensures that the code can be executed by other platforms like Linux or MacOS as if they were in the same platform. This makes way for a brilliant multi-platform support of your game. Visit the UDN Site for a detailed explanation on this. Unrealscript also fills in where most programming languages miss. Game states, timers, properties and others.
Unreal Engine makes developing games much and much faster. Also making sure that the product can be the best gaming experience the gamers will ever be in. U.E can be used for any types of game you want. No limitations. It also offers easier workflows for better results.