Announcement

Collapse
No announcement yet.

Making your game moddable.

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

    Sigh, love everything else about this engine to abandon it and this simply does need to be done. let's get a Discord going or something then.

    I'm adept at C++/UE4 and could probably hack this together without outside help, but it's best we all discuss an architecture design and split up some of the work instead of going down different roads to the same place. Best we build some empty reference/skeleton project (with a fork for potential engine modifications we can pull request to Epic master) that does this.

    Comment


      It would seem they would still need UE4, but you could provide a 'base' set of your mapping stuff, all the items to put in a map, all the special spawn points you make, pickups, whatever. Question is, can UE4 then read an external map like that? Or if they add their own meshes, don't those get compiled into 'the game' and thus would actually not be available to the real game they are mapping for? Or does UE4 store those WITH the map, or in the map?
      Acclivity Game Studios. Making a BP FPS, Tutorial Series on Blog : On Unreal Wiki : Twitch

      Comment


        My understanding is everything is found through the asset registry. So the pak file would include their map, and any meshes etc. they add all as separate files in there. Then at runtime, if it needs to add some actor from your main module, say /Game/BP_SomeSpawn it finds it dynamically.

        So yea, a moddable game is going to need the UE4 editor (making your own editor is silly), but if done right they should be able to load your game code through DLL (e.g. without source) and be able to experiment live in PIE, and any art assets you provide in the content folder are available for use. I don't think the asset store license grants use of models in editor form (even in a "binary" format) so some care has to be used there.

        Now just because it is possible to have this system from an information theory standpoint, doesn't mean the functionality to do so is implemented fully and/or straightforward, hence why we're all in this mess together. You would think with the premier game for this engine (Tournament) being an FPS it would be easily done and fully documented, such as we see with the Quake engines.

        Ark has obviously done it with closed source, but their methodology is not publicly available. It's unclear if UT has the "no release source" model for mods, but I don't believe so as the game is fully open source? There's the skeleton mod which uses hooks, but isn't everything we're shooting for and not too fun for modders to work with. The hook system is good for gameplay variations (such as loadouts) but not really for spawning our objects in maps.

        We need skeleton with this model:

        Originally posted by zerosum0x0 View Post
        I am specifically interested in some type of example C++ project that allows 3rd party map creation, using the project's custom actors/components to be placed into the map, without giving up the whole source code (an anti-cheat and copyright mess, especially with marketplace assets).

        And then, allowing the client to download map files during the level load phase (i.e. FPS server changing maps, and client doesn't have the one in the rotation).

        Theoretically this should all be possible with the objects I want to expose in a separate plugin, and only giving out header files and/or debug DLLs?
        And we have to build it ourselves, because the boat hasn't moved in 3 years.
        Last edited by zerosum0x0; 10-07-2017, 04:48 AM.

        Comment


          So do you believe we need to clone the whole engine source and have that as a base to work with? Due to their own rules that can not be public ally available right? Or could it be done without the engine source you think?
          Acclivity Game Studios. Making a BP FPS, Tutorial Series on Blog : On Unreal Wiki : Twitch

          Comment


            Originally posted by arbopa View Post
            So do you believe we need to clone the whole engine source and have that as a base to work with? Due to their own rules that can not be public ally available right? Or could it be done without the engine source you think?
            I don't think it can be done properly without modifications to the editor. There are also many projects around that require modifications for other reasons and thus would not work with the launcher version of the engine.

            So while we might figure out how to build the mod framework, if epic stays completely unwilling to cooperate we would get stuck on distributing it to modders without breaking the license agreement.

            Comment


              So I guess 4.18 didn't make any difference in this area ?
              ArtStation

              General Development Blog

              Comment


                Originally posted by TAN_ View Post
                So I guess 4.18 didn't make any difference in this area ?
                There were some commits that mentioned a Mods folder, but I haven't check what they're about.

                Comment


                  Originally posted by Zeblote View Post

                  There were some commits that mentioned a Mods folder, but I haven't check what they're about.
                  OK. Will be waiting to hear from you then
                  ArtStation

                  General Development Blog

                  Comment


                    Sorry for the double post. But I guess no developmens in this are still ?
                    ArtStation

                    General Development Blog

                    Comment


                      Hi,

                      Any news regarding the reusable framework for making UE4 games moddable?

                      Pandora Entertainment
                      github.com/PandoraEntertainment
                      [PLUGIN][FREE] AdColony, AppLovin, Chartboost, UnityAds, Vungle, Sharing, OneSignal, Facebook, Everyplay.

                      Comment


                        I'm also trying to find out just what the approach is for modding, and what is and isn't possible. Without having to use C++ or with, though I would prefer to use blueprints if possible. There is NOT enough documentation for this.

                        Comment


                          Smogworks made a great ModSkeleton project that I've forked here and updated to (mostly) work with 4.18: https://github.com/calben/ModSkeleton
                          Right now with Unreal Engine 4.18 I'm not able to generate valid pak files, but I hope I'll get some help figuring out why this is pretty soon.

                          Easier modding is now a problem I need to solve at work, so I'm going to be looking at it over at least the next week or so.
                          I've already been looking into modding for about a week and a half before today now (and I can tell you guys as someone who hadn't yet worked with DLC in Unreal Engine it's been surprisingly rough).

                          Features like overriding existing classes are briefly explored in the ModSkeleton project.
                          The advantage of the mod skeleton system is that it doesn't require modifications to the Unreal Editor, which is part of what makes creating a modding system difficult for smaller projects.
                          A user would need to have downloaded Unreal Engine and signed a EULA to work on modding your project, but hopefully there could be a solution that doesn't require a custom editor.
                          Right now the system uses a Node.js script, but if I can get pak files deploying correctly, I'll be changing this so that it's instead probably C# with an optional GUI.

                          After that I'm working on a script that allows you to create plugins based on existing templates without needing to modify the editor.

                          Comment


                            That ModSkeleton thing is very interesting. Great to see someone make progress here!

                            Comment


                              Originally posted by calembendell View Post
                              Smogworks made a great ModSkeleton project that I've forked here and updated to (mostly) work with 4.18: https://github.com/calben/ModSkeleton
                              Right now with Unreal Engine 4.18 I'm not able to generate valid pak files, but I hope I'll get some help figuring out why this is pretty soon.

                              Easier modding is now a problem I need to solve at work, so I'm going to be looking at it over at least the next week or so.
                              I've already been looking into modding for about a week and a half before today now (and I can tell you guys as someone who hadn't yet worked with DLC in Unreal Engine it's been surprisingly rough).

                              Features like overriding existing classes are briefly explored in the ModSkeleton project.
                              The advantage of the mod skeleton system is that it doesn't require modifications to the Unreal Editor, which is part of what makes creating a modding system difficult for smaller projects.
                              A user would need to have downloaded Unreal Engine and signed a EULA to work on modding your project, but hopefully there could be a solution that doesn't require a custom editor.
                              Right now the system uses a Node.js script, but if I can get pak files deploying correctly, I'll be changing this so that it's instead probably C# with an optional GUI.

                              After that I'm working on a script that allows you to create plugins based on existing templates without needing to modify the editor.

                              Hey mate.
                              I have checked the Mod Skeleton project. I am a bit confused.
                              Can you help a plebian like me to understand how to use it exactly ?
                              From what I could tell I have to download the project, an select Mod Skeleton as profile and develop my game via that ? Did I get it ?
                              Thanks.
                              ArtStation

                              General Development Blog

                              Comment


                                Anything new here?

                                Comment

                                Working...
                                X