Brilliant!

Aug 4, 2010 at 8:02 PM
Hi I just wanted to say great job on this! It is helping me to no end, really great stuff. I found this project because I was trying to make the same thing and was looking for any code samples that would help :) Safe to say you've expanded upon the idea way more than I had thought possible. Maybe my only nitpick is it would be nice if you added summary comments to the classes and methods and fields. So for example when I hover over ScreenManager.Call it tells me what this method does. Also perhaps some performance statistics for the xbox? Garbage collection can be a problem on the xbox, and whilst it wouldn't be a problem for a menu, a was thinking more for a 'gameplay' screen. I hope you keep up the great work, Alex
Sep 11, 2010 at 7:36 PM

Thanks! Sorry to take so long to reply - after two years of no discussion posts, I stopped checking! ;)

The main reason for the lack of comments on the components is because I'd been focusing on making it easier to create components that can be used in the designer, rather than making the components. Most of the components in the library are there for me to test the rest of the framework. I'd planned on adding more documentation after finalizing the programming model; that's something I was changing frequently. The tricky part in designing components is providing the right properties and events so that they are easy and intuitive to use on a design surface.

Certainly, for anyone looking at the download, I can see how comments would be helpful. I'll think about adding some more after I upgrade this project to XNA Framework 4.0.

The components I've implemented don't make any allocations in their Update or Draw methods, so they shouldn't contribute to GC overhead. On the Xbox 360, the JIT compiler does not inline properties, and virtual method calls are significantly slower than non-virtual method calls. However, the VS designer is all about properties, and re-usable components aren't very re-usable without virtual methods. Still, in most cases neither of these issues should cause a performance problem - in particular in menuing scenarios.

In game scenarios, it all depends on your game implementation. If you create a GameScreen for your action, and no other screens are visible, then the screen itself really doesn't have any overhead. I probably wouldn't use the sprites for gameplay, though, if that's what you meant. This framework isn't really a 2D engine or anything - it's more for building your game UI and for prototyping.

Thanks for the encouragement. I've been working on other projects lately, but I will work on this again after 4.0 ships - particularly to add Windows Phone support.

Sep 14, 2010 at 6:31 PM

I've been upgrading the project to XNA Framework 4.0, and while I was updating the installer, I realized that I'm not even building intellisense help files. Comments only appear in intellisense when you reference the projects containing source code. If you reference the assemblies installed by the installer, then those comments are not there. I'll add intellisense help files to my to-do list.

Oct 25, 2010 at 1:24 AM
Edited Oct 25, 2010 at 8:49 PM

Hello, just a message for say this is a very good projet. :)