It was quite exciting when I learned that Guildhall was using SGDK in their game design curriculum. They have since moved on to other tools, though. I think I fall short on advertising SGDK2 or something. I don't know if there's something inherently wrong with SGDK2 that makes it less interesting than version 1, or if other alternatives have surpassed SGDK in general, or if people just don't recognize it for what it is, but it seems like it could be so much more if more people were involved in taking full advantage of the features presented by SGDK2. Of course SGDK isn't much by itself. It's like a pen. Great things can be written with it, but without a skilled author, it's not much good.
The trick to making SGDK great, I think, is to find a good balance between being completely open-ended (being flexible) and inspiring the author with a certain predefined structure or premise. Creativity is a very tricky thing. Complete open-endedness doesn't help an author much because it's hard to start with a completely blank page. It almost seems like authors thrive in highly restricted environments, limiting their choices, which seems counter-intuitive, but I'm starting to get that impression. At the same time if the environment is too restrictive, the author won't feel like the product represents their own vision. Little Big Planet seems to have found a good balance. SGDK2 may still be too far on the "open-ended" side to be of interest to many creative people.
So if a system is very powerful and flexible, is it great even if nothing is created with it? Or if a system is old and limited, but authors continue to find creative and interesting ways to use it, does that make the system great? Maybe another
layer of framework needs to be built on top of SGDK2 to inspire people -- a layer of media libraries and templates that will drive authors to create something within a more inspiring framework.
It is quite exciting to create software like this, but I'm not sure how great it is by itself. I think its greatness must arise out of a collaborative community. The software isn't going to get much done on it's own. A great programmer isn't much good without a great artist, and on top of that pair, a great storyteller could work miracles compared to what the two could do on their own. Yes it's exciting to work on software that feels well-done, but I try to remember that even SGDK2 is only what it is because of the .NET framework that enabled me to create it so much more easily than version 1. And it in turn is only a piece or stepping stone of what could be a truly great game. The final masterpiece is not done yet. In fact when I originally conceived of SGDK about 10 years ago, I was thinking of it primarily as a means for me to create many small games (and maybe a big game) more quickly and easily, not so much as a product of its own. But I guess I'm having a hard time with the next step, so it's good that I can make this engine usable by other people in the hopes that someone else can get to the next step
I'll keep working on my new "Clean Game" project, and maybe that can become an inspiring framework for someone. Take satisfaction in completing something, but there's always "what's next?" I still feel good about releasing a new version of SGDK, but more and more that satisfaction relies on what other people can do with it. So give it your best shot and show my how great it is!
And, although I may not have a lot of artistic ideas, remind me to inspire people with technical ideas. For example, has anyone considered creating a game that accesses the web (when available) to present dynamic content or interact with other instances of the game? You could use the SaveGame function to save games. In .NET it's relatively easy to access the net (as the name .NET may suggest) -- you could post the save file somewhere and it could affect others' games somehow when they play. I have plenty of web hosting space available and may be willing to offer some to anybody needing some for such an idea. Or how about just remembering existing features. Remember that tile categories can contain specific portions of animated tiles' animation sequences. You could make one tile with a long animation sequence that moves through all sorts of different categories. You know the blocks in Mario that cycle though all sorts if items until you hit it and pop out an item based on where it was in the cycle? That would be easy using this feature. And the solidity of the tile can change as it moves through different categories -- as the sample project shows, that's an easy way to make disappearing blocks. Also remember that tile images are not confined to their square in the map. The isometric sample project shows how you can easily get an isometric view by allowing tiles to overlap. And remember that a layer doesn't have to scroll automatically or take up an entire map. You can make layers that only appear at one specific rectangle and manually control its position like a large complex sprite (though I haven't tried this myself except with implementing the ability to display messages as layers).