fedca's Recent Forum Activity

  • I read this very interesting blog posts on the topic yesterday, it goes into different 2d collision optimizations as well as benchmarking. https://0fps.net/category/programming/collision-detection/

    The main verdict is:

    - cells are super fast if the cell size is tuned properly and the distribution of instances is uniform

    - the tree structures try to fix that by putting more cells where more instances are so it can handle random distribution and clusters more efficiently

    Looking at the benchmarks this person does it seems like rBush (https://github.com/mourner/rbush) is performing very well in a wide variety of cases, so I added it to Wacky Toasters benchmark https://drive.google.com/file/d/1aM894Ckvqb-BVBREuXN34CqDtpzmuZQ3/view?usp=sharing (just hacked in)

    Test 1:

    3x faster than quadTree and 100x faster than collision cells. But that is probably only due the collision cell size being tuned badly, as in theory this bench should be very favorable to collision cells.

    Test 2:

    I don't really understand how events are so fast in that benchmark.

    Another side note: to me it seems like wasm is a good fit for a collision system like this as it seems easy to separate from the main js logic and could lead to some nice perf improvements.

  • one is for Edit Time, the other for Run Time.

    But I agree that it's super annoying to have to juggle a ton of different files for addons.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Press enter after selecting multiple objects to wrap select them

  • does this work for you?

  • never mind my last message it doesn't work properly in all cases, I think my test was flawed.

  • Ashley so if you are checking for 10 different timers in the event sheet, enemy on timer X, enemy on timer y etc. You have the overhead 10 times. With true triggers the behaviour processing might be slightly higher but you wouldn't have the overhead againfor each on timer check.

  • They don't have to be in the layout, you usually create a object repository layout where you set them up

  • Construct has hierarchies (scene graph) and a system called templates. These two combined can do what you are looking for

  • Ashley I hope this really is an oversight... But this has been brought up before so I doubt it...

    you can only add containers to the base object types, so when picking its family variant there is no way to know which container each instance has. This might be fixable if families had their own container so an object type can have both a family and a object type container

  • yea I noticed that rewriting stuff in js also leads to worse performance if it's just a simple event. I was able to get better performance if I was doing some heavy stuff on the instances, as this evens out the initial overhead.

    The reason for it seems to be that getting the instances is slow, no matter if using the iterator or getting the array of instances, maybe due to runtime glue or because they are lazy created? (getting instances by UID was fast again)

  • 100% agree, Overboys addon is great! (most of your recent posts make me feel like I'm not alone xD)

    This plus nested families would allow writing so so much cleaner, more scalable and more performant events as you can get rid of a lot of picking spaghetti and for each.

  • Downside of tweens is that "is tween running" is super slow. Value tween checks seem to be fast (tested with sprite.twee.value(tag) != 0) but when it also has to check the property tweens it becomes slow af.

fedca's avatar

fedca

Member since 6 Jul, 2017

Twitter
fedca has 63 followers

Trophy Case

  • 7-Year Club
  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Popular Game One of your games has over 1,000 players
  • Famous Game One of your games has over 10,000 players
  • Viral Game One of your games has over 100,000 players
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • Enduring Visitor Visited Construct.net 90 days in a row
  • Unrelenting Visitor Visited Construct.net 180 days in a row
  • Continuous Visitor Visited Construct.net 365 days in a row
  • RTFM Read the fabulous manual
  • x217
    Quick Draw First 5 people to up-vote a new Construct 3 release
  • x32
    Lightning Draw First person to up-vote a new Construct 3 release
  • x28
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

22/44
How to earn trophies