Does Fusion have any particular reason to limit the maximum amount of objects at 30000?
Cause it would be nice to get another increase there, would be specially nice for backdrops, but interesting for other kinds of objects as well.
Printable View
Does Fusion have any particular reason to limit the maximum amount of objects at 30000?
Cause it would be nice to get another increase there, would be specially nice for backdrops, but interesting for other kinds of objects as well.
Small feature request: could we get an expression to get a sample's default frequency? This would make calculating pitch easier.
On object creation condition would make life much easier
I know there are alternative workarounds but they all have there ups and downs, while a simple "On object creation" condition would be the best :)
I still don't really follow. It seems you want an action that will automatically perform collision checks while it moves something and abort the movement if it finds an obstacle, but this sounds too rudimentary to be very useful. It would probably only be applicable to backdrops, which are already very limited. And what if you don't want the object to just abort its movement and stop? What if you want it to turn around? Or what if the obstacle is also dangerous, so you want the object to die when it touches it? Or anything else like that? In all those cases, you'd need to test the collisions yourself so you can put your own logic into the game, and an automatic hidden collision detection won't be of much use.
I also don't see the need for avoiding forEach loops. ForEach loops are great, are simple to use, and come with all sorts of advantages, such as being able to easily isolate subsets of objects, or being able to open/close groups in the middle of a loop. And their performance is fine, which is actually illustrated by your bunnymark example. I get 60fps when there are 16000(!) objects bouncing around. You say that the performance is halved when using forEach loops, which suggests I'd still get 60fps with 8000(!) objects bouncing around. That sounds totally fine to me. I can almost guarantee you that if you ever made a real game with this many objects, you would hit a GPU bottleneck from all of the graphics on screen long before you hit a CPU bottleneck from the forEach loops.
Though it doesn't matter what I think, of course. Yves is the one you need to convince, not me.
@Volnaiskra For example, I can only get 300 enemies that only fall, walk and turn around at 60 fps on my highly optimized enemy system on a high end computer.
The more complex AI/movement gets, the less instances you can have.
All conditions and expressions that come from the Active object can already work independently, it only falls apart when you need to use a Fast Loop.
Why do we need a fast loop? Cause you can only move 1px or less per frame if you don't want instances getting inside obstacles, or in certain speeds, going through it entirely.
So the two only ways of making a fast moving object with a custom movement is either with a Fast Loop or Move Safely 2.
Move Safely 2 works like I'm suggesting, in fact, Fusion 3 is confirmed to work similarly, they even mention it on the blog.
What Move Safely 2 does? It basically checks all positions before reaching the destination, so you can get a collision in between two points, even if the object "teleports".
But, Move Safely 2 is a pain to setup and can cause crashes it not done properly.
The push-out part wouldn't be necessary in what I suggested, just the part of moving one pixel at time, faster than the next frame be rendered, like a Fast Loop, but in a way that works on instances without a For Each like Set X/Y Coordinate.
So in resume, what would it do?
"Set Position" or "Set X/Y Coordinate" would teleport the object, collision would only be checked at the destination.
Now that I'm thinking, it makes total sense for it to be relative to object position and not absolute coordinates for my suggestion so...:
It would be something like "Move N pixels in X/Y", if I set it to move 10px, it would move 1px 10 times before rendering the next frame, effectively working like a multiple repeated actions on the same event, but in a way you can dynamically control how many times it will repeat, something like a in-line loop (which could also do it, would be even more useful, if you could set the start with the amount of times and the end on the action list, but this would require allowing to check for conditions in another event)
Attachment 30744
I think this would need a big change on how collisions are handled in Fusion, for it to check collisions while passing these positions
I'm not Yves to exactly know if it is hard or not but, but if it was hard to fix basic collision problems when scaling / rotating an object, it most be hard adding a whole new functionality to the collision system right?
But anyways, yeah I understand the appeal of it, at least if didn't matter in performance, it would matter in event size and simplicity in general
It can simplify a movement like this by a lot:
Attachment 30746
Though atleast it is something that exists in Fusion3 already
Hello, Please fix this error.
Attachment 30748
Second conditions dont work.
Attachment 30749
I doubt CT is going to fundamentally change the Fusion 2.5's core concepts.
I think this is one of the things that most new users http://https://community.clickteam.com/threads/109067-Help-scoping-multiple-objects
It would be nice if FastLoops didn't break scope. I suspect scoping wont be lost in F3. I can't wait! It's going to feel refreshing!
@Yves - give us some F3 news!! Just a little.... Lets get users excited again!
*I think this is one of the things that most new users struggle with: http://https://community.clickteam.com/threads/109067-Help-scoping-multiple-objects
**http://community.clickteam.com/threads/109067-Help-scoping-multiple-objects
I can't seem to edit my post.... sry! :(