Announcement

Collapse
No announcement yet.

UDKNewGame Utility

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    UDKNewGame Utility

    APRIL BETA WARNING: The UDKNewGame Utility has not been tested with the April beta and might brake something for you. The transfer project option will mess your project up because it is dependent on the UTGame folder existing and the moved everything to UDKGame now. The update will be released soon, so either stick with March beta or just go to April manually. Oh and by soon I mean this weekend or mon/tue next week, depending when I finish my school- and homework

    Update 5: Ok first of all I need to say thank you to Rachel Cordone for letting me use her UDK Transfer Script.
    So here is the change log for the new version:
    Code:
    -Added the shortcut question
    -Included Rachel's UDK Transfer Utility + modified it + made it usable through the gui making it easier to use for beginners (edit the bat and extend the call from c# + fix the map delete functions in the c#) - this functionality will be moved to native code later, thnx to Rachel for letting me use her script for now
    -fixed some minor bugs and improved gui in some places
    -added a how to for the Transfer function coz it was confusing the test 
     subjects
    -WARNING: the utility has the extensive required fields check, but it only 
     checks if there was a value given to a property and not if the value is 
     actually valid
    The new feature is the Transfer project utility that is enabling you to transfer your project from an older version of the UDK to a newer one.
    Please report the bugs if you notice them.
    Oh btw, sorry that it took me so long to post this, the code was actually finished on friday but then I spent 12 hours yesterday traveling to holiday, now I'm gonna spend even less time on this, but I'll find some time to add bits and pieces to it and then finally finish the mod manager and integrate the transfer project utility in the code so that it doesn't execute the script and makes it a bit faster and look nicer.

    Warning: If you decide to remove the tick from the checkbox about including UDK assets in the advanced mode your new game and editor won't work OOB. This is because there are references to a lot of UDK assets in the default UnrealScript that comes with UDK. So in order for this to work, you will need to fix the UC files your files yourself, the utility will not do that for you. There is a reason why this is in the Advanced mode and why it's not available in the basic mode of the utility. I will eventually change the way this works but for now, I don't have time or will to work on that part of the app, coz it would require me to completely go over a huge chuck of code again and fix a lot of it. (I am doing it bit by bit for now, but I wouldn't count on it to be fixed soon).

    Sir. Polaris this is in C# so if you want to help me with this you can, basically the only thing that needs fixing is the no asset function for now.

    UPDATED 4: OK, so here is a new update, this one brings some news too
    First the changelog:
    Code:
    -Added more options to extend for GameClass (Took stuff from UnCodeX, 
     dunno if I should give the possibility to extend from UTCFTGame_Content 
     and UTVehicleCTFGame_Content and UTEntryGame?? )
    -The no asset option is being moved to the advanced mode
    -Advanced mode added (still a bit buggy with some functions like the no 
     asset option but will get better over time)
    -Started working on the mod manager stuff / still not showing in UI
    -Added a extends textbox for the ServerClass
    -Added the actual code to the controls in the advanced view
    -Added a bunch of features to the utility
    -Added a dummy help file (if you want help to work for this you have to be 
     online, but a good thing is I don't have to update the app to update the 
     help file)(real help stuff will be added over time, I need to see what do you 
     guys need in the help besides the basic step by step tutorial)
    -Added help and about tabs
    -Taking new utility name ideas
    -Optimized the code a bit, making it copy files and run scripts faster / 
     launching UDK for the script compile still takes long need to see what else 
     can be optimized but as of now the script compile time is reduced to a 
     couple of seconds and you should have a nice black and white cmd with one 
     green line if using basic mode, advanced mode, especially with no asset 
     function on will cause a lot of yellow lines (warnings)
    -The default checkboxes are here but they don't do anything for now 
     (basically if you uncheck them and then u can set your custom classes for 
     whatever and the new uc file will be created and the reference to them will 
     be made in the DefaultGameClass but if you just leave them as default 
     nothing will happen (like that part of the code will be completely ignored)
    -Fixed the editor shortcut being miss-generated
    -Basic mode now has full planed functionality and will probably no longer be 
     updated, only the advanced mode from now on
    -Advanced mode needs a lot of testing and feeadback (don't have time to do 
     it myself)
    So as you can see in the changelog there has been a lot of things added. This is a lot of work for me so for now I'm putting this project on standby. I'll w8 a bit and would like some community feedback on this. If I don't see the community showing any interest in this I will seize development completely.
    Second thing is that I would need you ppl who can debug their own UDK and solve simple problems and also identify them properly to let me know how the advanced mode is doing so that I can maybe fix that there.
    Third, I'll write a small help file for the Utility which will be uploaded soon. I will only write up a help file for the basic mode to get ya started, I believe that people who are going to be using the advance mode already know what they are doing and just want to save time
    @Blade[UG] I have added the class generation and setting up the ini files and everything in the advanced mode, so can u check if that works how you wanted it or not, and if not can u tell me where did I miss-understand.

    Note to self: Clean up this post :P

    UPDATED 3: New update, this one added some more functionality and fixed errors.
    Code:
    -Fixed some more bugs in no asset copy
    -Added finished notification
    -Added shortcuts generation for new game
    -Now the app runs the new udk.exe and regenerates the scripts
    -Cleaned up some rubbish code
    UPDATED 2: K, a new update, this patch brings a fully functional XP versions in which all of the bugs should have been purged. The following changes were made:
    Code:
    -Completelly purged the XP errors
    -Added an error msg that pops out if the Game Name or Path are not defined 
     (used to just crash the app before)
    -Removed old Shell32 reference that was used for browsing folders before
    -Added refference to System.Windows.Forms and switched to 
     FolderBrowserDialog function
    -Cleaned up the code a bit for faster execution
    Do you guys think the utility needs an option to define where u want the new game project to be created so that you could choose a base from another harddrive or create a new project on another harddrive (current functionality just takes the UDK base path and removes everything after the last \ and basically just creating the new folder in the parent of your udk base folder)

    UPDATED: Ok, I updated the utility, you can either just run the installed app and accept the update or just reinstall it using the website whatever you like. The changes are as follow:
    Code:
    -Fixed XP error, the app will now run on XP without problems
    -Changed the whole UI
    -Added the extends functionality for GameType
    -Use UDK Assets checked by default
    -The utility is now writing the basic stuff in to the custom classes (have to extend on this a bit) (Basically just adds class ClassName  
     extends Whatever; and DefaultProperties { } )(For now the ServerClass just extends Actor so you have to change that yourself, and the 
     GameClass extends Whatever where Whatever is what you select in a dropbox)
    -Added indication for no asset copy when the UI appeared to be frozen
    -Added the creation of DefaultServerGameClass.uc in the Development\Src\GameName\ if DefaultServerGameClass differs from  
     DefaultGameClass (Which is also controlled through radiobuttons now)
    -Started working on some advanced features and the mod manager aspect 
     of the Utility
    Stay tuned for more updates

    Some of the members on this forum thought this was a good idea and since I had a bit of free time (read was sick and didn't have a lot of school work to do :P ) I wrote this small utility. What it actually does it picks up the files from a "base" udk folder, makes a new one, copies the files, makes a couple of folders, and edit's the ini files (Only the DefaultEngine and DefaultGame for now).

    I'll put up some screen shoots a bit later but for now here are the general instructions on how to install and use this utility:
    1.) Go to http://lan51.com/UDKNewGame/install.htm
    2.) Install the app (Uses the Click-once thingy so this part is really easy :P )
    3.) The app should create a shortcut on your desktop but if it doesn't you will find it in your startmenu
    4.) Run the app, and get started
    5.) Fill in your new game/project name in the first text field
    6.) Press the ... button next to the second text filed and select your "base" UDK directory (Now this is where you installed your UDK, for example if you didn't change anything when you installed this should be "C:\UDK\UDK-2010-03 (or whatever year-month install you have) as that's where the files are going to be copied.
    7.) Now there is a check box that asks you do you wish to use the default UDK assets or not. Use this with caution as it hasn't been tested much, and I had it working on 2 pc's but it didn't work on 3 others (would be great if ppl who knew what they were doing could try without checking the checkbox and letting me know if it works for them or not). So if you should tick this box (maybe I'll set it as checked by default in the next version).
    8.) After that there are 2 more text boxes, Default game class and Default server game class (these can be the same or different, depends on what you wanna do). Both values are going to be used edit the DefaultGame.ini file so that you don't have to :P
    9.) Hit Make game button and w8 for the copy window to close. Note that when using the option without the UDK assets the copy window will close after some time, the app will appear to be frozen for some time (it has to copy around 150MB of files and i don't have the copy window appear for that, and then when that's done the copy window will reappear).
    10.) Now you should be all set, with a fresh folder in root of your UDK base (so in the example that would be in C:\UDK\YourGameName\) and the basic ini setup configured. You will also have a C:\UDK\YourGameName\Development\src\YourGameName\C lasses\YourDefaultGameClass.uc and C:\UDK\YourGameName\UTGame\Content\YourGameName folders.

    Hope you guys like this.

    Please post any suggestions to what needs to be changed and added, and I'll work on it whenever I have time. The app autoupdates on runtime so every time you run it, so when there is a newer version available you will have it.

    Enjoy making games a bit easier than before

    P.S.: Special thanks to Epic for the UDK without which this app would have no point, and I wouldn't have anything to do today

    #2
    might want to make it build empty classes extending all the classes that are referenced in the INI files, too ..

    Comment


      #3
      Aww it didn't work for me. the program crashes on startup. I really wanted to know how it worked and see if I could replicate it manualy, could you explain what it does?

      also, installers and desktop/startup icons are kind of cumbersom, is it possible to release a portable version(packed in a zip, with no installer)? This sounds like a great tool! thank you!

      Sorry if I ask for too much Great work!

      Comment


        #4
        If you really want to flush this out, just make it a text file generator but allow it to become a "mod" manager of sorts. Allow people to be able to change via a applet what should be linked or what mod set should be running then change the ini and folders accordingly.

        If you make it in C# I could help you out in the next few days.

        Comment


          #5
          I think this is a great idea....but I agree that it would be very cool if it created the classes as well.

          Comment


            #6
            Originally posted by Sir. Polaris View Post
            If you really want to flush this out, just make it a text file generator but allow it to become a "mod" manager of sorts. Allow people to be able to change via a applet what should be linked or what mod set should be running then change the ini and folders accordingly.

            If you make it in C# I could help you out in the next few days.
            Yeah I guess I'll make that later, need to make sure the basic options work properly first :P , but the original idea was that it just creates a whole new game for you so that it would save time (that was jpb's idea). I plan on extending this later, making it possible to move from older to a newer release and also to make it the mod manager, so that you can change the default run parameters from it just like you suggested. But I'll see. It is in C# so yeah if I get stuck, I'm glad that there is someone I can ask for help

            Originally posted by Shelke View Post
            also, installers and desktop/startup icons are kind of cumbersom, is it possible to release a portable version(packed in a zip, with no installer)? This sounds like a great tool! thank you!
            Yeah I'll see what I can do, I wanted it to be Click-Once managed, coz then it checks for updates on every run and everybody has the latest version then. What error do u get exactly?

            Originally posted by Blade[UG] View Post
            might want to make it build empty classes extending all the classes that are referenced in the INI files, too ..
            I'm not sure I understand you with this one :P . Can u explain to me what exactly do u want it do? For now it just generates an empty DefaultGameClass.uc in your dev folder (I guess I can make it extend whatever you choose in a dropbox or sth), and in the version I'm just editing I also made it create the DefaultServerClass.uc if the DefaultServerClass != DefaultGameClass. I like the idea, but I'm not totally sure I get it

            Comment


              #7
              Well, other things that someone are going to want to extend if they are going to create their game from scratch ... things that are brought up from the ini files..

              (also, as i'm looking at ini files, you may want to include an "empty room" map to be used for "TransitionMap", as well as an "empty room" map with a kismet entry to open a menu, as well as a default do-very-little menu to use as Map/LocalMap .. although some people might not want a menu as their first thing.. but they can figure that out on their own, i'd guess)

              Code:
              [Engine.Engine]
              ConsoleClassName=UTGame.UTConsole
              EditorEngine=UTEditor.UTEditorEngine
              UnrealEdEngine=UTEditor.UTUnrealEdEngine
              DefaultOnlineSubsystemName=OnlineSubsystemPC.OnlineSubsystemPC
              ScoutClassName=UTGame.UTScout
              GameViewportClientClassName=UTGame.UTGameViewportClient
              DefaultPostProcessName=FX_HitEffects.UTPostProcess
              TinyFontName=EngineFonts.TinyFont
              MediumFontName=MultiFont'UI_Fonts_Final.HUD.MF_Medium'
              LargeFontName=MultiFont'UI_Fonts_Final.HUD..MF_Large'
              SubtitleFontName=MultiFont'UI_Fonts_Final.HUD.MF_Medium'
              Code:
              [Engine.GameInfo]
              DefaultGame=DS.DSGame
              DefaultServerGame=DS.DSGame
              PlayerControllerClassName=DS.DSPlayerController

              [this was from December, my last full UDK install, so forgive if some of those things aren't right anymore]

              Comment


                #8
                @jpb and Shelke
                did u guys just go to the website and press launch or did u press install and ran setup.exe, this click-once seams to be buggy and if i don't press install and run setup.exe the app seams to crash (might be sth with my webserver setup, will look in to it)

                Comment


                  #9
                  I downloaded it, then ran it. once it finished installing the setup crashed. but the program installed correctly. I ran it form the start menu and I got the same window as jpb, nothing specific. I have windows installer and .net up to date from what I've seen.

                  Comment


                    #10
                    Can I assume you guys are running this on XP (and if yes, which SP?) ?? I think it won't work, I'll fix it, some of the code in the app is vista/7 specific that's probably why it crashes.

                    Comment


                      #11
                      no, it's ok, i remembered that the project is wpf based, but if you have sp3 it should be working, i'll check it out on my xp machine here to see if it works or not, and try to debug it

                      Comment


                        #12
                        thank you very much for this
                        but it dont work for me
                        it opens ok but crashes when i click the new game button

                        if i chose a directory that isnt the base it copies a load of files, sorry i stopped it half way through so i cant tell you what it copied
                        i can let it finish if you want to know
                        i assume you mean UDK/UDK-2010-03/Development/Src/UDKBase/
                        tried it with and without Classes

                        windows 7 x64

                        Comment


                          #13
                          Originally posted by tegleg View Post
                          thank you very much for this
                          but it dont work for me
                          it opens ok but crashes when i click the new game button

                          if i chose a directory that isnt the base it copies a load of files, sorry i stopped it half way through so i cant tell you what it copied
                          i can let it finish if you want to know
                          i assume you mean UDK/UDK-2010-03/Development/Src/UDKBase/
                          tried it with and without Classes

                          windows 7 x64
                          No in this case your Base directory is UDK\UDK-2010-03\ (when i say base i mean a fresh installation of UDK coz your will be reusing these files in your new game), the reason it crashes for you when u select UDK\UDK-2010-03\Development\Src\UDKBase\ is that the files it's looking for are not there and that it's copying to a wrong folder so yeah, just try with UDK\UDK-2010-03\ and let me know if it works

                          Can other ppl who managed to get the program to run tell me what os are they on?

                          @jpb and Shelke
                          Can u please look in your event viewer and just look up the exact error the app logs, so that i can see what is wrong with it, coz i can't trace where the error is coming from the code, i checked up for the WPF compatibility and everything, didn't really found anything, like if it runs on Vista/7 it will run on XP SP2 or greater as far as the WPF goes, i think it could have sth to do with my shell32 interop reference, but i'll see if i can drop that since i'm using the MS.VB support for file copy progress and canceling. And I'll try to use sth else for the folder picker (that's like the only thing i believe could be causing this problem but i'm not sure)

                          @jpb
                          the app is not by design limited to any os, so don't worry about that (i just reread your post up there )

                          Comment


                            #14
                            Sadly the logs have nothing related to your application Nemesis. I hope testing this app dosn't crash my comp >.< its been 49 days since I last restarted and I don't want to start now :|

                            Comment


                              #15
                              has nothing to do with scripting, but no biggie. I just set up xp mode on my laptop and i got the same error, the Event Viewer just reports it as a .Net Framework crash, so I'm looking in to it now.

                              Comment

                              Working...
                              X