It looks like it's going to be a little while before we'll be able to have space battles, and while jumping ahead to future locations on the roadmap to make the game more enjoyable now is nice, in moderation, I don't think overdoing it in that regard is the most practical course of action.
The purpose of this thread is to identify significant programming projects that fall in the scope of pre-v0.4. So here's what I've come up with:Special Projects
A more robust system to allow the player to execute in-game effects.
Instead of everything that's produced being in the form of a building or ship, it would definitely be nice to be able to create a "project" which doesn't result in a building, and requires quantities of any arbitrary resource. The most notable current example where this would be useful is Terraforming. Future examples include things like creating new starlanes or planets, or destroying starlanes, or even further in the future, espionage projects which can be performed on enemy planets.
* It should be possible for projects to have ongoing effects
** Could this be accomplished by projects with unlimited cost/time that have an effectsgroup associated with them being in production
*** Should all projects potentially be able to have effectsgroups that are active while they are being executed regardless?
** Should some projects simply not be annihilated when they are completed, and remain in the project queue, perhaps with an effect that forces the player to continue spending resources on it until it is removed from the queue?
Ideally, I think there needn't be any distinction between "production" of buildings, or the execution of a special project. The construction of a building could simply be an ordinary special project with the CreateBuilding effect. The project would annihilate itself on the turn of its completion (like a one-shot project such as Terraforming), and leave a building behind.
* BuildingTypes would need to be redefined to omit buildcost and time and location, and all that stuff would go in the corresponding ProjectType.
* Different "classes" of project could determine what window they show up in. For example, projects which use PP would go in the production screen, regardless of whether they create a ship or building at the end - Terraforming, Starlane Creation, Planet Construction, etc. would appear in the production screen.
** In the future, espionage projects could go in their own class and be accessible from the espionage window, which would presumably have other features not present in the production window, to assist the player in figuring out what to do with his spies.
** Are there any kinds of classes of project that need to exist right now, aside from Production?
** Are different classes of project even necessary at all, or should we create a new type of object for stuff that doesn't fit in the production screen?
Speaking of arbitrary resources, perhaps resources should be moved to a text file so they can be moddable? The project descriptions could then reference any existing resource by name, allowing modders or content creators to experiment with quantified strategic resources.The Planets/Ships Screen(s)
I just find it really, really tiresome clicking on every system to find out where the best place to colonize/whatever is. It's been mentioned that this might be part of some greater list of all objects in the universe, but I'm not really sure that's practical. In particular, sorting options and info displays for one type of object (i.e. planets) will take up space and probably not be the same or have the same ideal layout as sorting options and info displays for another type of object (i.e. ships). A separate, specialized screen for each would probably be the most effective.
* Should these screens be separate, or together, possibly including every other known object in the universe?
* What kind of information and sorting options should a planets screen contain?
** Does there need to be a separate screen for player-owned planets (MoO2's "Colonies"), or should players be able to give basic orders such as focus setting changes via the planets screen?
* What kind of screen layout is ideal for the function of the planets screen?
* What kind of information and sorting options should a ships screen contain?
** Clicking on each ship should probably bring up some detailed description of its design and current condition. Exactly what should such a description contain?
* What kind of screen layout is ideal for the function of the ships screen?
Are there any other similar things that could/should be implemented before v.0.4 is released?