I had a strange notion that it would be cool to try and push the vision engine to support Privateer style gameplay. It's probably too much to ask of the gameflow part of prophecy without getting ahold of the source code itself, but I got to thinking about what the maximum map size is in the game and whether it would be possible to populate a single map with enough ships, star bases and such to make it feel alive.. For example, what would we need to reproduce a single Privateer star system in the vision engine?
It's actually something that I had given a lot of thought to, years ago. Obviously I never made any attempt to create such a project - and in all likelihood, I never will - but I believe I had the core mechanics figured out quite satisfactorily. Only one aspect seemed to pose extreme difficulty - the player's ship. I never could see any satisfactory way of allowing ship modifications. At best, complete ship replacement might be feasible. Mission assignment (as opposed to mission content) also poses a challenge, but only in terms of the effort it would require when editing gameflow - nothing impossible, though.
The way to implement Privateer in WCP is to basically treat missions as systems. There is nothing in the game's structure to prevent a mission from being repeated multiple times, so the player can take off to fly in a given system as many times as he likes. Landing on a different station (and being able to take off from it again) is also easily done, as global variables are shared between missions, and can be used to keep track of where the player is landing, and where he needs to appear on take-off.
Populating the system is the least of all problems. WCP's limits, without any modifications at all, are vast compared to what Privateer did. I doubt any Privateer system had more than twenty navpoints (note: encounters between navpoints were actually invisible navpoints). I doubt WCP would have any difficulty with that many navpoints, and certainly the amount of space it can put between navpoints is far greater - I mean, in Priv, you had tens of thousands of kilometres, in WCP you have hundreds of thousands, or even millions of kilometres. When it comes to ships themselves, again there is no difficulty. WCP has
far more powerful scripting capabilities than Priv did. Those basic random encounters you had in Priv are a piece of cake. More complex scenarios are easily possible - little set-pieces, where you encounter pirates who have disabled a freighter, dock with it, and then run away afterwards unless you happen to interrupt them. Or a bounty hunter popping in to pick out one particular ship among a dozen others. Or a militia flight scanning somebody else other than you, sometimes finding something, sometimes not. Some of the more complex situations, to keep scripting reasonable, would have to be bound to specific locations, but there is a lot that could be done. I don't know if you've played Skyrim, but if you did, and you recall the random events that happened throughout the wilderness, that's the level of complexity we're talking about. That can be done. The way this would work is that as much of these events as possible would be scripted in a separate unit, which would be shared by multiple missions. In the end, during compilation, each mission would end up with all of this code, but while scripting, only one place would need to be modified.
Questions remained on how missions would actually be assigned. Having random activity every time the player flies is no problem. The fiction system we had in Standoff gets us part of the way towards a mission computer like those in Priv, except that it doesn't easily allow randomisation of mission selection, and mission parametres: in other words, we could have, for example, nine missions for the player to choose, but these same missions would be displayed every time you were in this system. Mission parametres would be randomisable, but only partially so - basically, we can replace numbers in the fiction, but nothing more than that. So, you can have a mission where you must kill x Retros at Nav y, and you can change the x and y, but that's as far as it goes, and even the navpoint changes would be limited to numbered navpoints. However, the fiction system is our own implementation, and I don't doubt that if somebody wanted to, it could be sufficiently enhanced.
Oh, and when it comes to going to another system - well, we did that easily in Standoff, so it's not much of an issue here either. The only catch is that because of the way we handled the jump cutscene, there might be some issues if you're jumping out while under enemy fire, because the ship you see in the Standoff jumping cutscenes is not actually the player, but a stand-in.
As I said, the big catch is the ship. However,
if someone were determined enough, there is certainly no reason why a DLL patch couldn't actually modify a ship file outside of the game. In that case - and
if somebody could create a decent interface - the player would basically always be flying the same object (e.g. something called player.iff), and then the DLL patch would modify this object accordingly. This is still not perfect, as using a system of this kind would actually be making universal changes to the game: so, modify your ship, then load a savegame from two missions ago, and guess what? You've got both the modification and the cash you paid for it. Unless the changes to the ship file were done only in memory, and based on global variables (but that's a lot of variables). As you can see, the more I talk about this aspect, the more problematic and complicated it gets.
One other catch for the overall concept: it goes without saying, that as you think through a mod like this, there are some things that sound very easy and unproblematic, but then turn out to be extremely problematic in practice. That's bound to happen. Somebody would simply have to give it a try and see how it goes.