Josh Posted April 24, 2014 Share Posted April 24, 2014 The Steamworks SDK has a networking library built into it, which you have full access to with Leadwerks Standard Edition. The nice thing about it is you can just pass data between Steam user IDs, which are just unsigned 64-bit integers. Obviously, the downside is it only works through Steam, but it looks ridiculously convenient. There's no worries about NAT punch-through or any other nonsense, it just works. 2 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
gamecreator Posted April 24, 2014 Share Posted April 24, 2014 Hell yes. I'm sure I'm not the only one eagerly waiting to play with this. The obvious question is when but I assume there's no timeframe yet. Much more importantly, is there a required process? Let's say you make a barebones program that in theory connects to a friend and sends an integer. Can you and your friend try it out immediately or is there some sort of Steam authorization process to go through? Or does your project need to be at least Greenlit? Also, can savegames and other data be stored on the Steam cloud? Quote Link to comment Share on other sites More sharing options...
DudeAwesome Posted April 24, 2014 Share Posted April 24, 2014 does the networking only works when I have my game on steam? I´m sure most of the features are useless when I dont get my game on steam right? Quote It doesn´t work... why? mhmmm It works... why? Link to comment Share on other sites More sharing options...
bandrewk Posted April 24, 2014 Share Posted April 24, 2014 does the networking only works when I have my game on steam? I´m sure most of the features are useless when I dont get my game on steam right? Obviously, the downside is it only works through Steam, but it looks ridiculously convenient. Steamworks is useless if you do not plan do publish your game through steam. 1 Quote Link to comment Share on other sites More sharing options...
YouGroove Posted April 24, 2014 Share Posted April 24, 2014 What i see is LE3 is super tied to Steam even the C++ standalone version, it's good advert and make LE3 popular, but ... Will it be some LE3 version totally free from Steam, i mean : -No Steam files -No Steam DLLs Nothing Steam simply. If i realease a stand alone platformer or RPG for solo play , for simply any PC and i publish on Desura or any others platforms i don't want any Steam stuff in it.Could it be possible ? LE3 is 3D Engine not Steam 3D engine ... , i'm not sure majority of people are interested in Steam features, this should be optionnal not mandatory . 1 Quote Stop toying and make games Link to comment Share on other sites More sharing options...
Rick Posted April 24, 2014 Share Posted April 24, 2014 @YouGroove I don't think if you publish a game right now it's dependent on Steam. Quote Link to comment Share on other sites More sharing options...
YouGroove Posted April 24, 2014 Share Posted April 24, 2014 I agree. The problem if you want to publish elsewhere than Steam, your game project will embed Steam files and DLL, that's not good, and should be optionnal in Project Manager like some checkbox option : Create new project : [ ] Steam project checkbox Quote Stop toying and make games Link to comment Share on other sites More sharing options...
Rick Posted April 24, 2014 Share Posted April 24, 2014 Does it? Can't you remove the steam DLL without error as long as you comment out any Steam related code (I think App.lua/cpp has Steam DLL related command(s)). Quote Link to comment Share on other sites More sharing options...
AggrorJorn Posted April 24, 2014 Share Posted April 24, 2014 Just don't initialize steam in the init of the game and remove the steam.dll. Tada: steam independance.. 1 Quote Link to comment Share on other sites More sharing options...
Admin Posted April 24, 2014 Share Posted April 24, 2014 The rules of the Steam networking commands are basically just: you can send any data to any SteamID at any time, and receive data from any SteamID. There's no connection to make and break, and it's just automatic. So it's ridiculously straightforward, although there is certainly a tradeoff. Valve employees have told me it is okay to distribute the Steamworks DLL, since it is statically linked to the Leadwerks, library, without initializing Steam. Savegames actually can be stored in Steam cloud right now, but it's not documented or officially supported. Quote Link to comment Share on other sites More sharing options...
YouGroove Posted April 24, 2014 Share Posted April 24, 2014 The rules of the Steam networking commands are basically just: you can send any data to any SteamID at any time, and receive data from any SteamID. There's no connection to make and break, and it's just automatic. So it's ridiculously straightforward, although there is certainly a tradeoff. That's great for Steam based games. Valve employees have told me it is okay to distribute the Steamworks DLL, since it is statically linked to the Leadwerks, library, without initializing Steam. This means all LE3 version will need Steam DLL library in published game even if you don't use Steam ? Or can we remove all Steam files manually to create the published game version , and the game will work ? Quote Stop toying and make games Link to comment Share on other sites More sharing options...
Josh Posted April 24, 2014 Author Share Posted April 24, 2014 You need to include the Steamworks DLL for the application to run, even if it isn't used. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
xtreampb Posted April 24, 2014 Share Posted April 24, 2014 From what I can tell, as long as you don't call any steam commands or constructors to initialize steam, then the end users shouldn't notice a difference. If the steam effects (overlay for example) can be disabled then the only thing that is impacted is the exe size as the library is statically liked to the LE Library. Is this correct or am I missing something? Quote bool Life() { while(death=false) { if(death==true) return death; } } I have found the secret to infinite life Did I help you out? Like my post! Link to comment Share on other sites More sharing options...
YouGroove Posted April 24, 2014 Share Posted April 24, 2014 From what I can tell, as long as you don't call any steam commands or constructors to initialize steam, then the end users shouldn't notice a difference It seems it's hard now for LE3 to remove Steam dependency or it would have been done already. General others 3D engines offers like UE4 are not tied to any distributor system could it be Sony, Microsoft Steam or whatever. LE3 is not as popular and needs some support to grow, and i understand Steam is central for that. I would just take LE3 if i had a commercial for Steam platform, for non Steam i would simply take another 3D engine. But not proposing some clean LE3 version without any files Steam dependency for non Steam games, this is just outstanding Why ? Easy way and less work ? Some Steam hidden agreement or another Steam statistics hidden system ? Quote Stop toying and make games Link to comment Share on other sites More sharing options...
Josh Posted April 24, 2014 Author Share Posted April 24, 2014 General others 3D engines offers like UE4 are not tied to any distributor system could it be Sony, Microsoft Steam or whatever. Leadwerks games do not have to be distributed through Steam. With Leadwerks the option is there for easy integration. This is an extra feature no one else has, and it is there to use if you want it. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
DudeAwesome Posted April 24, 2014 Share Posted April 24, 2014 hard when I get the networking with steamworks in my game and greenlight fails. I dont know how big there is the failrate. sure I want to publish my game on steam but its not just: I´m ready lets go on steam. 1 Quote It doesn´t work... why? mhmmm It works... why? Link to comment Share on other sites More sharing options...
AggrorJorn Posted April 24, 2014 Share Posted April 24, 2014 I wouldn't trust on Steamworks alone either. Better be safe than sorry when it comes to networking. And the additional steam message interface can always be added later. Quote Link to comment Share on other sites More sharing options...
gamecreator Posted April 24, 2014 Share Posted April 24, 2014 I figure this is just a bonus. I'm sure the actual Leadwerks networking will be Steam independent as there is also a non-Steam edition to support. Quote Link to comment Share on other sites More sharing options...
xtreampb Posted April 25, 2014 Share Posted April 25, 2014 I'm hoping that this is just a temporary fix for users wanting networking until proper time can be given to a true networking class that LE provides independent from distribution platform. Quote bool Life() { while(death=false) { if(death==true) return death; } } I have found the secret to infinite life Did I help you out? Like my post! Link to comment Share on other sites More sharing options...
Josh Posted April 27, 2014 Author Share Posted April 27, 2014 It's not a fix of any kind. I am just pointing out that the capability is there and is accessible right now for anyone who feels like playing around with it. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Einlander Posted April 28, 2014 Share Posted April 28, 2014 Just don't initialize steam in the init of the game and remove the steam.dll. Tada: steam independance.. Not possible in the lua version. The game doesn't even attempt to run. In windows, the console version immediately terminates. Quote Link to comment Share on other sites More sharing options...
gamecreator Posted April 28, 2014 Share Posted April 28, 2014 It's not a fix of any kind. I am just pointing out that the capability is there and is accessible right now for anyone who feels like playing around with it. Wait... right now? Where can we find the functions to use? Are they in the header? (They're not in the documentation yet.) Quote Link to comment Share on other sites More sharing options...
AggrorJorn Posted April 28, 2014 Share Posted April 28, 2014 I don't think its going to be part of the native Leadwerks API, but that it is available under the steamworks namespace (if that exists). https://partner.steamgames.com/documentation/api 1 Quote Link to comment Share on other sites More sharing options...
Josh Posted April 28, 2014 Author Share Posted April 28, 2014 Not possible in the lua version. The game doesn't even attempt to run. In windows, the console version immediately terminates. You need the DLL, but you don't need to initialize Steam. Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.