Aphrodite's Forum Posts

  • Ancillary as far as I know, this touch to start music is a chosen limitation by safari's devs, and so working around it won't work (it requires by design a physical touch input from the user to make sure no music will play without the user wanting it), I could be wrong though.

    Still annoying that browser vendors takes decision for the sake of "user experience", it is not their job to "fix" a website issue, at least they could give a way to ask the permission to the user "do you want this page to be able to play sound files ? Yes/wait for my confirmation/No".

  • Same here, most of the time I already read the awnsers before it even pops, frustrating.

  • The 16 reasons the players leave is a nice article, however there is another thing that makes me personnally leave a game (and I cannot be the only one on earth): badly used advertisements and not being able to play.

    First, fullscreen video ads, while they should not even exist in a game (they should just not, nothing to add really), if they are badly implemented, it is even worse as it can simply ruin the game, same goes for every advert present on screens where the attention is focused on the actual gameplay, if the player has no intent to see the ad because it has to focus on the game, do not put an ad!

    Second, not being able to play, some games seems to like it when you can play when you want, cut the rope 2 will give you 1 try per hour I think, same for slam (based of a tv game) I think, sometimes you can buy more plays, which is fien (arcade did it..) but still frustrating, and the worst of course is when you can watch an advert to have more plays, pretty sure we should report those games as it is not in respect with advert providers terms of use, I should try to learn about every way to make sure that baddly thought apps cannot prevail.

  • Ashley could it be possible that, behind the scenes, some webGL specifics operations could be software calculated on some platforms (not asking if it happens, but if browser vendors could work around specific bugs with that, which could explain the slow while not being blacklisted)?

  • I think platform plus is an edit of the former platform plugin, which did not supports slopes (so not gripping agaisnt a wall that is not 90° =>double jumping possible because of that maybe), and worked also with non rectangular hitboxes (sort of.) Without much issues, even though I never could reproduce those described issues myself.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Actually most picking condition will make it so the rest is applied to every incstance already, but in some specific cases, that is not the case (I think the On timer condition is one of them), in those cases, adding a for each loop is mandatory, also a trigger happens first, always, but in the cases I saw (like the on timer), the loop can be done after the trigger and it will work just fine (the for each applies to every picked instances, so the trigger may pick instances, but the loop after will apply that to every concerned instances).

    Also trigger once is not a good idea after loops, since it will be true for the first cycle of the loop only, however, the other way around may work.

  • A capx is basically a project folder that has been zipped, however I think C2 does not keep the .wav files themselves (which was not your question but still keep that in mind in case you need those back).

  • "is it actually possible to swith renderer in runtime ? "

    No, and it might be due ti the fact that without webGL, every single asset of your game is loaded at every given time, while with webGL only necessary parts are. So If a switch could be done, I would think it would force a complete reload which is not something you want to do mid game (in an option menu maybe, but canvas2d being faster than webgl does not mean fast enough in many cases, still would be nice for user experience to have that option in a graphic setting menu, although with every asset being loaded, the crash risk is real for PC with not enough memory, and even without that, the potential is that it may just load images from the disk, which may be a concern).

    All in all, canvas2d is a fallback, nothing else, if there is an issue with webGL, then we either fixing it or working around is a better choice short, mid, and long term wise. Unless the issue is C2 specific, in that case fixing it would do the trick.

  • jomo the opposite actually:

    Set angle to No: the angle of motion will be independent to the display angle (self.angle) of the object (think of a ghost in a pacman, it does not rotate visually when the angle of motion changes, always the top of the head at the top, and the bottom at the bottom)

    set angle to yes: the angle of motion will set the actual display angle (self.angle) to the angle of motion of the object (think of a pacman, it rotates with the direction it goes to to have his mouth going forward), the angle of motion is the one to overwrite the display angle.

  • I've used lerp before with distance(). It seemed a little overly complicated, but then again so does this.

    Like I don't know what init means, and I'm not sure how to get the x component out of that.

    Or should I say overly simplified?

    I may have over complicated it, it is the same as dutoit ( init was a value, which dutoit calls c)

  • Well, if A.x and A.y are the coordinates for point A, and same logic for B

    with let's say course being a variable between 0 and 1

    you have lerp(A.X, B.X, course) returning an X value

    lerp(A.Y, B.Y, course) will return the Y value on the same line corresponding to that X, as long as course is between 0 and 1, the point will be between them.

    EDIT: if you prefer the actual equation of the line (AB), you can have it:

    Y=(A.Y-B.Y)/(A.X-B.X)*X+ init

    Init being found with

    A.Y=(A.Y-B.Y)/(A.X-B.X)*A.X+ init

    init= A.Y-A.X*(A.Y-B.Y)/(A.X-B.X)

    In the end, If I am correct,

    Y=(A.Y-B.Y)/(A.X-B.X)*X+A.Y-A.X*(A.Y-B.Y)/(A.X-B.X)

    or Y= (X-A.X)*(A.Y-B.Y)/(A.X-B.X) + A.Y

    Depends on what you want to do exactly after that...if it is verifying if a point C is between A and B, you just verify that A.X<C.X<B.X

    and that C.Y= (C.X-A.X)*(A.Y-B.Y)/(A.X-B.X) + A.Y

  • Rhindon thanks, I posted it on a new topic :

    Will be easier to see I think

  • As we know, the platform behavior can be used to control a character and make it jump, however something always bothered me, we have two parameters for the jump:

    JumpStrength and gravity

    While I understand the need for them (the Y position being calculated with a similar logic to :

    Y=0.5*gravity*relativetime^2 - JumpStrength*relativetime + InitialY )

    those are still unclear values for the actual person choosing it, we would rather set the height of the jump and how fast the jump is...

    And there are ways to do it!

    Just have this in mind, H is the height of the jump, T is the time to go from start of the jump to top of the jump, and calculate the values with:

    Jump strength = 2H/T
    Gravity = 2H/(T^2) = JumpStrength/T[/code:35nceqxs]
    
    You want a 300 pixels high jump that take 0.5 seconds to reach those 300 px?
    then you need 
    [code:35nceqxs]JumpStrength of 2×300/0.5 = 1200
    Gravity of 2×300/(0.5^2) = 2400[/code:35nceqxs]
    
    Of course, since the trajectory is not a smooth curve, but a discrete one (since C2 calculates the values at given times), expect it to be slightly imprecise with the framerate, and so do not have a 300px platform to jump on if the jump height is 300px, still a good ballpark figure that you can affect if you want.
    
    for those who want to calculate everything, not just the jump strength and gravity, here's the math part (you need to know two values to calculate the others):
    [code:35nceqxs]
    JumpStrength = T*Gravity
    JumpStrength = sqrt(2*H*Gravity)
    JumpStregth = 2*H/T
    
    Gravity = JumpStrength/T
    Gravity = (JumpStrength^2)/(2*H)
    Gravity = 2*H/(T^2)
    
    T = JumpStrength/Gravity
    T = 2*H/JumpStrength
    T = sqrt(2*H/Gravity)
    
    H = (JumpStrength^2)/(2*Gravity)
    H = JumpStregth*T/2
    H = Gravity*(T^2)/2[/code:35nceqxs]
  • sqiddster I understand, and I agree that until we know for sure, both parties should try to improve the situation, also I asked for pix.js on other GPUs as, if it is still much faster than C2, then we would know it is an intel issue BUT that there would be a sorta large room for improvement on the C2 side possibly, which would help everyone I think.

  • It may be worth it to check also pix.js on a non intel gpu to see if the ratio is still as big, and also to test it with moving objects (note I am on a tablet and the test you brought does not respond to touches so I do not know if those are moving), as there may be a optimisation for non moving objects to prevent rendering them again if not needed on a smaller level than the everything or nothing moves of C2.

    Still an intel problem if their gpus reacts differently of course, but if there is something that can benefits everything, might as well do it. It would be interesting to know what they are doing differently (worst case: not using functions because of the intel issue), if it is for a good reason, might be nice.