1. Firaxis celebrates the "Asian American and Pacific Islander Heritage Month", and offers a give-away of a Civ6 anthology copy (5 in total)! For all the details, please check the thread here. .
    Dismiss Notice
  2. Old World has finally been released on GOG and Steam, besides also being available in the Epic store . Come to our Old World forum and discuss with us!
    Dismiss Notice

How We Can Readily Proceed!

Discussion in 'Civ3 Future Development' started by Ozymandias, Apr 14, 2021.

  1. WildWeazel

    WildWeazel Carthago Creanda Est

    Joined:
    Jul 14, 2003
    Messages:
    7,206
    Location:
    %CIV3%\Conquests\Scenarios\
    There's also a number of mods under development (or maintenance, at least) in the Discord community.
     
  2. Flintlock

    Flintlock King

    Joined:
    Sep 25, 2004
    Messages:
    861
    Good to hear the modding community is more active than I thought. I'll admit I'm a little out of the loop with Civ 3, I played the game a lot around release then hardly at all for 15 years, got the itch to play a game last December, and since then working on my mod has been sustaining my interest.
    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.
     
  3. Ozymandias

    Ozymandias Archivist, redux Supporter

    Joined:
    Nov 5, 2001
    Messages:
    10,133
    Gender:
    Male
    Location:
    The lone and level sands
    Well .. this all began (sort of) with this all too brief "Wish List Thread."

    That being said, I totally agree with @WildWeazel about there being two (or thereabouts ) pathways at hand. The first is all of the excellent "Maximum Patching" underway to increase modability. Part of why I was hoping that all of you High Power Coders would (OK, perhaps "coordinate" isn't the right word) keep everyone else abreast of your work, is simply that only you chaps have any well-developed sense of the possibilities and limitations of what we can actually wish for, from your pursuits (although @Civinator does seem to have a better "intuitive grip" on this than I.)

    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.

    The best possible situation (however improbable) would be to obtain the source code from Firaxis, via a request I've already made, to Soren Johnson, which I'll be following up on in ~2-3 weeks. There are other alternatives to this, discussed throughout these threads, but their implementation(s) remain problematic, at least for the time being.
     
  4. Civinator

    Civinator Blue Lion Supporter

    Joined:
    May 5, 2005
    Messages:
    7,626
    Gender:
    Male
    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. :)
    The German translation of your patch is ready in most parts since some weeks. The problem is the German localisation of C3C by Firaxis. I don´t want the German translation of C3C falling back too much in quality behind your great patch. Therefore I am reworking the partly very cruel German Firaxis C3C texts (both wrong in expressions and in world history) and add some better graphics to the new German version of C3C, too. As I have just finished reworking the first of the C3C Conquests, I will need at least two more weeks for reworking the other parts of C3C, too. There was a first post at civforum.de, that a civer is happy about the new stealth attack settings in your patch, as now the assassins in the Middle Ages Conquest can be played much better. :thumbsup:
     
  5. Civinator

    Civinator Blue Lion Supporter

    Joined:
    May 5, 2005
    Messages:
    7,626
    Gender:
    Male
    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.
     
    Last edited: May 21, 2021
  6. WildWeazel

    WildWeazel Carthago Creanda Est

    Joined:
    Jul 14, 2003
    Messages:
    7,206
    Location:
    %CIV3%\Conquests\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.
     
    Puppeteer likes this.
  7. Civinator

    Civinator Blue Lion Supporter

    Joined:
    May 5, 2005
    Messages:
    7,626
    Gender:
    Male
    ... and this is only the part of players, that has problems with the labels text file when playing C3C mods and scenarios.
     
  8. Flintlock

    Flintlock King

    Joined:
    Sep 25, 2004
    Messages:
    861
    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.
    I insist. :) I'll put a note like "thanks to Civinator for the German translation" in the special thanks section, and I'll include a link if you send me one. You've helped me even more than just the translation, for example I would've given up on the houseboat bug if you hadn't pointed me to those save files.
    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.
     
  9. Ozymandias

    Ozymandias Archivist, redux Supporter

    Joined:
    Nov 5, 2001
    Messages:
    10,133
    Gender:
    Male
    Location:
    The lone and level sands
    As I've mentioned 20 or 30 times, I've not been a hands-on coder in about those same number of years, so I realize that any number of my questions might either be mistaken or off-target entirely. Nonetheless, I'm in awe of what you're achieving, and to say that I'm absolutely intrigued would be an understatement.

    So, with those caveats aside:
    • 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?
    • This one's pretty much "due diligence" - Can "plug compatibility" with @Quintillus' editor be maintained?
     
  10. Ozymandias

    Ozymandias Archivist, redux Supporter

    Joined:
    Nov 5, 2001
    Messages:
    10,133
    Gender:
    Male
    Location:
    The lone and level sands
    And CCM is (seriously) quite possibly why so many folks still play Civ 3.
     
  11. Lanzelot

    Lanzelot Moderator Moderator

    Joined:
    Jun 25, 2007
    Messages:
    5,937
    Location:
    Heidelberg
    @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!
     
  12. Civinator

    Civinator Blue Lion Supporter

    Joined:
    May 5, 2005
    Messages:
    7,626
    Gender:
    Male
    With other words: Firaxis should pay the programmers here for improving their exe as their sales will rise. :D
     
    Flintlock, Ozymandias and Lanzelot like this.
  13. Civinator

    Civinator Blue Lion Supporter

    Joined:
    May 5, 2005
    Messages:
    7,626
    Gender:
    Male
    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.
     
  14. Flintlock

    Flintlock King

    Joined:
    Sep 25, 2004
    Messages:
    861
    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.
    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.
     
    WildWeazel likes this.
  15. Flintlock

    Flintlock King

    Joined:
    Sep 25, 2004
    Messages:
    861
    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.
     
  16. Civinator

    Civinator Blue Lion Supporter

    Joined:
    May 5, 2005
    Messages:
    7,626
    Gender:
    Male
    Especially interesting would be an additional information about tradeable techs from AI civs. There exists a very interesting tool for C3C called CivAssist II. It can be found here: https://forums.civfanatics.com/threads/civassist-ii.118540/

    Most civers (including me) fail to install that tool properly with Win 10, but Elephantium showed, that it is possible to run that tool even under Win 10. The most important function is to show all techs that can be gained from the AI, a very important information, that is missing in the trade advisor.

    If CivAssist II is installed properly, it can be opened during gameplay by a new icon, that is appearing on the screen:

    CivAssist II.jpg
     
  17. Ozymandias

    Ozymandias Archivist, redux Supporter

    Joined:
    Nov 5, 2001
    Messages:
    10,133
    Gender:
    Male
    Location:
    The lone and level sands
    Hmm ... This isn't an angle I'd considered ... :think: I have a few other in mind - And now it's just a matter of seeing how long I can hold my breath. :D
     
  18. WildWeazel

    WildWeazel Carthago Creanda Est

    Joined:
    Jul 14, 2003
    Messages:
    7,206
    Location:
    %CIV3%\Conquests\Scenarios\
    Alternatively, we convince them that forking over the code is cheaper in the long run than dealing with our inquiries :mischief:

    That development post is coming right up.
     
    Flintlock, Lanzelot and Ozymandias like this.

Share This Page