Bezier Spline Paths? UPDATED for ASHLEY's Brain!!!

Discussion and feedback on Construct 2

Post » Mon Sep 15, 2014 2:37 pm

supporting this request, happening to be in need of that actually!
been looking into the 3rd party solutions but those aren't as flexible as I'd need them to be.
B
13
S
5
Posts: 218
Reputation: 1,721

Post » Mon Sep 15, 2014 3:08 pm

inquiesco wrote:Different situation, he's not an end-user, he's a developer. He might be developing a game he's going to sell, and if you're going to ship a product reliant on third-party components that may give up at any time and be unsupported, therefore, potentially making any game-breaking bugs irreparable... then you see the potential issue.

Different situation, bezier spline paths are just a matter of simple maths. So simple, that only +,- and * are involved. As a developer you could do this easily on your own, just using events and functions (see another spline example done with events and functions and simple math in the old Construct Classic). So any plugin offering spline paths that work right now, will also work in 10 years (if C2 still exists then).

inquiesco wrote:If they hadn't experienced a set-back, loss or massive stress (or all of the above), avoiding third-party plug-ins because of a 'just-in-case' notion is still not a bad thing. Concern and caution are good measures to take.
I sincerely hope it's the minority that thinks this way, because else it will be the end of a community sharing platform. Why should anyone of those 3rd party developers still invest their time and work so hard to help other developers getting faster to their goals, if nobody wants to use their offers? Or maybe they should just charge for it? Cause often times people think they get better quality when paying for a product. ;)
Image
B
24
S
8
G
10
Posts: 1,821
Reputation: 8,279

Post » Mon Sep 15, 2014 3:18 pm

tulamide wrote:I sincerely hope it's the minority that thinks this way, because else it will be the end of a community sharing platform. Why should anyone of those 3rd party developers still invest their time and work so hard to help other developers getting faster to their goals, if nobody wants to use their offers? Or maybe they should just charge for it? Cause often times people think they get better quality when paying for a product. ;)


I agree with that viewpoint as well, but you can't deny there's a place for both risk and caution when it comes to using and/or buying third-party plug-ins. Just as people shouldn't 100% stop using third-party plug-ins, they shouldn't dive 100% into using every one that is developed. It depends on the person, their situation and their personality. Since you put forward the pro statement, I just put down a con, I wasn't saying caution overruled using any third-party plug-ins as a blanket statement, :).
Founder of Jadelight Studio, Developer of Libertas Aedifex, regular C2 Help contributor and fan of ambient music and Star Wars.
B
12
S
4
Posts: 255
Reputation: 2,008

Post » Mon Sep 15, 2014 3:29 pm

eli0s wrote:@megatronx , If you are referring to the SplinePath, it looks to me that it does just the basic stuff and it's only controllable through events. Mystazsea describes in every detail an implementation of a spline tool that will be very useful and easy to use.

I made one myself trough events :) And yes, it is visual. It's not that difficult to make.

@Eisenhans That's fair enough.
My professional Royalty Free Music at Scirra Assets Store
--------------------------------
Specs: i5 2500, 16gb of ram, gtx 770, win 7, Focusrite Scarlett 8i6, Mackie mr8mk2, Alesis 320, browsing the net on chrome.
B
89
S
30
G
22
Posts: 1,985
Reputation: 20,099

Post » Mon Sep 15, 2014 5:48 pm

inquiesco wrote:I agree with that viewpoint as well, but you can't deny there's a place for both risk and caution when it comes to using and/or buying third-party plug-ins. Just as people shouldn't 100% stop using third-party plug-ins, they shouldn't dive 100% into using every one that is developed. It depends on the person, their situation and their personality. Since you put forward the pro statement, I just put down a con, I wasn't saying caution overruled using any third-party plug-ins as a blanket statement, :).
True, nobody should just take whatever plugin there is, or at least be aware that not all of them will be working forever (especially those, that access browser functions and the like). So I agree to this quote completely.
Image
B
24
S
8
G
10
Posts: 1,821
Reputation: 8,279

Post » Mon Sep 15, 2014 5:57 pm

this will be a great addition to C2.

+1
B
43
S
11
G
4
Posts: 428
Reputation: 7,454

Post » Mon Sep 15, 2014 6:34 pm

+1 as well

You can do bezier curves with control nodes using Canvas very easily:
(https://www.scirra.com/tutorials/1124/simple-water-using-paster-plugin)

but unfortunately Canvas have no collision masks and interaction with curves is very difficult :)
ImageImageImageImage
B
157
S
66
G
41
Posts: 2,599
Reputation: 34,825

Post » Wed Sep 17, 2014 12:15 am

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.. :D
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...:D

Oh and HURRY UP ASHLEY I NEED IT NOW!!!!
stop wasting time on all that other crap

DO THIS NOW!!!

Joy!
When in doubt..or you are lost in a Zombie apocalypse or someone is giving you a hard time..Remember one thing..... Read the Construct 2 Manual..it will save your life.:)
B
35
S
13
G
8
Posts: 318
Reputation: 7,685

Post » Wed Sep 17, 2014 7:09 am

wait...wait...Ive had a bit more of a think about it and ...Actually... I want the Animated Bezier Sparkle objects to shoot other Sinewave Node Animated Bezier Sparkle objects out of its Sinewave Turret behaviours that are also about to shoot other Animated Bezier Sparkle object Beziers out of their respective and recursive & recurring Turret behaviours...is that clear now?
Should make it a lot easier to program now..:D and all of these turrets behaviours should be aimed at other other instances of my player object ..just like america does...:D(oops I think I was just racist or something)
clear?

good
Now im happy (but not about racism I mean happy that C2 is now having unlimited Bezier Curves Path loop objects...)

oh and any chance I can get that in a gold plated and newly minted out of the box edition of Construct 2?

yes ..cool thanks...:D
now I am really happy...
Thanks Ashley...You are the BEST!!
When in doubt..or you are lost in a Zombie apocalypse or someone is giving you a hard time..Remember one thing..... Read the Construct 2 Manual..it will save your life.:)
B
35
S
13
G
8
Posts: 318
Reputation: 7,685

Post » Thu Apr 06, 2017 10:21 am

I have posted a similar idea here. I think it's worth a vote if you guys really want this in Construct.
https://construct3.ideas.aha.io/ideas/C3-I-94
B
28
S
7
G
4
Posts: 204
Reputation: 4,863

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: Exabot [Bot] and 13 guests