luasteam - SteamWorks API Integration

Showcase your libraries, tools and other projects that help your fellow love users.
User avatar
yancouto
Prole
Posts: 8
Joined: Sat Jan 21, 2017 2:14 pm

luasteam - SteamWorks API Integration

Post by yancouto »

luasteam

luasteam is a lua library that allows working with the SteamWorks SDK. It does not depend on LOVE, but can be used on LOVE games. Unfortunately, it is not pure lua, since the original SDK is in C++, but we do provide libraries for Windows, Linux and OSX.

Check the Getting Started guide on our documentation to... get started.

Not all SteamWorks SDK functions are implemented in luasteam (I basically implemented what was necessary for my game, Marvellous Inc., which means most of the achievements, leaderboards and Workshop related functions). However, we are open to contributions! Send us PRs on our GitHub repository.

If you have any problems with luasteam, please let us know and we will try to help.
rilifon
Prole
Posts: 3
Joined: Sun Apr 29, 2018 1:28 am

Re: luasteam - SteamWorks API Integration

Post by rilifon »

Wow, this is so incredible, thanks for the amazing work lover!
Rickton
Party member
Posts: 128
Joined: Tue Mar 19, 2013 4:59 pm
Contact:

Re: luasteam - SteamWorks API Integration

Post by Rickton »

Thanks so much for posting this, this is amazing! It works great on Linux, but unfortunately the Windows version closes without apparent error after loading the DLL. Running through the console doesn't output anything, and it does seem to crash immediately after the "require" line (I tried printing immediately beforehand, and then immediately after, and only the before hand print comes through).

I actually saw this project back when it was on v0.0.2, and that version works fine on Windows, but 0.0.3 and 1.0.0 don't. I tested both 32 and 64 bit versions (with the applicable love version) and both behave the same way.
Possession - Escape from the Nether Regions, my roguelike made in LÖVE for the 2013 7-Day Roguelike Challenge
And its sequel, simply called Possession , which is available on itch.io or Steam, and whose engine I've open-sourced!
User avatar
yancouto
Prole
Posts: 8
Joined: Sat Jan 21, 2017 2:14 pm

Re: luasteam - SteamWorks API Integration

Post by yancouto »

I'm sorry. The problem was that the Windows version was linked using Lua 5.1 instead of LuaJIT. I fixed this a couple days ago and reuploaded the binaries for v1.0.0 (not for v0.0.3).

Could you download them again? Let me know if it works :)
Rickton
Party member
Posts: 128
Joined: Tue Mar 19, 2013 4:59 pm
Contact:

Re: luasteam - SteamWorks API Integration

Post by Rickton »

Looks like it works now. Thanks!
Possession - Escape from the Nether Regions, my roguelike made in LÖVE for the 2013 7-Day Roguelike Challenge
And its sequel, simply called Possession , which is available on itch.io or Steam, and whose engine I've open-sourced!
Timon
Prole
Posts: 3
Joined: Fri Jan 26, 2018 12:08 pm

Re: luasteam - SteamWorks API Integration

Post by Timon »

It works really. Thanks!

What about User/Friends Avatar functions? i.e.

Code: Select all

imgid = Steam.friends.GetFriendAvatarID(uid, 2) 
and

Code: Select all

local imgdata, w, h = Steam.utils.LoadImageByID(imgid)
imgdata = love.image.newImageData(w, h, imgdata)
Thank you a lot for luasteam ))
User avatar
yancouto
Prole
Posts: 8
Joined: Sat Jan 21, 2017 2:14 pm

Re: luasteam - SteamWorks API Integration

Post by yancouto »

Hey Timon! I'm glad you're using luasteam.

It seems what you're looking for is an implementations of functions like SteamFriends::GetLargeFriendAvatar. These are not implemented, since I didn't have to use them yet :P

Feel free to add them yourself, and please submit PRs on our repo. I just improved our Contributing Guidelines with some tips, please take a look at it.

These functions are a bit tricky since it would be nice to be able to return LOVE images from them, but we don't want a strong requirement on LOVE. I think a good solution would be to return the actual RGBA matrix if the global value "love" does not exist, and otherwise return an actual LOVE image.

If you want to implement this but have any doubts, please comment here, or reach out to me directly on @yancouto on Telegram.
dj--alex@ya.ru
Prole
Posts: 23
Joined: Sat Jun 17, 2017 1:23 pm

Re: luasteam - SteamWorks API Integration

Post by dj--alex@ya.ru »

Sounds great!
Possible in future i thinking about steam
when i solve low FPS problem
Rickton
Party member
Posts: 128
Joined: Tue Mar 19, 2013 4:59 pm
Contact:

Re: luasteam - SteamWorks API Integration

Post by Rickton »

Hi, luasteam works great for the Windows and Linux builds of my game, but I'm having a bit of trouble on Mac. I think the main problem is I'm not sure where to put the dylib that comes with the Steam sdk to get your library to find it.

I've tried placing it in Frameworks/, MacOS/, and Resources/, but none of them seem to be the right place. I see your game is available for Mac on Steam, where did you place Steam's dylib to get it to work?
Possession - Escape from the Nether Regions, my roguelike made in LÖVE for the 2013 7-Day Roguelike Challenge
And its sequel, simply called Possession , which is available on itch.io or Steam, and whose engine I've open-sourced!
pauljessup
Party member
Posts: 356
Joined: Wed Jul 03, 2013 4:06 am

Re: luasteam - SteamWorks API Integration

Post by pauljessup »

using on a Mac, and I'm having an issue making a .love. Whenever I just drag and drop and run it in love by itself, it finds. the .so just fine (in the same directory as my .lua source files). But when I zip up and archive into a .love file, it can no longer find the .so. Not sure how to fix it, it says it's looking in the lua path files for it, but still not finding it. Yet it works fine if I just run the source through the Lua app.
Post Reply

Who is online

Users browsing this forum: Google [Bot] and 7 guests