Cross-Platform Civ3 Editor

Cross-Platform Editor for Conquests now available! 1.48



There is a delay from click-starting to the editor actually appearing. But I have the sense that it's no longer than the launcher took to get to the same point.

What would be most useful with troubleshooting the launcher issues is to start a terminal, navigate to the folder where the editor is located, and then running:

Code:
java -jar launcher.jar

And seeing what it outputs. If there's some sort of technical error message, that would be useful to know.
My facility with unix/command-line is only 25 years rusty. :lol: Gimme a step by step set of instructions & I'll give it a go.
 
Quintillus - Didn't get a chance until tonight to look at the most recent editor changes and wanted to thank you again for adding the new theme support (i.e. high contrast). :thumbsup:

I was thinking about Steph's editor, and one thing I really liked was the ability to add and move units within the "unit list" so that I could keep unit lines better organized. Is that kind of functionality possible to add to your editor?
 
There is a delay from click-starting to the editor actually appearing. But I have the sense that it's no longer than the launcher took to get to the same point.

My facility with unix/command-line is only 25 years rusty. :lol: Gimme a step by step set of instructions & I'll give it a go.

The delay should be all but identical. Alas, instant startup with Java is not really a thing, but it should still be quicker than the early versions of the editor.

I will see if I can get some screenshots of the process up the next time I get out the PowerBook. Though seeing as it looks like the launcher is likely obsolete, it's not high priority.

Quintillus - Didn't get a chance until tonight to look at the most recent editor changes and wanted to thank you again for adding the new theme support (i.e. high contrast). :thumbsup:

I was thinking about Steph's editor, and one thing I really liked was the ability to add and move units within the "unit list" so that I could keep unit lines better organized. Is that kind of functionality possible to add to your editor?

Glad the high contrast is working well!

Though I have considered adding it, currently reordering the unit list is not possible in this editor.
 
I am trying to open a .SAV file in the 0.98 editor to view the map, and having a singular lack of success. How does on go about doing that?
 
Alas, I didn't get around to adding support for viewing the map within a .SAV (as opposed to a .BIQ). I know Civ Assist II can display maps from a SAV, and Civ3 Show and Tell can as well; if viewing the map is the goal, those may be what you are looking for.
 
Alas, I didn't get around to adding support for viewing the map within a .SAV (as opposed to a .BIQ). I know Civ Assist II can display maps from a SAV, and Civ3 Show and Tell can as well; if viewing the map is the goal, those may be what you are looking for.

CivAssist only shows what you as the player have explored, not the entire map. I am trying to figure out where the Zulu and inca are, as I have not found any else on the map I am playing. Note, I am using a map generated by in the editor for the test, so I have an idea where all of the starting locations are. Based on how the AI is progressing, they have to be all pretty much concentrated in one area.
 
Tonight I got around to making the first "Legacy" release. This backports some of the newer changes so that they can be used on systems which the initial 2010 release supported, but the latest does not.

In particular, this will be the new best version for OS X 10.4 through 10.7, and Windows 98/ME/2000.

Changes from version 0.98:

  • The System theme will now use the system-default font color for all UI font elements, rather than black. In particular, this allows high-contrast themes with a black background to work as expected.
  • The scroll bars on the Map tab will now reliably be set properly after changing the zoom.
  • The import from BIQ color-to-terrain-matching screen now displays a scroll bar so it is usable when you have a lot of colors.
  • You can now import unit statistics from a CSV file (includes the 0.991 patch).
  • On Intel Macs, use a system-native file open/save dialog instead of the previous Java file dialog.
  • You can now use shortcuts such as Ctrl+S to save in the menu, and Alt+F to open the File menu, etc.
  • Fixed a bug that prevented adding units when a BIQ did not have custom player data.
  • More intelligent default values when adding units, particularly in the Standard Orders, Special Orders, and Available To categories.
  • The editor now remembers what its size was when you closed it most recently, and opens at that size.
  • When exporting to CSV files, tech prerequisites are now correct if there is more than one prerequisite (the first one is not repeated).
  • The CSV export dialog now will only show CSV files, and also appends .csv if it is not specified.
  • The Attack value on the CSV export pane now has the correct label by default.

