I was wondering, if we shouldn't start thinking about preparing a Progress Release. Not tomorrow and not next week, but maybe as soon as the item buy/sell system and funding as well as intercept is working - that should be doable within the next two months or so, right? So I was thinking about what would be nice to have becides the mentioned things. Maybe you could have a look if you got the time and we could work out a list of needed features and what is needed to complete those features.
I thought of the following:
Sound and Music - It would be nice to have sound, as far as I know, this shouldn't be too difficult to integrate - the sounds are available already, and XNA comes with everything needed for this - right? Having Sound would add greatly to the value of a PR.
UI - maybe a little polishing of the UI would be nice - I know this is very difficult. It would be very nice to one day have the old UI back, because I really think this looked pretty damn nice, but as far as I understand this, we'll have to use whatever we get for now since CeGUI++ is not compatible with CeGUI#. So I was wondering if it would be possible to polish your UI a little bit. E.g. get rid of the blue frame in Geoscape and extend the starbox to lay under the button-panel on the left side. Plus it would be nice if the frames and boxes wouldn't be movable anymore but fixed and had some kind of glue-greyish background so they are readable more easily. What's with SupSuproe? Could he be motivated to work on this?
Models - I have no clue whatsoever how difficult it would be to import the old models. This is a very low priority, but it sure would be nice to have rotating models at least in the XNet.
So these would be the things I think are important for someone interested in playing our PR. Maybe you could give me some feedback about what is doable/realistic and what timeframes you would estimate for this. Again, no pressure - let's keep this between us and those who really need to know (e.g. maybe Rincewind since he is the only one working with you right now) for now so noone gets dissapointed and there'll be less pressure - especially on you guys. I just thought it might be good to have a reachable far goal, maybe within the next three months.
I assume you're suggesting a progress release of the XNA branch. My first response is that the XNA branch is still experimental, and we haven?t decided yet to continue with it. So, unless we?re going to go this route, building a PR is a bit pointless.
Assuing we want to do a PR, taking your points, somewhat out of order:
- UI. I'm reluctant to spend any time polishing this. The reasoning is as follows. The exising CeGui# library, while adequate, is going to need significant work (months) to get it to a "polished" state we will desire for a finished work. As the XNA branch of xenocide (for XeNAcide as I like to think of it) is probably going to take 2 to 3 years to finish the basic engine at the current rate of progress. I'd rather spend the time working on the engine in the hopes that over this period, either others will work on the CeGui# library, or an alternate widget library will become available. That said, grabbing the background artwork for the screens from the C++ branch and putting it into the XNA branch is probably doable. I've got some notes on how I think it could be done in ToDoList.html in the docs directory of the XNA branch. If you can find someone willing to do the work, I will be happy to give them some additional pointers.
- I haven't even looked at sound. I suspect it is a simple task, but as with CeGui, it's not core to my main objective, getting a working engine. My priority is "get it working."
- Importing models. Is a bit like the CeGui# story. I've spent some time investigating this. The big problem at the moment is XNA only has 2 types of models it can import .x and .fbx. .x files loose a lot in conversion. They only have mesh and diffuse colour maps. .fbx work better, but getting an export we can import is a problem we have yet to solve. RK is investigating. That said, others are working on a Collda import pipeline, and I think this is the way to go. However, it?s a matter of waiting a bit for their work to finish. (Perhaps a year.)
That said, a number of the existing models can be imported into XNA. Of the blender files we have, I know the two missiles convert, the XC-33, and grenades. (note, the XC-33 is missing the diffuse texture maps.) The X-Caps can also be imported with a bit of manual fixup. The laser rifle also converts, but there?s some weirdness with the scaling ? which I haven?t looked into. Rotating the models in X-Net is trivial. Right click on the image, then move the mouse. Right click again to stop the rotation. As in the geoscape. Mouse wheel changes the zoom.
I'm working on funding at the moment. The big bit here is the statistics screen. Which I estimate will take 2 to 3 weeks. Depends on how much time I spend fighting Rincewind. And answering e-mails:-)
Items/Buy Sell. Based on how much effort this took to implement last time, I'd guess about 2 months.
Edit: Ignore this bit about XNA being dead, we're still going to continue with XNA.
Finally, I think it's time to admit that the XNA branch is a dead end. The fundamental problem is XNA doesn't run on Linux. And I can?t see this being rectified within the next two years.
And this really annoys me, because I think XNA/C# allows us to make good progress. The only way I can justify continuing on the XNA branch is assuming that we can use C# as a prototyping environment. Build an engine that works, then backport it to the C++/Python codebase. As such, spending time on cosmetics such as polishing the UI, Sound, importing models etc. are a complete waste.
Edited by dteviot, 21 June 2007 - 02:20 PM.