That, I know, but how do you use/make special functions
Plans are the new special functions. A plan is kind of a combination of (from version 1 terminology) a path and a special function combined. You can use a plan that contains two points (defining a rectangle on the map) to trigger various actions based on whether a sprite (player sprite or any other sprite) is within or touching that rectangle. The intention is that anything you could do with a special function in version 1 can be done with a plan with just 1 (or very few) rules in SGDK2... it's supposed to be just as easy, but more flexible. The intention in SGDK2 was to allow you do do pretty much everything you could do in version 1 almost as easily, but also provide more flexibility so that, if you get a little more sophisticated, you can do more complicated things too (that could not be done as easily in version 1).
So don't let the power of SGDK2 overwhelm you. It's still possible to do almost everything (if not everything) that you could do in version 1 almost as easily. You'll notice that all the most useful basic sprite types have importable templates in SGDK2 so you can create the same kinds of sprites in SGDK2 that you created in version 1 without even touching the rules in many cases, let alone writing any code. And certainly you can create very complex sprites without having to know any C# code. Just select the rules and parameters from dropdown lists ... should be almost as easy as version 1.
The great benefit (and I think the benefit is more than worth the cost of the slightly increased complexity) is the improved flexibility you end up with. For example, I mentioned Plans above. You can still create a special function, but now you have control over whether to trigger an action based on the player sprite
or any other sprite, which you couldn't do in version 1. And you also have control over whether the sprite is just touching the rectangle to trigger the action (IsSpriteTouching) as was the behavior with version 1,
or whether a particular point in the sprite is actually within (IsSpriteWithin) the rectangle to trigger the action (which wasn't possible in version 1). This is just the simplest of examples of flexibility. The power of SGDK2 goes far beyond that, of course.
and why do you need source code to make music when 1.4.6 can make music without sourcecode- just by easily dragging and dropping musicand video files?
This allows you to choose any music library you want instead of having to rely on the suggested music library provided with SGDK2, and it also allows you a great deal more control over the behavior of the sounds and how various parts of the game interact with them (notice the spectrum analyzer built into the background of the sample game). I tried to keep it relatively simple by minimizing the amount of code required and providing a tutorial, but there is a bit of a trade-off. I have talked with a few users about the process of creating sounds. I asked a couple of them about creating a wizard and writing a tutorial, and they seemed to think that writing a tutorial was good enough. But certainly this area could be enhanced in the future, providing a wizard to import sounds for you to make it even easier.
Just keep in mind that this is only the first release, and the purpose of the first release is to get the basic set of functionality completely tested, usable and available for everyone to start using, not necessarily to implement every feature that might make this the most usable. I don't want to spend a lot of effort enhancing parts of the program that people don't care about, so I want to get the basic set of features out first, and then build on that. I've been listening to suggestions and improving things all along, so don't feel like your comments are going unheard (I'm trying to implement OpenGL support now so that SGDK2 can be more portable across platforms; maybe even target game systems someday). And also keep in mind that trying to understand all of SGDK2 at once can be overwhelming, and you don't have to understand all of its power to use it. You don't have to know C# to be able to create a simple game (as the tutorial demonstrates). You don't really even have to know how to edit rules to create a simple game, if the templates are good enough for you (the tutorial went into extra detail to help users understand how sprite behaviors are constructed, but most of them can just be imported).
You're right, that SGDK2 is somewhat more complex than version 1. But if you can avoid being overwhelmed by it, I think you could get used to it. I think a number of users have adapted to the new philosophy pretty well. I'll let them speak for themselves. Anybody else care to comment on their initial impressions about SGDK2 and how they adapted to it and how initial impressions/expectations were met or not met?