Essentially, this means that 0.99 Legacy is the same as regular 0.99, except that it doesn't have the ability to download units from CFC, and that the import-from-CSV option doesn't have the bug the initial 0.99 release had. 0.99 Legacy also doesn't have the online help ability that 0.991 has; its help is all local.

If you already have 0.991, you should stick with it upgrade to 0.992 instead; if you're stuck on 0.98 due to not being able to run 0.991, this is your new version.

Download here version 0.98 for now until 0.992 Legacy is ready due to the bug mentioned below.
 
howdy Quintillus,

i think i found a bad tweak using 0.991.

setup ...
- win7prox64
- conquestseditor_0_991
- c3complete

steps ...
- installed c3c in C:\Games\Civilization_3_Complete
--- to avoid virtualstore problems
- put your editor in C:\Games\Quintillus_C3C_Editor
- copied the standard "conquests.biq" to "conquests-ori.biq"
- opened "conquests.biq" in your editor
- set options\adjust-safety-level\all to "exploratory"
- switched to the BLDG tab
- selected "mass transit system"
- enabled "+1 trade per tile" in the "trade" section
- saved the file back to "conquests.biq"
- exited your editor
- started conquests
- started a new game
- left everything at the default
- built my 1st city
- ended the turn
- retired from the game

at this point two problems showed up.

1- the playback only showed me.
--- all the ai players were NOT shown at all.

2- the histogram showed the ai players starting off as equal to me and then going straight to zero.

when i went back into the game and played long enuf to meet an ai, the "build an embassy" function did not work.

i think you may want to test things and perhaps disable that option until the side effects are better understood. it's a darned shame, tho. i wanted mass transit to up the city grid income like highways did in previous versions of civ. [*sigh ...*]

i may not get any notice of your response to my post. something is glitched for me with thread subscriptions. i will try to remember to check back in a few days.

in any case, thanks for the editor! [*grin*]

take care,
lee
 
Hmmm... there's two possibilities, either that something with the +1 trade per tile and either it being a regular building, or something else with the Mass Transit System, does not work correctly, or it could also be related to directly modifying the conquests.biq, which I don't really recommend since it has a few oddities of its own. If the same thing happens with either a different biq, or with the File -> New option (which should give you the default rules, but without inheriting any of the unusual features of conquests.biq), there's likely something odd going on, which may warrant moving the +1 per trade option (or another if identified) to a lower safety level.

Although, if this does wind up being related to something with that +1 trade option and non-wonders, that's actually exactly the sort of thing "exploratory" was meant to discover... it's the adventurous-but-dangerous setting where some thing may not work, but you can play around and find things that Civ3 may support but Firaxis's editor doesn't. That's why it isn't the default setting, and I do recommend creating backups before playing around with it with biq's that aren't brand new.

I'll take a look at it and see if I can pin it down later - running out to meet some people now.
 
howdy Quintillus,

got a note about this thread update! oooo! [*grin*]

i tried it with a different biq and got the same results. i made the assignment to the barracks instead of scrolling down to the mass transit, but the result was the same.

i _tried_ to use your editor and do a file/new ... however, that gave me a file with no buildings in it. [*grin*] makes sense, but a bit of a bogglement at 1st.

btw, is there a way to UNLOAD a file from inside your editor? i couldn't find one ... [*blush*]

hope you had a good time out with your companions! [*grin*]

take care,
lee
 
Version 0.992 is now available. This release fixes the bug that Lee_Dailey caught above, and also introduces a new feature.

Changes:

  • Fix an AI strategy bug that was causing the behavior Lee_Dailey observed above
  • Add the ability to modify unit names of units on the map

The bug Lee noticed is not in fact related to Mass Transit or +1 Commerce, but is due to a bug in 0.99. 0.99 intended to make units have more convenient defaults for things such as AI Strategy, Special Orders, and so forth. However, this was inadvertently applied to existing units as well. 0.992 fixes this issue, and everyone on 0.99 or 0.991 is advised to switch to 0.992. If you are on 0.991 Legacy, 0.98 is advised for now (0.992 Legacy will be coming, but not tonight as it is late).

