Until we actually have a wiki or shared googledoc or something for design, I'll post some namespace structure ideas here:
I am seeing a lot of public interest PMs sent, quite a few community members are interested to help, though many of them don't have C# experience. I don't have the utmost faith in casual crowdsourcing of dev work, and I think the majority of work will still fall on a few dev's shoulders, but I do believe in giving perhaps not fully dedicated wannabe contributors the opportunity to help out. I advise we get a ticket board up, something listing small and large tasks we need done, whether coding a window, a GLSL shader, writing, translations, icons or GUI art, perhaps 3D models later... We can then point any interested parties to one of them.
Back to design. I'm not making any decisions in this about gameplay beyond what Aurora already makes, but this decision needs to be made in order to kick off the repository.
The following assumes a full MVVM model:
Pulsar4X (solution)
Pulsar4XGTK (project)
-Windows
-Dialogs
-Controls
-Images
-ViewModel
Pulsar4XLib (project)
-Entities (database plain data entities)
-ModelView
-Stargen
The namespaces will read basically Pulsar4XGTK.Windows etc
The model, context, utility, maths and constants classes don't need their own namespace and will be directly in the Pulsar4XLib namespace. I am considering advising to drop the ModelView folder and have the ViewModels connect directly to the Model for greater simplicity in this case which I guess would make it more MVC? Either way I don't want a single line of gameplay logic and code to sit in the windows classes ideally. How well this works for GTK I dunno, I come from the WPF direction in my current dayjob.
As we continue we'll add more namespaces. Obvious ones seem to be for AI, Technology, Combat, economy etc and will primarily be added to the Lib project as we expand.
Basic UI Planning:
[Welcome Screen/Select Game] <--> [Main Window]<-->(SUBWINDOWS!)
^
[New Game Window]
Okay, not exactly sure what to do about the main window, just that while not broken it is def one of the more non-standard parts of Aurora compared to other games/apps. The Economy menu is certainly one of the most used windows in base Aurora, so I feel its integration with the main window would be a good thing. If we integrate EVERY window it might look more like Stars! (
http://wiki.starsautohost.org/wikinew/images/7/74/Stars_screenshot.png) but unsure whether that is good or bad. Alternatively I was thinking something with Ribbon-like tabs to switch to different functions? I play with 2 screens though and liked having system map on one screen while economy and other windows on second...
Either way I feel this is a good place people can contribute. If anyone can make some mockups of some ideas what the Aurora windows SHOULD look like we will properly consider them.
One of the safer windows to dev early, and one I would like earlier rather than later, might be the F9 window. Pick a system, list its stars and planets. The columns of stats for each planet might change with design, but I don't think the basic look and feel of it will change that dramatically. It would make it easier for me to test out planet generation experiments however.