sekaiproject / ponscripter-fork

Fork of the Ponscripter visual novel engine to take advantage of SDL2 and improve Steam integration
GNU General Public License v2.0
74 stars 28 forks source link

Steam achievement support #34

Open dobacco opened 10 years ago

dobacco commented 10 years ago

One of those it'd be nice to have type feature.

Not sure of the work required but not a high priority for release.

DanielOaks commented 10 years ago

To do this, I think you'd need to link into the Steamworks API, and given this Ponscripter is open source, not sure whether that'd breach the license for Steamworks.

Might need to be a separate (internal) branch for Steamworks integration, if that 's the case?

dobacco commented 10 years ago

I wonder if just having ifdef's for STEAM=true, then defining the api calls and not redistroing the actual sdk's dll/lib/etc is enough....

Might be better off to have a private repo for that portion that can be applied on the open source portion I suppose..

DanielOaks commented 10 years ago

I could have an ask in the Steamworks Steam discussions group, see what they say before we decide how to handle it.

On Monday, March 17, 2014, Raymond Qian notifications@github.com wrote:

I wonder if just having ifdef's for STEAM=true, then defining the api calls and not redistroing the actual sdk's dll/lib/etc is enough....

Might be better off to have a private repo for that portion that can be applied on the open source portion I suppose..

Reply to this email directly or view it on GitHubhttps://github.com/sekaiproject/ponscripter-fork/issues/34#issuecomment-37779844 .

dobacco commented 10 years ago

Sure if you don't mind. Or I can post as sekaiproject user, although I'm not sure if I would be able to communicate the issue correctly.

DanielOaks commented 10 years ago

All good. I'll throw a post ip tonight, been meaning to ask for something else anyways!

On Monday, March 17, 2014, Raymond Qian notifications@github.com wrote:

Sure if you don't mind. Or I can post as sekaiproject user, although I'm not sure if I would be able to communicate the issue correctly.

Reply to this email directly or view it on GitHubhttps://github.com/sekaiproject/ponscripter-fork/issues/34#issuecomment-37780106 .

Animus120 commented 10 years ago

maybe trading card too?

DanielOaks commented 10 years ago

Engine-wise we should be able to, but we'll see whether we can include the interfaces here once I have a chat.

On Monday, March 17, 2014, Animus120 notifications@github.com<javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:

maybe trading card too?

Reply to this email directly or view it on GitHubhttps://github.com/sekaiproject/ponscripter-fork/issues/34#issuecomment-37788868 .

rdmx commented 10 years ago

Games that have trading cards don't seem to have any engine integration - it is just based off time played. Free to play games usually require you to purchase something in the cash shop to start dropping cards.

If Narcissu is being distributed for free, how would this work?

SystemPatch commented 10 years ago

Throwing my two cents in here, Trading Cards wouldn't be viable in this case, since Narcissu should end up being free. Due to Valves drop system, players of free (to play) games can only get drops and boosters if they either had the game tied to their account before cards were added, either through a product key or in-game purchase, or through purchases after the fact, at $9 per drop.

Another game ran into this same issue, No More Room in Hell, which resulted only in a handful of beta players getting drops, about 200 or so going by the pre-release key list on ModDB. If Narcissu were to release today, with cards, the only people who would be able to get them would be the 25 or so people with the beta right now.

Ultimately, it's an issue with Valve's drop system for free to play games, and until a compromise is found, which is unlikely due to abuse, it'd be unwise to add trading cards, otherwise you'd be locking out most of the players from getting 'em.

DanielOaks commented 10 years ago

@rdmx Ah, I didn't realise. In that case, we'll just stick to the engine-based Steam integration stuff here (possible Achievements and such), rather than veering off into Trading Cards and all. I'm not a member of the game dev team though, so it's likely their call.

In the event that we can link directly to the Steam API in an open-source project like this, I'd like to have a chat/post about what sorta Steam commands we'd want to add to Ponscripter.

dobacco commented 10 years ago

@SystemPatch I'm not familiar enough with Steam cards and how it affects f2p games, there has been some discussion internally to have a "deluxe" version of Narcissu that includes one or two items (I can't talk about those right now) for x price or maybe as DLC. That'll still leave the issue of how cards will drop for users without deluxe version/DLC, the only idea I can think of is a totally separate appid. Or some sort of single "microtransaction" that'll unlock both said items?

SystemPatch commented 10 years ago

@dobacco In that case, there hasn't been any examples of it being done, nor do I think the drop system is designed to handle drops via DLC. The best I could say is to bring up the question over on the steamworks or trading card's group forum and see if you could get word from a Valve admin.

SystemPatch commented 10 years ago

Well, this is interesting. it seems that the Free to Play documentary has trading cards, yet no one can actually get cards due to the current f2p drop system, even after buying the DLC.

Since this is from Valve themselves, that would mean that a change in the drop system would have a higher priority, so if you guys are really interested in having trading cards in Narcissu, now would be the best time to bring the issue up.

dobacco commented 10 years ago

I talked to our rep about our situation at the moment we're not going to add in Steam Cards. Maybe in the future.

euank commented 10 years ago

Okay, progress update on this!

The "steamsetachieve" command has been implemented (c05bc6acc8f1b67429a63526dcdf68011a85e143).

All that's left to get achievements working, I believe, is to merge that into master, and then add steamsetachieve "achievement-name" at appropriate points within 0.utf.

I'm hopeful that this will be finished fairly soon.