WildWeazel
Going Dutch
There's also a number of mods under development (or maintenance, at least) in the Discord community.
It should be released soon-ish, probably within one week, and definitely within two. Do you anticipate you'll have the German translation done by then or shortly after? Because if so I'll go ahead and give you a mention in the readme.Flintlock, it would be great, if a next version of your great patch containing your fix of the houseboat bug could be released about the start of the next month.
I would like to see this wish list. There's already a sort of wish list at the end of the proposal document which makes this project sound very ambitious, most of that stuff, especially after the essentials section, wouldn't be practical to do through EXE patching.
Ah, maybe I wasn't clear- those are two totally independent avenues, I just meant that we should pursue both in parallel. Especially since Flintlock is doing all the patch work himself[...] Oz- would you care to take charge of the Wishlist?
It should be released soon-ish, probably within one week, and definitely within two. Do you anticipate you'll have the German translation done by then or shortly after? Because if so I'll go ahead and give you a mention in the readme.
Good to hear the modding community is more active than I thought.
... and this is only the part of players, that has problems with the labels text file when playing C3C mods and scenarios.Someone just pulled some Steam stats yesterday on 4X games and Civ3 was averaging 1100+ players online over the past month. They're out there.
I insist.Flintlock, I am more than very happy about all these wonderful improvements your patch is adding to C3C and don´t need to be mentioned in the readme.![]()
Replacing the unit AI through EXE patching would be possible, although it would be a lot of work. I've already located the function at the root of the unit AI, the one that loops over all of an AI's units and moves each one, so it would "just" be a matter of replacing that function and the dozens or hundreds of others below it in the call graph. It would be a lot of work, like I said, but I think the large majority of the work would be writing the replacement AI instead of integrating it with the rest of the program. And that's work you'd have to do anyway to implement unit AI in a rewrite of the whole game.Insofar as a "Big Picture" wish list goes, my hope, from the outset, has been that we can build a "new Civ3," "plug-compatible" (meaning: all game assets and mods already in place) rebuild of the game, itself. I simply can't see how improvements on the AI (e.g., intelligent use of artillery) can otherwise be achieved.
Replacing the unit AI through EXE patching would be possible, although it would be a lot of work. I've already located the function at the root of the unit AI, the one that loops over all of an AI's units and moves each one, so it would "just" be a matter of replacing that function and the dozens or hundreds of others below it in the call graph. It would be a lot of work, like I said, but I think the large majority of the work would be writing the replacement AI instead of integrating it with the rest of the program. And that's work you'd have to do anyway to implement unit AI in a rewrite of the whole game.
Another thing to consider is the interface. Based on what I've seen so far (and I can't say for sure until I try it) it shouldn't be too difficult to patch a new interface into the game, i.e. rearrange the contents of various screens. If we're going to reimplement the entire game it's definitely worth it to do an HD overhaul of at least the city and advisor screens and that's something we could begin working on through EXE patching. I've had this in the back of my mind for a while and one of the reasons I've never started on it is that I'm not much of an artist. I'm surprised I never got a request for it.
Lastly, that write-up I mentioned a few days ago is taking longer than I expected but I'll get it done tomorrow for sure.
And there is an astonishing number of civers still playing this nearly 20 years old game, too. Per example the mod CCM 2.50 in about 1 1/2 years was downloaded at CFC more than 2.300 times.
@Ozymandias : if someone brings up an argument like this in negotiations you might have with Firaxis officials, you can perhaps counter it as follows: we don't plan to distribute a "full game" that can be played on its own. We only want to modify and recompile the executable and distribute that. No one will be able to do anything useful with our new executable, unless he also has all the art files and stuff that go with it. In other words: in order to use our new exe, the player needs to have the standard game installed as a prerequisite. So if anything, this project would rather increase their sales of the standard C3C than decrease them!The downside to this continuing popularity is that Firaxis is less likely to give up the source code if the game is still selling, but we'll see about that soon enough.
@Ozymandias : if someone brings up an argument like this in negotiations you might have with Firaxis officials, you can perhaps counter it as follows: we don't plan to distribute a "full game" that can be played on its own. We only want to modify and recompile the executable and distribute that. No one will be able to do anything useful with our new executable, unless he also has all the art files and stuff that go with it. In other words: in order to use our new exe, the player needs to have the standard game installed as a prerequisite. So if anything, this project would rather increase their sales of the standard C3C than decrease them!
Another thing to consider is the interface. Based on what I've seen so far (and I can't say for sure until I try it) it shouldn't be too difficult to patch a new interface into the game, i.e. rearrange the contents of various screens.
I would need to do a more comprehensive analysis of the EXE. So far I've been identifying functions and data structures only as necessary for the things I want to change. Though I have found some areas where entire systems could be snipped off and replaced, like the unit AI as I mentioned, also game saving, the input event loop during used during the player's turn, and the interturn economy update. On the other hand, I wouldn't know how to replace the renderer, I've never looked at it in detail. Another thing to consider, since most of the program's functions are class methods, is that we could try to replace it on a class-by-class basis. Again that would mean analyzing every function in the EXE to figure out which class each one belongs to (could probably do most of them with a script). One problem with that approach is that class data is in most cases not accessed through getters so the data layout must be preserved until every use is replaced. Or, more generally, the problem with the Ship of Theseus approach is that it makes rearchitecting the code difficult.Is it possible to set up a "road map" for EXE patching (and whatever else) so that the game could essentially be "replaced" bit by bit?
I don't see why not. It would be nice if the BIQ format allowed us to pack additional data into the file, but I don't know if that's possible because that involves another area of the code I've never looked into in detail. But even if that's not possible, we could have our modified editor and engine communicate through a companion file. That's what I've been planning to do for my mod but haven't gotten around to implementing: the modded EXE, when it's loading a scenario, would look for a file [scenario name].c3x_config.ini, and load config info from that and layer it on top of the default config.This one's pretty much "due diligence" - Can "plug compatibility" with @Quintillus' editor be maintained?
One feature I liked from the otherwise awful game Master of Orion 3 was the "sitrep", a window that pops up at the beginning of each turn with a list of all the little things that happened between turns that don't deserve their own popups. It would nice to have something like that in Civ 3 with messages for government changes, war declarations between AIs, AI era changes, cities celebrating WLTKD, and maybe techs researched or new resources available to trade. I don't know how difficult it would be to add more zoom levels, again haven't looked at the renderer. But if we're going to reimplement it that would be an easy thing to make happen.Per example I am always thinking it is wrong, that the player is informed about the form of governments by other civs in the military advisor.
Another thing to reflect could be to add an additional level of zoom-in. The C3C editor has several such levels, but the game itself only has two - and of those I only use the one that shows the units in a bigger format. I think it could be nice to watch the combat between the wonderful battleships of Delta_Strife in a zoom-in that is 20 % bigger than the current bigger one. On the other side I think it is not useful to make the zoom-in much bigger, as per example the Sandris units have no faces, as Sandris thought, that with the current maximum zoom-in in the game, these faces could not be seen anyways.
One feature I liked from the otherwise awful game Master of Orion 3 was the "sitrep", a window that pops up at the beginning of each turn with a list of all the little things that happened between turns that don't deserve their own popups. It would nice to have something like that in Civ 3 with messages for government changes, war declarations between AIs, AI era changes, cities celebrating WLTKD, and maybe techs researched or new resources available to trade.
@Ozymandias : if someone brings up an argument like this in negotiations you might have with Firaxis officials, you can perhaps counter it as follows: we don't plan to distribute a "full game" that can be played on its own. We only want to modify and recompile the executable and distribute that. No one will be able to do anything useful with our new executable, unless he also has all the art files and stuff that go with it. In other words: in order to use our new exe, the player needs to have the standard game installed as a prerequisite. So if anything, this project would rather increase their sales of the standard C3C than decrease them!