This project is read-only.

Full-blown game architecture

Sep 26, 2011 at 2:58 PM

Hi. I'm having trouble wrapping my head around how all these pieces fit together. I downloaded the demo set and poked through it but it seems to be separated so as to showcase specific aspects of the framework. I thought maybe Game.Demo would illustrate "this is what your actual game architecture, with everything, will look like" but it doesn't seem to demo anything but a packing utility.

Is there anywhere I can see a full-blown game implementation based on the framework? I don't expect maps and NPCS and quests, just a skeleton implementation that covers setting up all the basics of a real game:

  • Game services
  • Game state management
  • GUI
  • Audio, Graphics, etc.

So that I can get a birdseye view of the architecture.


Also, while I like your approach to the GUI, I'm clearly going to need more functionality from it. Multiline text input, text selection/copy-paste, left/center/right and top/middle/bottom alignment for text and controls, multiselect list options, etc. I don't mind writing this stuff myself but I'm not sure where to begin. Should I subclass these, or override renderer methods, or directly modify the source (seems like a last resort)?

I know I could spend a couple of days digging through the source but it would be really useful to have some documentation that was geared for developers who plan to extend the base functionality.


Finally, I looked at your source control site and it appears that you are actively working on the codebase, but it's been quite awhile since the last major release here on codeplex. Do you still intend to publish releases here, and just don't have a more recent stable version yet? Should I be downloading the latest commits from your SVN server and working from those?


Thanks for your work and your time.

Nov 21, 2011 at 10:37 PM

While I do not use the Nuclex gamestate manager in my own project, my own engine may be a useful example. I do, however, use the GUI and Input managers from the nuclex library.