User Tag List

Results 1 to 7 of 7

Thread: Question about the Steamworks Object & Achievements possibly causing slowdown

  1. #1
    Clicker Fusion 2.5
    Del_Duio's Avatar
    Join Date
    Sep 2008
    Location
    Cygnus X-I
    Posts
    919
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Question about the Steamworks Object & Achievements possibly causing slowdown

    Hopefully somebody will know this. Today I put the Steamworks object in my game and got the achievements to work and unlock (hooray!)
    However, I've noticed there's a lot more slowdown during gameplay now.

    Here's and example of what I have:

    If achievement BIG MONEY is unlocked (negated)
    +Global value MONEY >= 1000
    -> Unlock BIG MONEY achievement

    Now again this completely works but there's that pesky slowdown. I'm wondering if the object is sending out a billion pings to Steam the whole time, maybe just to check if the achievement is unlocked.

    Actually, I may have a solution now that I've written it all out lol... Maybe when the game boots up I could do a series of checks to see if each achievement is unlocked, and if they are assign a global value to say "1" or something. And then I could add this to the check and stop any possible million pings.

    If achievement BIG MONEY is unlocked (negated)
    +Global value MONEY >= 1000
    +Global value BIG MONEY ACHIEVEMENT = 0
    -> Unlock BIG MONEY achievement
    -> BIG MONEY ACHIEVEMENT = 1

    Well.. if this works out maybe it'lll help somebody else here later.

  2. #2
    Clickteam Fusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleUniversal Windows Platform Export ModuleInstall Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    BartekB's Avatar
    Join Date
    Aug 2013
    Posts
    622
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)
    What I suggest to do is:
    Have a list object, but make it hidden,
    edit it so it has all of your achievement's names.
    Make a fastloop, going through all of the list's lines, and set the "line data" to 1 if the achievement is achieved.
    Then, you can use the following:

    If BIG MONEY >=1000 and Line with "BIG MONEY"'s data is 0 then unlock that achievement and set its line data to 1

    However, I never used the steamworks object, so I am not 100% how it works.
    - BartekB, a.k.a Uppernate
    Join the Click Converse Discord! - https://discord.gg/7RNXFrC
    Dungeon Raiders! - Link soon™

  3. #3
    Clicker Fusion 2.5 Developer
    PBarwick's Avatar
    Join Date
    Jul 2014
    Posts
    390
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Hey del_duio, sounds like a possible reason for what's causing slowdown, good idea!

    Let us know if it works!

  4. #4
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export Module
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)

    Join Date
    Apr 2007
    Location
    Australia
    Posts
    1,151
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Definitely do not constantly check with Steam if an achievement is unlocked or not. Do it at the start of the frame and store the unlocked status in an ini or array file locally as the achievements are unlocked.

  5. #5
    Clicker Fusion 2.5
    Del_Duio's Avatar
    Join Date
    Sep 2008
    Location
    Cygnus X-I
    Posts
    919
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Well I THINK what I did might have worked but thought of something else:

    Do you guys know if MMF would bother checking the 2nd condition if the first one were false?

    Like what I have:

    If global value BIG MONEY ACHIEVEMENT = 0
    +Steamworks Object achievement "Big Money" is unlocked (negated)
    +etc

    Well if the value of the global value BIG MONEY ACHIEVEMENT is already equal to 1 because it's been unlocked, does MMF skip the rest of this? I'm hoping it does because otherwise it would still have to ping Steam for that 2nd line wouldn't it? To see if the achievement was locked still.

    I guess I don't know enough about how MMF works internally still lol. I don't have the best computer and sometimes it will lag for other reasons like behind the scenes programs and crap that run or windows updates nobody ever wants but it does it anyhow. So I'm not 100% on if what I've done will really solve this.

  6. #6
    Clicker Fusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export Module
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)

    Join Date
    Apr 2007
    Location
    Australia
    Posts
    1,151
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You don't need to check if the achievement is unlocked or not on Steam. Once the player unlocks it once, trigger the achievement as unlocked on Steam's side. You don't even need to save it anywhere locally since it's saved on Steam. It won't pop up over and over again because Steam already performs the check to see if the player has already unlocked it before sending back anything.

    Example

    If Money >= Money required for achievement
    + Only once if this event loops
    -> Trigger Steam achievement for "EARNED ALL THE MONEY!"

    If you want to avoid the "Only once if this event loops" part, then save a value to a local ini and do

    If Money >= Money required for achievement
    + ini value EARNEDMONEY = 0
    -> Trigger Steam achievement for "EARNED ALL THE MONEY!"
    -> Set ini value EARNEDMONEY to 1

  7. #7
    Clicker Fusion 2.5
    Del_Duio's Avatar
    Join Date
    Sep 2008
    Location
    Cygnus X-I
    Posts
    919
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Oh I know you don't have to save it anywhere locally (thank god), I was just using those global values to try and keep MMF from checking to see if they were unlocked more than once.

    Thanks, everyone for your help in this!

Similar Threads

  1. How do you make achievements with SteamWorks?
    By Epic_Elephant in forum Released Extensions
    Replies: 1
    Last Post: 22nd April 2015, 09:37 AM
  2. Steamworks Object question mmf2
    By Johnny in forum Fusion 2.5
    Replies: 1
    Last Post: 6th April 2015, 01:54 PM
  3. Possibly a noob question
    By jaytmek in forum HTML5 Export Module 2.5
    Replies: 3
    Last Post: 29th April 2014, 05:40 AM
  4. [BUG 257-9] Large background objects causing slowdown
    By AyreGuitar in forum iOS Export Module Version 2.0
    Replies: 0
    Last Post: 21st April 2013, 11:24 AM
  5. Possibly a silly question. Is Direct3D okay for 2D games?
    By DedHedZed in forum Multimedia Fusion 2 - Technical Support
    Replies: 2
    Last Post: 23rd June 2012, 10:21 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •