Wednesday 2 December 2009

UDK Investigations: Initial Results

Acknowledgement to Epic Games and their UDK. Picture is their Copyright.

As I mentioned in my Diary entry for the 13th November I have been involved with a small team of seven developers to establish whether the Unreal Development Kit (UDK) can be successfully used as a platform for creating standalone virtual worlds as opposed to just game modding.

With this purpose in mind, we started off by defining what users would normally expect from a Virtual World, then we investigated those definitions to see if the UDK supported them or not, then formulated tests to demonstrate compliance.

The definitions we used were that a Virtual World should be a virtual space, that is persistent, and where its residents can:

  • Change their environment, either with inworld or offworld building tools
  • Change their appearance, in terms of shape, skin, hair and clothing
  • Teleport from one area, or one zone, to another
  • Communicate with Chat, IMs, VoIP, Friending and Friends List
  • Fly, run, walk, jump in a smooth and intuitive manner
  • Have an economy, where virtual goods may be bought, sold and traded
I believe those are the 'core' functions of any virtual world that hopes to be successful, and it is these core functions that need to verified and validated to determine if the UDK can indeed be used to create Virtual Worlds.

Each of the developers took on an area from the above list to investigate, and the initial results are now in.

Building Tools
The UDK has no provision for inworld building (like SL), and objects are built offworld in 3d apps then uploaded. We are currently looking at a hybrid approach where there will be a low-def building toolbox within the world, using primitives similar to SL, but with the prim set extended, and with the ability to import far more detailed meshes from external 3d apps. We are encouraged by the amazing work of Gary's Mod.

Avatar Appearance
I don't think I have seen anything better than the one in APB, a game built on the Unreal Engine. It just shows what is possible with this awesome engine.




















Teleporting
We now know that a teleport system is available in the UDK, as a good example of this is in the "DM-Deck" map, where you can teleport from a low ground position to a high platform.


We will start looking at maintaining avatar appearance and inventory across teleports next.

Communications and Friending
Only basic console chat is available in the UDK. In UT3 and other Unreal games, VoIP, chat, IMs, Friending etc, was achieved by their tie-up with GameSpy, which became an integrated partner. Alternatives to GameSpy, such as Raptr, and Xfire are being investigated, but also possibly an in-house solution. At the very least, Skype could be used.

Movement
Walking, running and jumping are all included in the UDK, and the controls are what users of games expect. There is no native support for flying (as in SL) so this will need to be coded.

Economy
There is no provision in the UDK for an inworld economy, so offworld economy models are currently being researched (similar to XStreetSL). Inworld, money can be treated as just another inventory item, and be earned, paid, spent etc as normal. If the 'rezzing' of objects inworld can be solved, then inworld stores would be feasible.

Rock