I've always thought if people regularly code their own movements instead of using behaviours (e.g. a custom platform movement instead of platform behaviour) then the behaviours should be improved so that everyone uses them. They're not meant to be a toy for newbies, they're actually meant to provide functionality in a useful and accessible way. They should also be customisable enough that you can implement custom functionality to make your game unique and interesting, be that springs or reversing gravity or whatever.
If you have any ideas on how behaviours can be improved towards this - especially in C2 - do tell us your ideas! I was under the impression most people use the behaviours, even for full games - if that's not the case, I'd be interested to learn why.
Hey Ashley, would you say the idea behind a C2 Behavior is to make it easier to modify than a C1? The biggest problem I've always found with C1's behaviors is how excluding they were to other code. Leading up to a point where you like most of a behavior but its coding rendered an idea in operable*; requiring the designer to either try to replicate the behavior from scratch or sloppily code around it.
Also just my suggestion, but the ability to synchronize values from multiple behaviors might be an interesting suggestion toward making them "play nice" especially if you could modify said behavior so one wouldn't have control over an object. So if two values are synchronized then they both share one value making any change to one a change to the other.
For example. You could synchronize the X and Y velocities of a platform and physics behavior, and then modify the platform movement to not be able to directly affect player movement, but do it through the physics object. But that's just me talking.
*Example: someone wanted a game using a time-slowing mechanic. The player himself would not be affected by the slow. How do you code around the platform behavior to accommodate this? (Issue with behaviors and timescale)
*Example 2: someone wanted a platform game where some platform characters would ghost through certain platforms and others wouldn't. I actually did manage to code this, but I had to completely abuse how the behavior worked to accomplish this and it looked kinda sloppy. (Issues with behaviors and collision)