Announcement

Collapse
No announcement yet.

Full STEAMWORKS Tutorials for UDK3 Engine.

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

  • Full STEAMWORKS Tutorials for UDK3 Engine.

    Hello people how are you?

    Because of all the problems I faced with STEAM from setting up STEAMWORKS, scripts, uploading, patching, Achievements, Trading cards, Backgrounds and Emoticons and we cannot forget the EULA's, I have dedicated part of my website to help other developers so you won't have to go through what I did.
    Here you go:
    http://www.worldofdasm.com/index_fil...orial_menu.htm

    Special thanks to:
    Jay Wilbur and his team for their support when I needed it!
    Fabian who created "Clockwise" using UDK for the achievement part of the tutorial.
    O_and_N for supporting the UDK community and requesting for a STEAM tutorial.

    I wish each and everyone one of you developers the best of luck and hope everything works out for you.

    Have a great day!
    LORDROACH

  • #2
    Thanks a lot for this guide, it's really too bad we have to make stuff like this by ourselves when there's still quite a few UDK games to release.

    Comment


    • #3
      wow [MENTION=669151]LORDROACH[/MENTION] that is a comprehensive rundown on Steamworks.

      Haven't got there yet... Your hard work is much appreciated!
      @Snipe34 Please try to stay focused. TKBS

      Comment


      • #4
        Thanks for clearing quite some path for us there Shane

        Comment


        • #5
          Thanks so much for posting. In addition I feel like I should link an old post that details how to setup server browsing through Steam with UE3:

          https://forums.epicgames.com/udk/udk...ty-with-Steam=

          Note: I didn't write this article, but find it VERY useful and i think it's quite hard to find in the forums (now that they've been archived).

          Cheers

          Comment


          • #6
            So if Steam achievements are unlocked through Kismet nodes, does that mean that a player-made map could just unlock every achievement on the LevelLoaded event?
            Check out Himeko Sutori, the upcoming tactical RPG where you control armies of over 100 unique characters.

            Comment


            • #7
              ahievements can also be unlocked from UnrealScript (it's just more tricky/confusing). but if you still want to use Kismet (and your game ships with the Editor) you could modify the Kismet nodes' code to make some "security checks" (i.e. check the current map name vs a list of accepted map names to allow achievements, look for a special actor that you placed in your level and then made notplaceable, or any other exotic solution you might think of)



              LORDROACH: really useful stuff, I appreciate the effort
              Help me back! follow me on Twitter
              Developer of Elium - Prison Escape

              Comment


              • #8
                Thanks [MENTION=540]Chosker[/MENTION]. I might have to try that out.

                And thanks [MENTION=669151]LORDROACH[/MENTION]. This is very helpful. I would also like to suggest to everyone who is doing a Steam release that you use Steam DRM. It looks like a very easy one-step process. You can use steamcmd to upload your exe to put a DRM wrapper on it, and then download the protected version. Or you can use a web browser to do the same thing.

                And LORDROACH, one last thing: Do you want to do a Steam Workshop tutorial for us next?
                Last edited by Nathaniel3W; 07-25-2017, 04:31 AM.
                Check out Himeko Sutori, the upcoming tactical RPG where you control armies of over 100 unique characters.

                Comment


                • #9
                  Woudnt people complain about drm?

                  Comment


                  • #10
                    I think all the DRM wrapper does is make sure that you're logged into Steam with the same account that downloaded the game. It gets to be a pain if the player wants to go offline because if you're not online, you can't log into Steam, and all of your games are inaccessible. If you log into Steam the usual way, then you can switch to offline mode, which will let you play your games for two weeks without an internet connection.

                    I have been annoyed at DRM before as a player, but as a developer I wouldn't mind a minimally imposing way of making sure my game doesn't get pirated. And if my DRM is no more onerous than any of the other games in someone's Steam library, then I'll probably go ahead and use it.
                    Check out Himeko Sutori, the upcoming tactical RPG where you control armies of over 100 unique characters.

                    Comment


                    • #11
                      Update: Steam DRM isn't as easy as I thought for UDK/UE3. I'm still trying to figure out how to make it work. It is in fact not just as simple as letting steamcmd put a wrapper on your exe.
                      Check out Himeko Sutori, the upcoming tactical RPG where you control armies of over 100 unique characters.

                      Comment


                      • #12
                        I don't think you can use the steam DRM wrapper with a UDK game as UDK is a .net exe.

                        From the steamworks docs:
                        "The Steam wrapper doesn't support .Net applications. Instead of using the DRM wrapper, use SteamAPI_RestartAppIfNecessary."

                        If you get something working, please do share with the rest of us

                        Comment


                        • #13
                          [MENTION=97146]Coldscooter[/MENTION] what I'm trying to do right now probably requires native code access. When UDK starts up, the first thing it does is call GameEngine.Init(), which is native. I'm extending GameEngine and in my Init() I inserted a call to SteamAPI_RestartAppIfNecessary(). If the game was executed outside of Steam, I immediately exit the game and let the Steam API restart my game through Steam. If it doesn't need to restart, then I proceed onward with SteamAPI_Init() and then Super::Init(). I *just* now got a response back on my question on UDN so I'm going to try fixing it, and I'll let you know if it works.
                          Check out Himeko Sutori, the upcoming tactical RPG where you control armies of over 100 unique characters.

                          Comment


                          • #14
                            Update: I had to change a couple of lines in C++ and recompile, and now I have access to the Steam API via Online Subsystem Steamworks. And I was able to implement DRM very similar to what I described above. In fact, Epic had already written out for me, and I just had to change a couple lines of code in order to implement it.

                            Out of curiosity, I'm wondering if you could get access to the whole Steam API (including SteamAPI_RestartAppIfNecessary, which is the key to DRM when you can't use the DRM wrapper) by using BindDLL on steam_api.dll or steam_api64.dll. That might be something worth trying out.
                            Check out Himeko Sutori, the upcoming tactical RPG where you control armies of over 100 unique characters.

                            Comment


                            • #15
                              Hi everyone! I really should visit these forums more often but I have been a little "slack" lately. I thought I would put a quick post here to answer some questions I have received over time. One question is why do I use Kismet so much? Especially for unlocking Achievements? The answer is not everyone can code or even write code. So since UDK comes with Kismet I thought it would be a great idea to find the most laziest way to do something. (Yeah, that's me!) Another question I have been asked is how do you set up a UDK game workshop for STEAM? Even Nathaniel3W has asked the very same question in this forum. I am not too sure how to do this but I did come across it once while building DASM Spell Quest. If I come across the information again I will share it here in this forum. Though, how it is I am seriously considering adding workshops in most of my projects anyhow.
                              If you have any questions on anything or something isn't right on my site email me at contact@worldofdasm.com, especially if it is urgent. (Cause I'm not always checking these forums......)

                              Thanks and best of luck to you all!

                              Comment

                              Working...
                              X