Being able to rename units on the map can be done from a new "Edit Unit Names" button on the right-side panel of the map tab, when you have a tile that contains units selected. This brings up a dialog that allows you to give units names, and also allows you to modify experience per unit (as opposed to just per group of units with the same experience level, as previously possible). This dialog's functionality will be expanded prior to 1.00, but I believe it is the last piece of functionality to be added prior to 1.00.

After version 1.00, I'll be looking at adding additional options such as a drag-and-drop way to add rivers.

This may also mark a return from hiatus for me; I've been working on other projects and learning new technologies over the past few months.

I should also note that I am not sure if +1 commerce on Mass Transit will work; after realizing the AI Strategy issue my goal for the night became fixing that. I plan to update this post with info on whether +1 commerce does work for regular buildings.
 
Version 1.00 is now available. Changes include:

  • You can now add additional spaceship parts, or remove spaceship parts.
  • The unit-renaming window now allows setting unit strategies in addition to unit names.
  • The unit-renaming window now is scrollable if there are a large number of units on a tile.
  • The BIQ export feature (BIC tab) now features more friendly output for map units.
  • BIQ Compare mode will no longer occasionally set the title to Civ3 BIQ Compare 0.45.

The move to 1.00 indicates that the editor is now considered to be feature-equivalent to the Firaxis editor in most respects, and particularly that you can now create nearly any scenario that you could in the Firaxis editor with this editor.

In the future I'll be looking at improving certain workflows, including the river-painting, but I'll have a separate post for that. For now, you can download the official version 1.00!
 
Version 1.00 is available to download in the previous post

Version 1.00 is here! So what's that mean?

It's time for a nice high-quality Belgian beer! :cheers:

Oh, you mean in terms of the editor? As mentioned in the 1.00 post, that means it's possible to do almost anything you can in the Firaxis editor with this editor. The civ-specific king unit option for map units isn't there yet, and there might be a couple more small things, but that's the only one I can think of right now. There are some cases where the Firaxis editor may yet be easier to work with, but it should be possible to fully replace it in almost all cases, should you want to. This also means that you should be on pretty much equal footing for scenario creation whether you're on Windows or not, at least in terms of the editor.

As for the future, I wouldn't expect a whole lot to change. Development isn't going to suddenly accelerate, but I don't plan for 1.00 to be the end of the road, either. Basically, I plan to continue modifying the editor as long as I have ideas for it and some interest in Civ3, and there's a community here at CFC. How long that will be, I don't know, but those factors feed into each other to some amount, and I don't see them falling off too much within the next year or two.

So does this mean we'll have editor updates 24 years after Civ3's release, like with JCivED for Civ1?

Maybe! But... that's also probably getting a bit ahead of ourselves. I have no idea what I'll be doing in 2025.

So what are some ideas for the future?

I have several ideas floating around in my brain. Among them:

Spoiler :
- Adding more cross-tab views. For example, it'd be cool if when viewing a terrain, you could also see, and perhaps modify, which units ignored terrain costs for that terrain. Or if you could see which units required a certain good while on the resources tab. This could both help check that the scenario is set up correctly, and be useful to players who were new to a mod and couldn't remember what might be sneaking across that forest without having to pay unit costs.
- Improving river painting, so you could do it like Firaxis's editor in most cases, but still have the precision options that the editor currently offers for fine-tuning.
- Adding some more convenience statistics screens. For example, having the editor display turn-time conversions on demand, statistics on cumulative empire statistics (did I give Civ A too much of a head start on cultural victory? How forested is the world?), etc.
- Additional features relating to more aspects of Civ. Perhaps Civilopedia integration, perhaps validating that leaderheads exist in the proper locations, perhaps previews of leaderheads or Civilopedia graphics. You wouldn't create these in the editor, but you may be able to view and cross-check them in the editor.
- Improving the CFC Workshop feature, to allow adding more than just units to the editor via direct downloading.
- Customization of certain terrain graphics, particularly on the ocean.


