Aphrodite's Recent Forum Activity

  • 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.

  • 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.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • 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.

Aphrodite's avatar

Aphrodite

Member since 20 Dec, 2011

Twitter
Aphrodite has 2 followers

Trophy Case

  • 12-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • RTFM Read the fabulous manual
  • Email Verified

Progress

17/44
How to earn trophies