GS engine not consistent (iADS & animations)

3xL3xL Member Posts: 676
edited June 2012 in Working with GS (Mac)
so whats up with the inconsistency of the ads and gs engine?

i have animations that rotate left to right (in degrees) and something they just lock up and stop. or when the scene starts they rotate super fast in reverse (multiple times) and then proceed as normal. almost as if the engine RUSHES to the scene and the actors not in place (pun not intended)

also iADS don't always display. only whenever the hell they feel like it lol. will the hot fix, fix this?

this happens on both viewer and ad-hoc

Answers

  • 3xL3xL Member Posts: 676
    here is a clip of what i mean

  • domeniusdomenius Member Posts: 108
    Are you using interpolates with timers? Or do the actors start as size zero? I've seen these sorts of issues with both.
  • JohnPapiomitisJohnPapiomitis Member Posts: 6,256
    Yeah cant help you without knowing what rules and behaviors your using to rotate.
  • EatingMyHatEatingMyHat Member Posts: 1,246
    Screenshot of the rule will help, my guess is that it is a rule issue and not a GS bug. If it was a bug others would had encounter it buy now.

    BTW, the game looks cute, but I think you need to cut down on the menu animation time. Might look cool the first time that the scene selection loads, but at the 10th time it will be annoying to wait 14 seconds for the selection screen to finish the animation.
  • 3xL3xL Member Posts: 676
    Screenshot of the rule will help, my guess is that it is a rule issue and not a GS bug. If it was a bug others would had encounter it buy now.

    BTW, the game looks cute, but I think you need to cut down on the menu animation time. Might look cool the first time that the scene selection loads, but at the 10th time it will be annoying to wait 14 seconds for the selection screen to finish the animation.
    If u listen to me talking u will hear me say "it's my supposed to take the long" lol

    The menu is supposed to load up IMMEDIATELY. And it used to, but 9.93 broke it a little.

    I'm not home so I can't post a screenshot of my rule but the flowers and map selection screen items are supposed to rotate from -10 degrees to 10 degrees. Small movements. But as you can see they are rotating super fast.

    If you download this game (it's live in the AppStore now and free) you will see what it supposed to be like. The one in the AppStore doesn't have these graphical bugs. But those one does (after upgrading to 9.93).
  • JohnPapiomitisJohnPapiomitis Member Posts: 6,256
    edited June 2012
    Whats behavior are you using to rotate back and forth, interpolate? And im guessing the you have rules when rotation is greater then or equal to whatever, rotate back the other way. I cant really tell you whats wrong or what to adjust without seeing your rules, but i can give you something that will definetly work.

    constrain self.rotation to (10*sin((self.Time *1500)%360))

    The 10 is the degrees of the rotation back and forth, and the 1500 is the speed of the rotation.
  • EatingMyHatEatingMyHat Member Posts: 1,246

    If u listen to me talking u will hear me say "it's my supposed to take the long" lol
    :) watched with Mute...
  • 3xL3xL Member Posts: 676
    Whats behavior are you using to rotate back and forth, interpolate? And im guessing the you have rules when rotation is greater then or equal to whatever, rotate back the other way. I cant really tell you whats wrong or what to adjust without seeing your rules, but i can give you something that will definetly work.

    constrain self.rotation to (10*sin((self.Time *1500)%360))

    The 10 is the degrees of the rotation back and forth, and the 1500 is the speed of the rotation.

    Yea I'm using intropolate.

    I set the actors rotation to 10

    When self.rotation is 10
    Intropolate self.roation to -10

    When self.rotation is -10
    Intropolate self.rotation to 10

    This WORKS, but it's buggy apparently.

    I'm confident ur forrmula works, but I'm not home to try it. AS SOON AS I GET HOME I'm jumping on the computer and trying this.

    Is there a reason mine is bugging out?
    Also can you explain to me what ur formula does. And why it works for sure. I'm learning this stuff and if you can explain it it will help me understand it a little more :p
  • domeniusdomenius Member Posts: 108
    His formula works by using game.time as the basis for the sin angle calculation instead of using interpolate to modify the attribute. This is better because game.time beats the crap out of any internal gamesalad timekeeping methods, this goes for interpolate as well, and its inherently more efficient. Interpolate has a tendency to be buggy especially if you are using negative angles, which is an anomaly in itself since angles should never be expressed this way. When the engine calculates the angle -10, it can get really confused since angles work by using Modulus and circle math, which expects positive values. GS will try and transpose your negative angle to a true angle, which will equate to 350 degrees. Interpolate 10 degrees to 350 degrees and voila, you have a problem. A cheap way to fix this would be to rotate the image 90 degrees and start at a more stable initial rotation (90 degrees or 270 degrees depending how you rotated it), now we can remove 10 degrees either way and we don't break the core principles of circle math.

    Or just use the formula above, it's a better way. I just thought it would be good to know why it doesn't work.
  • 3xL3xL Member Posts: 676
    Thank you so much. Some great info here!!
  • 3xL3xL Member Posts: 676
    Wow. Just wow. That seems to work.

    What exactly is game.time? Man I gotta read up on formulas.

    What about the locks that are stretching and stuff? (see video) how can apply this forumula to widths and heights?
  • JohnPapiomitisJohnPapiomitis Member Posts: 6,256
    edited June 2012
    Glad i could help. Game.time is the amount of time the game has been running, self.time is the ammount of time the actors been in the scene, so there always running and changing in the game and not effected by anything.

    For height try somethign like this:

    constrain self size height to : 40+(1+sin(game.Time%360*300))*15

    The 40 is the minimum height you want. So itll grow and shrink but wont go below 40 as its height when it shrinks, the 300 is the speed, and changing the 15 will adjust the amount it grows.
  • 3xL3xL Member Posts: 676
    Wow. So how did u learn all this? Lol

    I'm going to give this a try hen I'm done watching a movie with the wife.

    I'm sure it will work, since you never steered me wrong :)
  • 3xL3xL Member Posts: 676
    once again, very typical of you, you've helped me out :)

    so i applied your rules to SOME actors to compare the differences and
    NONE of the bugs that the original actors had are on the revised actors (with your formula) so i changed them all (the ones that needed this formula anyways).

    so if you watched the video, you will notice that it takes about 10 seconds for the title screen to load (start button, options, title logo, etc etc.) why is that? i'm assuming its the game center login. but it shouldn't take that long. maybe i should put it in a timer or have it log the user in when touching the gam center "view score" button. what are your thoughts on this?

  • 3xL3xL Member Posts: 676
    edited June 2012
    also is there a way i can use your formula to move an actor from say 500 to 800 as oppose to:

    when actor position.x is 500
    interpolate to 800.
    ???

    i ask because apparently your formula is more stable than intropolating.
  • JohnPapiomitisJohnPapiomitis Member Posts: 6,256
    edited June 2012
    Glad i could help.

    Youll be fine using interpolate to bounce between 2 positions just make sure to do greater then or equal to and less then or equal to in your conditions instead of just equal to.

    Interpolate is stable, its just stuff like angles it can get weird because like domenius explained angles are translates as positive values between 0 and 360 but you have to use a negative number to go back the other way which gamesalad in turn will try to translate to a positive angle and can bug things up. Thats why i use that expression i gave you for rotating back and forth instead of interpolates.

    But in case you were still interested, you can use the forumla i gave you for the height 2 move back and forth as well.

    For example: constrain self position x to 50+(1+sin(game.Time%360*300))*15

    50 would be the left x position you want , 300 is speed and 15 is the length it moves out before moving back to x 50 and going back and forth.
  • 3xL3xL Member Posts: 676
    i have an actor getting all wonky before the scene loads completely but it does happen on the device just on the creator. so i guess it ok.

    so when you type this:

    constrain self position x to 50+(1+sin(game.Time%360*300))*15

    what are the brackets for? and why the sin have a "1+" before it?
    what does %360 mean?

    not trynna be a smart ass, just trying to learn this stuff. :)
Sign In or Register to comment.