Ashley's Recent Forum Activity

  • — - the thread you linked to, apart from having quite a lot of confusion over how WebGL rendering actually works, is a good demonstration of the tradeoff. Conceptually we can imagine either extreme:

    Maximum spritesheeting - there is a single gigantic spritesheet that contains all the images in the entire game.

    Pro: the entire game can be rendered without ever switching texture. In ideal circumstances, this means a single draw call can draw everything! (Although things like opacity, blend mode, effects etc. will "break the batch" and add more draw calls)

    Con: the game always uses the maximum amount of memory. There is no possibility for memory management - either everything is loaded, or nothing is. For large games this means they may not be able to run at all if there is not enough memory.

    Or: maximum memory efficiency - every single image is a separate texture.

    Pro: minimal memory use, since memory management is effective at ensuring textures which are not needed are not loaded.

    Con: maximum draw call overhead - every time a different image is drawn, it must switch texture.

    You can't have it both ways - this is a tradeoff between each extreme. I think the maximum spritesheeting case is worse than the maximum memory efficiency case, since the game can fail to run at all if it doesn't fit in memory. On the other hand the maximum memory efficiency case may be slower, but at least it can run.

    Neither C2 or C3 actually does either of those extremes, but C2 is closer towards the maximum memory efficiency end, and C3 is closer towards the maximum spritesheeting end.

    Taximan sent me their project by email which I am using to guide changes to the spritesheeting algorithm. In the case of their project, there was a signficiant increase in memory usage between C2 and C3, and it looks big enough that it may prevent some devices from being able to run the game at all. So I think it's good evidence we need to move back further the other way. In theory this could increase the draw call overhead, but as ever if people send me actual projects I can use them for testing and optimisation as I am doing with Taximan's project; otherwise I can only speculate. We do have some more changes in the pipeline though that should help both memory usage and draw calls, as well as giving more control over the spritesheeting process.

  • What should the note say? "If your math is wrong then some mathematically identical angles will be treated incorrectly"?

  • You do not have permission to view this post

  • Did you export with a different runtime to the same URL? It might be a caching issue. Try clearing the cache or publishing to a different URL. Other than that, in general Construct is not responsible for a failed server response, that would be something to investigate on the host.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Well, I don't think that's anything to do with Construct - the server is refusing to serve a file. So it's probably something to do with the host.

  • Can't you just copy-paste the project file on the cloud then?

  • Maintaining multiple different versions of the same feature is far more complicated and time-consuming than just having one, and time is by far our most limited resource. We really want to just have one algorithm, and tune it to work as well as possible.

  • The change in r129 was relatively minor; we have some larger changes on the way for the next beta cycle.

    Spritesheets help ensure loading and rendering is efficient, but at the cost of potentially using more memory. C2 does not combine different objects on to spritesheets, so has lower memory usage but higher loading and rendering overhead. C3 does combine different objects on to spritesheets, so can have higher memory usage in order to attain lower loading and rendering overhead. It's a classic engineering tradeoff between two different priorities; however I think projects like this demonstrate that we need to improve the balance between the two.

  • No, it's not compatible. Compatibility with Construct Classic was dropped in 2011 when Construct 2 first came out.

  • Why don't you want to download one? It will do what you need.

  • Mathematically, -90 degrees is the same as 270 degrees. So it is correct either way.

    People regularly make the mistake of trying to make linear comparisons on angles. This is incorrect because angles are cyclical. For example if you try to test if an angle is within 10 degrees of another angle, then abs(angle1 - angle2) < 10 is the wrong formula, because it doesn't take in to account the fact angles cycle around from 360 to 0. For example with that formula comparing 359 degrees to 1 degree will incorrectly count it as being 358 degrees apart rather than 2 degrees apart. This is why there are system expressions for comparing angles, like "is within angle", which internally do the correct math to take in to account the cyclical nature of angles.

    So in short if you use the right angle conditions, expressions and calculations, it doesn't matter: -90 will be treated as identical to 270. If you make linear comparisons then your calculations are incorrect to begin with and will have other problems like not handling the 360-0 wraparound correctly, as well as other problems like incorrectly treating -90 as a different angle to 270.

  • It ought to work OK in the latest Firefox ESR (version 60). Which version are you testing with? Are there any errors in the console? (Press Ctrl+Shift+K to open it)

Ashley's avatar

Ashley

Early Adopter

Member since 21 May, 2007

Twitter
Ashley has 1,830,249 followers

Connect with Ashley

Trophy Case

  • Jupiter Mission Supports Gordon's mission to Jupiter
  • 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
  • Forum Wizard Made 5,000 posts in the forums
  • Forum Unicorn Made 10,000 posts in the forums
  • Forum Mega Brain Made 20,000 posts in the forums
  • x126
    Coach One of your tutorials has over 1,000 readers
  • x74
    Educator One of your tutorials has over 10,000 readers
  • x5
    Teacher One of your tutorials has over 100,000 readers
  • Sensei One of your tutorials has over 1,000,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x44
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs