Monday, November 9, 2009

Unreal Development Kit (UDK) Stripped Down

So recently Epic released their Unreal Development Kit (UDK), which allows anyone to develop standalone games using Epic's Unreal Engine 3. (which is, dare I say, epic!)

For a project I am working on, I needed to strip down the UDK to its bare minimum, removing all of the Unreal Tournament related content that shipped with it.

I've also seen a few discussions about this and talked to a few people irl and they need to remove all of the extra UT stuff shipped with the UDK as well... so I figured I might as well share this if anyone needs it.

I've deleted lots of content, went through each config file line by line removing all ut package references... and well, I was left with a Content folder weighing in at about 2.5MB (2.2MB being UI_Fonts_Final.upk, .3MB being an empty room)

After a few late hours, I've managed to have a working* standalone...

I'm not sure about the legality of posting this here as none of the base engine files are changed in any way but I do have 1 Epic UT script, that being UTGame.UTCharInfo. There is also the default movies and splash that ships with the UDK as well.

I will be updating my blog post with more info as I do more research/toying around.

After a few hours into the night, this is what I have came up with. http://www.forecourse.com/UDKGame.zip

I ripped out everything out of UTGame and UTGameContent, except for UTGame.UTCharInfo, as for some reason the unreal binaries are dependent on this? I still have yet to figure this one out.

There is -nothing- except the base engine code, UTCharInfo, and some modified config files in this package.

Using it is easy: 1. Install a copy of UDK. 2. Delete the Development/UTGame folders. 3. Unzip my package into the UDK directory. 4. Use the Unreal Frontend to launch the editor/game.

Note: The first time you run the editor or try cooking, it may appear to hang/stall and generally take a very long time. UDK has to recompile the shaders it uses, but it only has to do this once when loading the editor and then it has to cook once more.

If you have any questions/comments/etc, feel free to reply here or my email, or however.

DOWNLOAD: http://www.forecourse.com/UDKGame.zip

19 comments:

  1. UTGame.UTCharInfo, I believe, is marked 'native', meaning the engine actually has a native implementation of it, and requires the UnrealScript side of the partial implementation to exist. Epic would need to re-compile the binary to break this linkage.

    ReplyDelete
  2. Hi

    How Can I Compile my Scripts

    Thanks

    ReplyDelete
  3. Excellent work, this will help a great deal! Do you know what sort of stuff i'd have to do to implement a basic player movement system from the original UDK, i needed to get rid of everything except for that system.

    Thanks,
    Gatts

    ReplyDelete
  4. Original UtGame Content works and finishes with compiling shaders on 64 bit win 7 but your stripped does not. After shader compilation it throws ecxeption in exe.

    Checked on win XP 32 bit and it goes well. Please fix for 64 bit version. As stated above original UtGame works and compiles fine. My Net framework is just fine.



    Log: === Critical error: ===
    Fatal error!

    System.FormatException error in mscorlib:

    String was not recognized as a valid DateTime.

    at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
    at System.Convert.ToDateTime(String value, IFormatProvider provider)
    at FGameAssetDatabase.GetJournalAlarmTime()
    at FGameAssetDatabase.CheckJournalAlarm()
    at GuardedMain(Char* , HINSTANCE__* , HINSTANCE__* , Int32 )
    at ManagedGuardedMain(Char* CmdLine, HINSTANCE__* hInInstance, HINSTANCE__* hPrevInstance, Int32 nCmdShow)Address = 0x768eb727 (filename not found) [in C:Windowssyswow64KERNELBASE.dll]
    Address = 0x723ebb1c (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x723eea1a (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x4c99aca (filename not found)
    Address = 0x147c3c0 (filename not found) [in P:UDKUDK-2009-11BinariesWin32UDK.exe]
    Address = 0x15ec007 (filename not found) [in P:UDKUDK-2009-11BinariesWin32UDK.exe]
    Address = 0x72371b6c (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x72371b6c (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x72382209 (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x72396511 (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x72396544 (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x72396562 (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x724385bc (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x72400b65 (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x724010b5 (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x7240129f (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x724011cf (filename not found) [in C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorwks.dll]
    Address = 0x72937c24 (filename not found) [in C:WindowsSYSTEM32MSCOREE.DLL]
    Address = 0x76ef3677 (filename not found) [in C:Windowssyswow64KERNEL32.dll]
    Address = 0x774a9d72 (filename not found) [in C:WindowsSysWOW64ntdll.dll]
    Address = 0x774a9d45 (filename not found) [in C:WindowsSysWOW64ntdll.dll]
    Address = 0x774a9d45 (filename not found) [in C:WindowsSysWOW64ntdll.dll]

    Exit: Executing UObject::StaticShutdownAfterError
    Exit: Executing UWindowsClient::ShutdownAfterError
    Exit: Executing UWindowsClient::ShutdownAfterError
    Exit: UXAudio2Device::ShutdownAfterError
    Log: Shutting down FaceFX...
    Log: FaceFX shutdown.
    Exit: Exiting.
    Log: Log file closed, 11/12/09

    ReplyDelete
  5. Hi man,

    When i use frontend to Full Recompile, i get the error:

    Error, Could not load existing package file '....UTGameScriptCore.u'. Check the log file for more information.

    But the file is there...what i have to do?

    ReplyDelete
  6. Sorry, the problem is that i have the editor openned.
    No more problem, full recompile sucefully.

    ReplyDelete
  7. Woah, thats really weird. I am using Windows 7 64-bit to make this stripped version... I'll look ito it.

    ReplyDelete
  8. Sorry, not at the moment. As soon as I do I'll shoot you an email.

    ReplyDelete
  9. looks like the latest udk beta 3 doesn't require UTGame.UTCharInfo anymore :)

    ReplyDelete


  10. Razvan:

    <!-- google_ad_section_start -->looks like the latest udk beta 3 doesn’t require UTGame.UTCharInfo anymore <!-- google_ad_section_end -->
    yes it does... damn it

    ReplyDelete
  11. Hi!

    After following the steps mentionned above and starting the editor in frontend, i get the following warnings on the March SDK...

    Warning, Failed to load 'Class UTEditor.UTEditorEngine': Failed to find object 'Class UTEditor.UTEditorEngine'
    Warning, Failed to find object 'Class UTEditor.UTEditorEngine'

    What could be the issue here?

    ReplyDelete
  12. Yeah, don't use my stripped down version. :D. This was posted a long long time ago, and has not been updated to any recent build. If by popular demand this is needed again, I will redo this, but for now this is only for reference. The UDK Tutorials page covers how to get started on a project ultimately with not basing any code off of UT, but whether thats useful to you or not will remain to be seen.

    ReplyDelete
  13. ok thank you. I will follow the tutorial that you've just mentionned. :-)

    thnaks

    ReplyDelete
  14. I would very much like this for the newer version, I am making something from scratch and would much rather have it setup like this. Thank you much,
    Tom

    ReplyDelete
  15. How to Compile my bare project with UDK frontend

    ReplyDelete
  16. I am also for this! I want to get creating from scratch but I would like to use the september build that was recently released. If you have any time at all I would greatly appreciate a new stripped down version of UDK!

    ReplyDelete
  17. Hey.

    Do you keep this file up to date with new UDK releases?

    ReplyDelete
  18. Yeah I would like to know that as well - if you keep them up2date - and if this version is already for the March 2011 release.

    Thanks

    ReplyDelete