Announcement

Collapse
No announcement yet.

UWorks (Steamworks C++/BP)

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

  • replied
    Me likez organization of well organized code and post

    Leave a comment:


  • replied
    Originally posted by Bioblaze View Post
    You understand nothing you typed made any sense correct?
    I agree, this is an incredibly valuable / powerful plug-in, maybe the most important available to date.
    Before though, I had 2 valid concerns backed up with links regarding ongoing-support and app-config...
    So not sure why that was so hard to understand, but anyway I had a useful side discussion with Vlad.

    Leave a comment:


  • replied
    Originally posted by franktech View Post
    Overall, it sounds like you're offering a one-stop UE4 -> Can-Do-Everything-Steam-Plugin, true?
    But are there any critical but maybe less obvious limitations here that haven't been mentioned?
    For Example: When done will 'Docs' walk developers through resolving Steam nightmares:1 2 3...



    Steam is a sore point for anyone who wants to focus on game dev / not reinventing the Steam wheel.
    So its exciting news, but not the same as seeing Allar / eXi offer this (100 forum titles / million posts).
    So any assurances that you're totally committed would be welcome (not withstanding Full Source etc).
    You understand nothing you typed made any sense correct?

    Have you ever tried to implement Steam into UE4? I mean really implement it? Not that OnlineSubSystemSteam, but i mean really sit down and open up Visual Studio and tried to intergrate it into UE4?

    Sounds like you havent, even though your going to reply with "Of course I have" Just Looking at his current system, it saves 100s of Hours worth of work. That saves Alot of money for these smaller indie Studios, who are barely making ends meat trying to publish a game where someone asks for 100 a hour to implement steam.

    And from some of the things I`ve seen, and i`m reading this is going to be on point.

    Cant wait to buy it, Just waiting for LAUNCH!

    Leave a comment:


  • replied
    Originally posted by franktech View Post
    Overall, it sounds like you're offering a one-stop UE4 -> Can-Do-Everything-Steam-Plugin, true?
    But are there any critical but maybe less obvious limitations here that haven't been mentioned?
    For Example: When done will 'Docs' walk developers through resolving Steam nightmares:1 2 3?
    Haven't been mentioned because they aren't limitations with UWorks, but only with OnlineSubsystemSteam maybe?

    I'd recommend you watch the video before you draw any conclusions. You can find it at the bottom of the original thread. I know it's 12:30 mins long, but it's literally showing a new project being created with not a single issue. Switching AppID is done via 1-line in a config file.

    UWorks is NOT OnlineSubsystemSteam. Whatever issues OSS has, they are not the same issues that might arise with UWorks.

    Originally posted by franktech View Post
    Steam is a sore point for anyone who wants to focus on game dev / not reinventing the Steam wheel.
    So its exciting news, but not the same as seeing Allar / eXi offer this (100 forum titles / million posts).
    So any assurances that you're totally committed would be welcome (not withstanding Full Source etc).
    I'm not sure where you got the "reinventing the wheel" part from. I made no such claim. I explained very thoroughly that this plugin is a manual implementation of the Steamworks API, as it is being provided by Valve.

    Forum posts don't equal assurance/consistency. I reached out to [MENTION=14476]eXi[/MENTION] a while back, before I started working on this. I asked him about his contracting services as offered in one of his threads. To be short, I wanted to pay him to teach me whatever he knows about OnlineSubsystems. I never even got a reply.

    This is where I come from: https://www.epicgames.com/unrealtour...d-serbanescu11
    About 2 years of modding UT4, dare I say, being among the top 3 contributors on the programming side (it's hard to differentiate). Then I got banned for "reposting deleted content" just after I got into an argument in which I displayed various major security issues with UT4.
    Last edited by vlad.serbanescu11; 04-06-2017, 06:06 AM.

    Leave a comment:


  • replied
    Plug-in Sounds Amazing! ... But there's also the Double-Digit 'Post Count' to consider:

    Originally posted by vlad.serbanescu11 View Post
    UWorks is a plugin which is intended to act as a link between UnrealEngine and Steamworks. This product exposes almost an absolute 100% of the Steamworks API to both C++ and BP.
    Overall, it sounds like you're offering a one-stop UE4 -> Can-Do-Everything-Steam-Plugin, true?
    But are there any critical but maybe less obvious limitations here that haven't been mentioned?
    For Example: When done will 'Docs' walk developers through resolving Steam nightmares:1 2 3...

    Originally posted by vlad.serbanescu11 View Post
    6.4. About Us - We are a team of 2 friends, who wanted to start building a game on Steam and found it horribly painful. Everything evolved from there.
    Steam is a sore point for anyone who wants to focus on game dev / not reinventing the Steam wheel.
    So its exciting news, but not the same as seeing Allar / eXi offer this (100 forum titles / million posts).
    So any assurances that you're totally committed would be welcome (not withstanding Full Source etc).

    Leave a comment:


  • replied
    Originally posted by vlad.serbanescu11 View Post
    Basically, yes. When I listed features in the OP, I simply chose broad terms to describe the features offered by the raw Steamworks API (i.e. "Social Features" instead of saying "AvatarRGBA as UTexture2D").

    We will offer a certain amount of utilities, as described briefly in the reply to Bioblaze, at number [4]. One of those utilities may be a simplification for using VOIP, or even a full demo on using VOIP. But the plugin itself is, indeed, mostly a wrapper intended to make Steamworks usage possible in BP and easier in C++.
    Thanks, it is excelent.

    Leave a comment:


  • replied
    Originally posted by Azarus View Post
    Thanks i know very well what steam offers and i was just confused on your terms.
    Okay, cool so that p2p communication is actually an additional network layer over steamnetwork interface as far as i understand.
    Basically, yes. When I listed features in the OP, I simply chose broad terms to describe the features offered by the raw Steamworks API (i.e. "Social Features" instead of saying "AvatarRGBA as UTexture2D").

    We will offer a certain amount of utilities, as described briefly in the reply to Bioblaze, at number [4]. One of those utilities may be a simplification for using VOIP, or even a full demo on using VOIP. But the plugin itself is, indeed, mostly a wrapper intended to make Steamworks usage possible in BP and easier in C++.

    Leave a comment:


  • replied
    Originally posted by vlad.serbanescu11 View Post
    We're offering exactly what Steam is offering, except we offer everything in BP and we simplify the entire async framework to make it work similar to timers and events in UE4 so you don't have to implement every single async call or callback yourself (we also provide you with a way of querying multiple async calls of the same type at the same time, which is not shown in the Steamworks documentation; one example usage of this would be to query multiple server lists at the same time, such as one for ARK and one for Conan). This plugin integrates Steam the way the engine should, but doesn't.

    Yes, by "Online Inventories" I mean the Steam Inventory system, along with everything it comes with, such as the trading you mentioned. (updated thread to remove the word "Online")

    For your second question, Steam offers P2P separately from VOIP, but it uses P2P to actually implement VOIP. We import them separately, just as they're being provided by the API. The way they work is this: you record voice using methods of ISteamUser and send them as packets via methods from ISteamNetworking (or P2P interface, simply put).
    Thanks i know very well what steam offers and i was just confused on your terms.
    Okay, cool so that p2p communication is actually an additional network layer over steamnetwork interface as far as i understand.

    Leave a comment:


  • replied
    Originally posted by Azarus View Post
    Sorry but i am super confused on what you offer.
    What does Online Inventories cover? Is that the steam inventory system integration and ingame trading? I would buy it as a seperate plugin instead, and i believe many people would pay $60 or more only for that.

    And Peer-To-Peer Communication is that VOIP or networking?
    We're offering exactly what Steam is offering, except we offer everything in BP and we simplify the entire async framework to make it work similar to timers and events in UE4 so you don't have to implement every single async call or callback yourself (we also provide you with a way of querying multiple async calls of the same type at the same time, which is not shown in the Steamworks documentation; one example usage of this would be to query multiple server lists at the same time, such as one for ARK and one for Conan). This plugin integrates Steam the way the engine should, but doesn't.

    Yes, by "Online Inventories" I mean the Steam Inventory system, along with everything it comes with, such as the trading you mentioned. (updated thread to remove the word "Online")

    For your second question, Steam offers P2P separately from VOIP, but it uses P2P to actually implement VOIP. We import them separately, just as they're being provided by the API. The way they work is this: you record voice using methods of ISteamUser and send them as packets via methods from ISteamNetworking (or P2P interface, simply put).

    Leave a comment:


  • replied
    Sorry but i am super confused on what you offer.
    What does Online Inventories cover? Is that the steam inventory system integration and ingame trading? I would buy it as a seperate plugin instead, and i believe many people would pay $60 or more only for that.

    And Peer-To-Peer Communication is that VOIP or networking?

    Leave a comment:


  • replied
    Sorry for the delayed reply guys!

    I've had the pleasure of chatting directly with [MENTION=4285]mordentral[/MENTION] and [MENTION=43786]Bioblaze[/MENTION] via Discord, but I'll still write the replies as it the information may be of interest to anyone.

    If anyone else wishes to contact me directly, I will do my best to reply to PMs both on the forum and on Discord, where you can find me as "Vlad".

    Originally posted by Stormtiger View Post
    Very nice Plugin. Just had similar problems in the past months so this plugin comes quite handy for future projects.

    How hard would it be to "switch" from your plugin to the default online subsystem if necessary? You are limited to Steam with this but in my case I would need to have one API for Steam as well as for Playstation Network. I think for steam I could use this plugin, but when packaging for Playstation I need to reimplement everything on that side. Or do you Plan to also Support PSN etc. In the future?

    Also I would recommend a Code sample for Posting or Getting Player Stats to or from Steam. That was one of the Problems I encountered quite often with the default online subsystem. But as said, after figuring it out it provided me the ability to use one BP for PSN and Steam as well, so that would be nice.

    Very cool plugin! (But scratching my head why Epic Games doesnt Do an Update for something that fundamental for Game Developers)
    I actually had no idea UE4 had an OnlineSubsystemPSN. A minor reason for delaying this reply was due to the fact that I wanted to look into it a bit.

    The short answer to your question is that it won't be too easy to switch from the OnlineSubsystem framework to the raw framework exposed by UWorks so your assumption was correct. Generally, if someone is just starting to implement online features, I wouldn't expect them to have any difficulty at all when working with UWorks vs. working with OnlineSubsystem's. It's only a slight difference in workflows. Unfortunately, your particular case is that you have already implemented online features. However, a few days ago, Mordentral was kind enough to suggest encapsulating UWorks in its own OnlineSubsystem (OnlineSubsystemUWorks maybe?). Neither I nor my friend thought of this and it's obvious that it's a great suggestion and, as such, we'll implement a separate module for it in the near future.

    I don't have any plans regarding PSN in either way. The reason is simply that I'm not sure what I'm allowed to do and what not, from a legal perspective.

    Lastly, Get/Set Player Stats demo it is then! We'll try to implement demos with nice, minimal-styled interfaces. Thanks!

    Originally posted by Bioblaze View Post
    [1] Download Mod Files for a Game, and Loading them.
    [2] Loading Inventory & Displaying information
    [3] Activating a Achievement, Showing Achievement Progress
    [4] Getting Users Steam Name, SteamID, Steam64 ID
    [5] Accepting your Client to Auto Connect to a Server via the connect://game/server Link

    I can think of a handful more ;d if ya need.
    So, once again, I enjoyed our conversation! And now, for the answers...

    [1] - This is the only entry in your list which we wanted to sell as part of a separate bundle (which also includes the plugin itself, of course) for an extra 20-30E. We have several projects in mind which would make use of this plugin and these represent the main reason why we are willing to sell this plugin for a lower price than expected (the only "semi-similar" plugin that we know is available on the MP is ExtendedOnlineSubsystemFacebook, priced at 144E; UWorks has been submitted for 80E, based on the poll). However, if there are several requests for this, we'll consider offering it out-of-the-box!

    [2] - Thanks again for your suggestions regarding this point! As mentioned in private, inventory is the only interface which we haven't tested at all. We'll change that!

    [3] - Will do!

    [4] - We're offering a library with utilities for our users to interact with various data from Steamworks, SteamIDs and GameIDs being among them. We don't expose 64-bit forms of SteamIDs or GameIDs. We do all the conversions in the back, in both ways (SteamID->Steam64 and Steam64->SteamID) so our customers don't have to! The demo for this library will surely be included out-of-the-box!

    [5] - This is also definitely going to be there out-of-the-box (maybe not exactly when the plugin hits the marketplace, but very soon after; a minimal UI might be required). In the demo, this is where I start talking about server registration: https://youtu.be/uGPoHWtcWiU?t=482 . Earlier, I had shown how to grab an individual server's IP:GamePort. The simplest way to achieve connection is simply to combine the two using "open IP:Port". Indeed, as discussed, I agree there are ways to further simplify and improve this process, but I don't have my mind set on any simplification in particular at the moment, apart from the encapsulation within the OnlineSubsystem framework.

    Whenever you're ready, hit me with more I'd like this plugin to offer between 5 and 10 short and sweet demos straight out-of-the-box.

    Originally posted by Kris View Post
    Thanks dude!

    Originally posted by mordentral View Post
    +1 for this being needed, current implementation is stale, feature incomplete, buggy, and not directly fixable in binary forms of the engine.


    Although I already spoke with you about how it would slot into a subsystem more cleanly in engine and hope to see that in the future.
    +1 to your +1 for encapsulating this inside its own OnlineSubsystem. Thanks once again for the eye-opening chat and suggestion! We've discussed this and definitely going to take a shot at it in the near future!

    For me, the most annoying thing about the current implementation of Steamworks, via OnlineSubsystemSteam, was the difficulty in creating a simple dedicated server. The absence and/or bugs of several social features come on a very close second. That's why the 2 were our starting points for this plugin.
    Last edited by vlad.serbanescu11; 04-06-2017, 06:06 AM.

    Leave a comment:


  • replied
    +1 for this being needed, current implementation is stale, feature incomplete, buggy, and not directly fixable in binary forms of the engine.


    Although I already spoke with you about how it would slot into a subsystem more cleanly in engine and hope to see that in the future.

    Leave a comment:


  • replied

    Leave a comment:


  • replied
    Can I buy this? I wanna Test a System with steam inventory.
    Please contact me would love to chat.

    Leave a comment:


  • replied
    Download Mod Files for a Game, and Loading them.
    Loading Inventory & Displaying information
    Activating a Achievement, Showing Achievement Progress
    Getting Users Steam Name, SteamID, Steam64 ID
    Accepting your Client to Auto Connect to a Server via the connect://game/server Link

    I can think of a handful more ;d if ya need.

    Leave a comment:

Working...
X