But in general, now that version 1.00 is out, I plan to work on whatever sounds interesting at the moment. This may wind up speeding up development a bit, provided there aren't too many other distractions, which is far from guaranteed.

What has changed over the past 6 years, anyhow?

Spoiler :
When the editor came out, you could do most things that weren't map-related. That was the first goal; I reckoned that to get any traction when Steph's editor had come first, I needed more features at release than Steph's editor had (it came out with just a few tabs, though the rest were added in rapid succession).

Since then, a lot of refinement has occurred, along with several major new features:

  • Map editing support, a first for Conquests non-Windows platforms (starting with 0.70 in April 2011)
  • Support for placing landmark terrain of any type. (0.82, February 2013)
  • The ability to create a Civ3 map from bitmaps, in a more flexibile manner than previously possible (0.84, April 2013)
  • Civ color customization within the editor (0.87, August 2013)
  • Support for downloading units directly into your scenario from CFC. (0.99, December 2015)
  • Support for features that the base editor doesn't allow, including charm/teleportation, and deepwater harbours (0.86, June 2013).

If you're on a significantly older version, I'd encourage you to try the new one, and explore some of these options!


Would I have started the editor in 2009, six years after release, in retrospect?

Spoiler :
In a word, yes. The editor has largely been an enjoyable project to work on, despite a few exceptions such as when I was trying to figure out exactly how Firaxis's editor determined which forest graphic to use, but more than that the Civ3 community has been a great one to be part of, and Civ3 also hit the right sweet spot of challenge and opportunity when I started working on the project. I could've tried to make utilities for Civ4, but aside from the fact that I was already active in the Civ3 community and enjoying it, I wouldn't have known where to start with Civ3.

The initial release was in 2010, and while the community is considerably less active now than then, it was pretty steady in the 2010 - 2011 timespan, and it was an exciting time to be here. Could the editor have made a bigger impact if it were released in 2005 instead of 2010? Absolutely. I think that would have in turn motivated me to add more of the (likely greater number of) feature requests, and would've increased the positive feedback cycle more. But the fact of it was that I wasn't on CFC then, didn't have regular Internet then, and was still less experienced of a programmer then. And I didn't even really get into C&C until a few years after joining CFC. So, while earlier in the game's lifespan would've been nice, I'm happy with what I've been able to do from when I did start.

And I wouldn't have traded my Stories and Tales experience for starting in C&C earlier either. That was what really got me hooked on CFC, and the timing on that was just about perfect. So, given the timing of everything, 2010 was when it made sense, and it's been a good endeavour.


Would I still have made the same technical decisions in retrospect?

Spoiler :
To a large degree, no, but the decisions made sense at the time. In retrospect, it would've made a lot more sense to offer to extend Steph's editor than starting from scratch, and I now know that the fact that it uses a different programming language would have been less of a hurdle than I thought at the time. I also likely would've looked into open source a lot earlier in retrospect. This is also something that could've been a lot more useful with a 2005 start - having an open source editor when there was lots of traffic could've encouraged its growth, and thus Civ's growth, even more - but we live and learn.

