Well , For starters..I do know that there would be several problems to solve before it could be properly implemented, problems like
- Scalability & memory usage ie: what happens to the Bezier spline path on larger layouts, I predict that the actual curves would scale uniformly which would result in larger, smoother curves as you place the Node further apart from each other..
This may affect its usage in many cases...unless more nodes are added to 'sharpen' the curves.. more nodes means more processing and memory use..so its a trade off ..would we cap the number of Nodes to a finite amount or allow free Scaling of complexity...something that would be nice but i can imagine it would greatly affect processing...Although we are talking just about pure maths functions here so its display on screen is really just a projection of its mathematical values stored inside of each node.
but that leads to the next problem..
- Display...ie: how would the Bezier be displayed& also what happens when you scale the Layout? does the Bezier path remain visible...would it be possible if we have Beziers could we have fill shapes as well...or line weights..to display the curve..
Some applications do have line weights and even effects for each bezier (illustrator treats paths as full artistic objects)
but seeing as Construct 2 is not a painting program...i dont see why it should have this feature...and on that point..it would be possible to pin objects to the nodes and orient the objects angle to the Nodes Normal angle of projection. once again...its usefulness is limited only by your imagination...
- Node handling..ie How the Nodes actually affect the curves..would we have additional bezier handle controls like in photoshop or illustrator? or is the sheer proximity of each node have a fixed output on its curve.
Also would we be able to have different outputs for each node...to create different curves on the output side....
ie: linear interpolation input & then say quadratic output after the next node
-These are only a few of the issues....
there are so many factors to consider...this is why I said that I know its "a big ask"
its actually a huge process to implement all of this into Construct 2..
personally I do think its worth it..as many other games design apps have it in various guises...
and I know that eventually C2 will have it...but its a big process to implement it with any serious degree of user friendliness.
To break it down further into Specific properties that would need to be encoded and threaded into C2..
because it would be a new OBJECT it would need all of the normal properties of an c2 object
Common properties like
-Layer..Definitely needed
-Angle..Maybe not needed but could be useful
-Opacity..Definitely needed
-Position and Size ..This is a more complex area...Because Each node would have its own position but determining the relative onscreen position of the entire bezier would need to be calculated as a result of each nodes relative position...and size again...the overall scaling of a path would be handy but would that be handled best by a boundary box or using this field??
-Instance variable...The Bezier Objects should also retain Variables but also ideally...each node should have variables..but as you can imagine this would make processing even more epic...if you have a 30 node Bezier...and many other objects...suddenly you have 30x more checks per tick at a base level...if you add a variable to each node....or 2 or 3 oops sorry your game just died...
- Behaviours...Of course!!!..As I mentioned above...In dreamfantasy land, every Bezier Node can have at least 130 umpteen behaviours attached to it and they all work perfectly...
Did you know in fact, that in dreamfantasy land...each and every individual nodes can all have multiple sine behaviours, so that I can have animated bezier curves node all Sinewaving up and down left or right with or without triangular wave peaks, and each bezier that I have on screen (because I NEED more than just one or 2 I need at least 33 beziers all doing this) all 'with' 300 rotating sine wave sparkle Particle Emitters effects(All Pure GOLD Animated Sparkles.. of course!!), all travelling around my bezier spline path with different speeds and accelerations ..so some sparkles can complete loops faster than others...in fantasy dream land...I ride a winged unicorn as well ..AND.. both me AND my unicorn have sparkles and wings... oh yeah by the way, every single node of my multiple Animated Bezier curve/spline path loop objects that are sine wave verticallying & horzontallying are also shadow casting and shooting rainbows out of its turrent behaviour and whilst the entire Bezier path is pathfinding its way across to my player it is also fading in & out full opacity at the same time and its bound to the layout as well as Wrapped to Layoutall at once ...WITH PHYSICS!!!!, drag & drop functionality per Bezier & per Node per Bezier and a each Node has a spanky nice new scrollto behaviour on each and every one of its animated sine wave nodes.. all at once .....all of it...at once...with not a single bug or crash ..not one....oh and did I mention that I wanted the Bezier Curves paths to be SOLIDS as well and to process physics operations but doing it without Box2D colliders...I did say that didnt I? ..I am pretty sure I did say that..
Oh and each one of those Beziers with all of those sparkle Particle Emitters effects is travelling around at totally randomly chosen speeds and accelerations calculated per tick, on the path of an even larger Bezier Spline Path which is also animated with sine wave wobbles...just like the universe that your computer is working processing in..
see a perfect object...should be a breeze to implement...as soon as its done & I fire it up for the first time...it will run flawlessly and drain no extra power from the socket in fact it will generate electricity and power my computer and the rest of the street cursively & exponentially ...bit by mega bit.....my computer will achieve sentience all in a fraction of a femtosecond and save the universe from destruction by infinitely and recursively implementing itself retroactively into much more disseminate forms to avoid data deletion..
yeah I have a soulmate as well..:p
so you can see...there are just a few minor issues to fix.....thanks Ashley for getting onto that for me...
Oh and HURRY UP ASHLEY I NEED IT NOW!!!!
stop wasting time on all that other crap
DO THIS NOW!!!
Joy!