Looks good, I like the way you've setup the projecct so far. I agree that keeping the game logic and state seperate for the UI is a good idea that allows us a lot of freedom in the future for different UIs (HTML5 anyone
).
I also like the event system setup.
I'm most comfortable writing processing systems so I'll probably be most useful in the game logic and network level.
Unittests are useful, I've never really worked on a project that had more than a handful for core components though.
I'm all for agile programming, I find it's much easier than other approaches to actually get something done.
As for reusing other GPL-ed remakes I've not looked at them to know. Though they may have already solved some problems we are going to run into and may benefit us to at least look at them from a here's how someone else did it stand point. I'll make a point to look at them this week.
I'm sure I'll have more questions once I get to go through the code more thouroughly.
Files I'm missing from svn:
GameLogic\ConfigItemSubscriber.cs
GameLogic\RuleSetAccessor.cs
GameLogic\EventArgs\ConfigItemSubscriber.cs
GameLogic\EventArgs\RuleSetAccessor.cs
GameLogic\EventArgs\City\GetCityScoutingRangeArgs.cs
GameLogic\EventArgs\City\GetMaxPopulationArgs.cs
GameLogic\EventArgs\City\SpawnUnitArgs.cs
GameLogic\GameState\ISubscriber.cs
UI\Screens\ChangeProductionScreen.cs
UI\Screens\IDialog.cs
UI\TextDisplay\Text.cs
I think that's all of them.