As for the technology itself, I feel that Java was a sensible choice, if perhaps not the optimal. The cross-platform aspect of it has really helped given that I haven't had a Mac for most of the development time, and thus it wouldn't have really been a cross-platform editor otherwise. The graphics (outside of the map itself, which is basically the same as Firaxis's editor) have perhaps aged the most - the editor has not taken kindly to the trend towards higher screen resolutions. As it is, the editor is using what's now the middle of the three main desktop Java graphics frameworks, though still a quite old one. However, the new one was still in its infancy in 2009, and had I chosen to go with it, I would've had to rewrite the graphics to keep it running on modern systems. So I think I made the right choice of graphics frameworks, but I didn't make good use of the abilities it does have to play nice with variable-resolution monitors.

I've also learned a lot about coding in the past 6-7 years. When I started, and wrote most of the code, I was still an amateur and a student. I'd worked on long-term group projects a bit, but this soon became the largest project I'd work on in code size, and still would be until about a year after the initial release. I learned more about source control though it, as well as modularization - a lesson that was forced by hitting a (quite reasonable) limit in the language while developing. There's a lot of places where I'd code in a different style now as well. There's code like this:

Code:
        else if (terrainType < 14) //not sea/ocean - is base terrain
        {            
            boolean wasLandmark = (tile.C3CBonuses & 0x2000) == 0x2000;
            
            if (brush.isLandmark)
                tile.C3CBonuses = tile.C3CBonuses | 0x2000;
            else
                tile.C3CBonuses = tile.C3CBonuses & ~0x2000;
            
            //Deepwater harbour
            //This is essentially a hack - we can't use our standard calculations about
            //whether to allow the terrain modification or not.
            if (terrainType == 12 && brush.isDeepwaterHarbour)
            {
                if (tile.getBaseTerrain() == 11) //was coast; valid harbour
                {

Which works, but involves a lot of low-level manipulation (sometimes spread out across files) and magic numbers. Not very maintenance-friendly, and that became a bit of a pain when trying to add PTW and Vanilla support. But those are things that I think of now, but didn't think of nearly as much in 2010 (or even, apparently, 2013, when that particular code was written).

A lot of that old code is going to stay, though. It's a lot of mostly-uninteresting work to change it, and it does pretty much work. If you wonder why banks still use software from the '60s and '70s in some cases, this is basically why, with the complication that sometimes they've lost the source code. The perfectionist in me wants to correct them, but when I actually start working on them I realize the features are way more fun, and thus the case usually is that only the ones that make creating the features a pain actually get changed.


What other Civ plans do you have?

Spoiler :
I still have some interest in creating a custom map, which I started work on (with the BMP to BIQ utility in the editor) last summer. I may dig into that a bit more later this year.

There's a few shoot-for-the-moon ideas I have for Civ, including making it easy to swap languages (e.g. to Russian) or fonts for Civ, and that Holy Grail of at least rudimentary event support. None of these are really likely, but I have some ideas for all.

Likely after a potential map, but I'd like to play around and see what I can come up with for a unique scenario that depends on features the Firaxis editor doesn't support.

I also hope to play a few more scenarios. I've returned to Rise and Fall of the Roman Empire this month, and have already got some new ideas from doing so. There's a ton of scenarios on CFC, so I hope to play more of them!


Any chance of evolving the editor into a game?

Spoiler :
While it's wise to never say never, it's very unlikely. Both due to the complexity, and based on my observations of community efforts in the Civ1 and Civ3 forums here, I think there needs to be at least two programmers - quite possibly more than that - on any community game project to have any chance of it making it off the ground. While the editor does have some advantages such as already displaying a full-featured map, what's been done is the easy part. And with less time availability now than 6 years ago, realistically the path of evolution is to a better editor, not a separate game. As cool as that might be.


Additional Thoughts?

Thanks for the support over the years, especially those of you who have been here the whole time or most of it, who have provided feedback, and have provided ideas! Much as the editor wouldn't have come into being without the intermediary Civ3 BIQ Compare and the support for it, the editor wouldn't have come nearly this far without the community. To a certain extent projects can make progress by being useful to oneself, but if my whole goal had been to create a cool Civ3 scenario to play myself, I definitely wouldn't have put this much time into an editor!
 
Quintillus... This is an Excellent Achievement! :clap::salute::beer::band:

You have Greatly Helped our Community and provided a tremendous extension for creation.

I am sure you are proud of this work and absolutely should be.

Time to Celebrate... Yes indeed and I hope you take time to make your Map and have Fun Playing some Scenarios.

Congratulations and Thank You for All Your Great Work! You are a Treasured Member of Our Community.
 
:goodjob:I totally agree with Vuldacon. The editor has opened up the possibility to experiment with settings and concepts that Firaxis' editor wouldn't allow. This has really expanded the modding options and experience for us Civ3-fiddlers. Thanks a LOT for your work, and enjoy your high quality belgian beer! (trappiste-beer I presume?)
:clap::woohoo::worship:

Sigurd
 
Thank you all. It's always good to hear that the editor has been helpful, and indeed I do plan to try out some new scenarios. I've been playing a bit of my RFRE game nearly every day the past week; it has another few weeks to go but after that I'll be perusing the forums and Downloads Database to decide upon the next scenario. And you're correct, Jorsalfare, it was a Trappist beer.

I'd also like to announce that the editor is now 100% open-source. You can view the two editor projects here, at Bitbucket. They are:

  • Civ3_Shared_Components, which contains the code for reading BIQ files, and some utility functions for manipulating them. You can use it to create your own BIQ utilities, separate from the editor, as well as simply for reference on the BIQ format.
  • Civ3_Cross_Platform_Editor, the editor itself (which uses the shared components).

The shared components are Mozilla Public License, which means you can use them in either open or closed source programs, but have to make any changes you make to the shared components themselves (but not your program that uses them) available as open-source. The idea being, if you improve the shared base, we should all benefit from it. The editor itself is MIT licensed, which means you can do essentially anything you want with the code, including making closed-source additions to it (although contributing back is encouraged).

Thus, if you're a programmer and there's a bug/feature you've been wanting to do something about, you can now do so. And if it so happens that I leave CFC someday, someone else could pick up the torch from wherever the editor is at that point - though attempting to contact me to make it official would be encouraged.

I'll likely add more details on what you would need to do to modify/contribute to the code in the help documents. There is at least one non-programming feature that could be contributed as well - adding to the translations. Some programming work would be needed to really internationalize the editor, but I don't have the language knowledge to do a sufficient job of the translation part, so it's a chicken-and-egg problem until then. If you have interest in it, let me know, and I can start working on the programming part of it in more detail.
 
howdy Quintillus,

the editor is - as stated before - nifty as all get out. [*grin*]

going open source is _freaking_ _fabulous_. the lost knowledge from when folks move on is heartbreaking sometimes. more often, it's annoying as heck. opening up your code is rather like showing the world a part of your soul. scary ... what if folks don't like it? [*grin*] i don't code, but do have a few friends who make their living that way. they always get twitchy when opening up a new chunk of code.

congratulations on showing the world your baby! [*grin*]

take care,
lee
 
Yeah, it's definitely intimidating considering the prospect of making code open source initially. There is a certain amount of, "What if I make it open source and some potential employer asks about it/finds it, and thinks the code quality is poor?"

A few years back, not having professional experience, that was a concern. Nowadays, I'm not really concerned about it. I have enough professional references now that it's not such a big deal. And the commit history also shows that most of it was written years ago. Even 2-3 years ago, I thought I'd try to clean up the old code before going open source... but the last 2-3 years have been good enough professionally for that to no longer seem necessary (it also was a big drag when I tried to do it for awhile back in 2014).

At this point I thinking having a decent-size open-source codebase actually would be a positive to potential employers. Even a few years ago, it was my answer of what I was doing to keep my programming skills fresh when I'd been out of work for a few months due to relocating.

It's also part of the reason I did it gradually, with the shared components in late 2014 as a kind of testing ground.

Limiting the potential lost knowledge is also important. While there's never a substitute for the possibility of a person leaving, having code and documentation can definitely soften the blow. A lot of developers don't like writing documentation, or even comments in a lot of cases, but I personally find it to be very much worth it over the long term. In part because I had a position where we inherited a system with poor documentation and very few original team members remaining, but in also because of my own experience referring back to my own prior code months or years later, which sometimes has had good documentation and sometimes has not. Open-sourcing the editor provides some measure of insurance against the chance that I may not be active on CFC in a few years' time.

At the end of the night, I was really glad I'd finally went ahead and made it open source. Kind of a milestone in a way, and also one that would have been easy to continue putting off. And at this point there were advantages to going open source and not really any to remaining closed source, so why not?
 
Top Bottom