Civ "expansion": more eras and evolutive civs!

Steph

Multi Many Tasks man
Retired Moderator
Joined
Sep 1, 2002
Messages
18,162
Location
Pont de l'Arn, FRANCE
Is there any utility maker here who worked on reading saved game?

I have started to do that for the next step of my editor, and I have seen some strange things inside.

I'd welcome help warmly :D.

I may also need some help for testers who would produce saved games in different configurations, so I could check if I can read them properly.
 
After one day of hard work, it seems I can now read a saved game and all the sections have been identified.

Not very detailed yet, as most of the time I just load a whole bunch of bytes without knowing what they are for.

Next step, see if I can save the file again.

When it works, I can start changing the saved game.
 
Is there any utility maker here who worked on reading saved game?

I have started to do that for the next step of my editor, and I have seen some strange things inside.

I'd welcome help warmly :D.

I may also need some help for testers who would produce saved games in different configurations, so I could check if I can read them properly.

What do you mean by different configs steph? Do you mean [civ3] [ptw] [c3c] ?
 
I can produce saved games if you need me to.
 
I will make C3C latest version only.

By different config, I mean scenario with or without different types of buildings, with war, with alliances, and without.

For instance, if I want to see where the "can build bridge" is saved, I need a save just before you discover the tech, and just after. If possible with very little other difference.

It may require creating some test mods, with very few techs, and play them just long enough for the save, so the part I need to identify is easier to find.

However, I don't plan to completlty understand and manage the whole save game. Just the parts I need to improve the gameplay.

My first goal to validate the concept will be to make it possible to change your civilization name, traits and leader name with each era.
 
Steph, wouldn't it be simpler to use some features of the debug mode to find out where an information is stored ?

P.e., for the bridge building. Don't bother getting the tech the regular way. Use debug mode and SHIFT+left click on the tech. Check save before and after. There, you're sure that's the only difference.
 
That's a possibility, but it may not work with every case, and also it's good to have testers who can come with varied saved games.
Because if the editor is to be stable, it needs a variety of testing sav. And users have a tendancy to try something the programmer did not think about :D.

For instance, I may think about the bridge problem, but a tester can have another idea that I forget to test.

Also, when I start "heavy" editing, like adding more than 4 eras, I'll need to test it on many savs to find possible side effects.
 
Well, write out some guidelines on what kind of test savegames I should be making and I'll see what comes up.
Or I can just upload a few old random ones I already have (see attached files)
The first file is one that was recently uploaded as a trial for offshore resources.
The other three are old runs of Plotinus' Rood and Dragon scenario, be sure to have the scensario folder!
I don't have any "epic" savegames at the moment.
Need any screenshots to compare?
 

Attachments

  • Oil on the Coast.SAV
    72.9 KB · Views: 56
  • Edwin of the Northumbrians, 735 AD.SAV
    416.6 KB · Views: 53
  • Aelle of the South Saxons, 699 AD.SAV
    358.3 KB · Views: 48
  • Offa of the Mercians, 963 AD.SAV
    536.9 KB · Views: 60
I don't need saved game immediately.

Here is what I will do:
- First, now that I can load, I will do the save, and check I can open the save in civ afteward ;). For this I don't really need help. I can load the whole file, split in in parts (UNIT, CITY, etc), and save again as it was, I don't need to understand the contents.

- Then I will start to do a tool that can change a saved game. For instance, change the name of the era depending on the civ (so instead of Bronze age, Iron Age, you can have "Middle Kingdom" and "New Kingdom" if you are Egypt, but "Shang dinasty", "Qin dinasty" if you play as China. Here, I can take ideas : what could change with each era? I will also need help to find where a specific info is located, with testing sav.

- After that, I will see how to add eras. This will be the hardest part, because it will require changing the rules, and also update all dependencies. And there a lot of testing savs may be needed. And also testers to try the tool.
 
I have changed the thread title. Before I program this "expansion" (which is not really one as I don't have the source code), I think we can discuss it a little.

Here is how I think it will work:
- I will expand my current editor to add support for the new features. It will save it in a new scenario file (biqX). This file will contains everything from the biq + additional information.
- When you want to start a new game, you will first start an external program and load the biqX. Then ask to generate a starting biq. It will generate a normal civ3 biq, but adapted to the situation. Ex: if you select to start a new game as "Egypt", then the first era will be renamed to "Middle Kingdom". It will also add support for additional settings, like "era change" splash screen dependant on your civilization, or science screen also dependent on your civilization (so you can place arrows correctly with your civ specific tech trees).
- Then you start a Civilization game, and start a new game with the biq generated at the previous step.
- Every turn, you go to the external program and load the autosave (I'll see later if it can be automated). The program will check the current status, and if needed we'll propose a change. If it happens it will modify the saved game. Then, go back to civ, load the new saved game. If there is no change, you can just play the next turn.

Now, what are the changes that the program will check:

Individual Era change:
Each time a specific civ enters a new era, here are the changes I plan to introduce (ie make them dependant on the Era):

-- The name and gender of the leader
-- The name of the civilizations (ex: Rome, Italy)
-- The civpedia entry
-- The traits
-- The agressivity
-- Favored government/shunned government
-- Build often/built never
-- Cities list
-- Military leaders
-- Scientific leaders

What I probably won't change:
-- Free techs
-- Culture group

What I may change, but don't know if it is useful
-- Colour

General era
The program will also count how many civs are in each era, and the era with the most civ will be considered the "general era".
Some things will change when the general era change:
- Size of the cities
- Movement rate along road (could be 2 in ancient times, 3 for industrial, 4 for modern for instance)
- Barbarians, Battle created unit, army unit
- Research time (min/max)
- Resource from goody hut

Should I change something else?
- Food per citizen?
- Defensive bonus?
etc.

Also, I can make some graphics era specific: irrigation, mines, roads, railroads, etc.

Please give feedback on this.

To sum up:
- what can be changed one a specific civ enter a new?
- What graphics could be changed depending on the civ you select? Science screen? Advisors? Era splash screen? Other?
- What can be changed when the general era changes?
- What graphics could be changed depending on the general era?

Additional era
Once the above new features for civIII are working, and I don't think it should be too difficult to do, the next step will be to allow more than 4 eras.
But this is for later, let's focus on evolutive civ with each era first.




My own mod
I wil make a version 4 of my mod (I know, version 3 is not finished), based on this concept, for a whole new gameplay experience.

Graphics needed
This is a call to all graphics maker: if it works, we may need new graphics for mines, irrigation, outposts, roads, etc. specific to every general era. And we may also need civ specific advisers. I will at least need that for my mod.

Volunteers, one step forward please!
 
Civ specific adivers are possible. But I will need someone to make graphics :D.

More than 31 civs are completly impossible. I can change the contents of the file, but I cannot change the structure.
I could replace a civ with another (Rome becomes Italy), with a "substitution" at a given place in the save format. But I cannot add something without the source code.

However, if everything goes well, perhaps I can create "new civs" if there are room.

Explanation: suppose you start with 31 civ. After a while, there are only 20 left.
Your civilization, America, has a lot of civil unrest. It may trigger a civil war: I create a "rebel" America civ, identical to America, replace an existing "dead" civ with it, and then randomly transfer half of your cities or units to it... But this will be a 4th step, after I have added new era.

The only drawback is that the system relies on saved game manipulation, and if you don't want to load the save... nothing is forcing you.
 
Thanks, these graphics can be interesting when I move to the modern era.

Graphics I may need to start: civ and specific SmallHeads (for the culture, science, miliray, etc) adivors..

See here to have a list of civ and era. Well, a starting list, I will probably end with 24 eras.

But at this page you have the first 8 eras.

I think the best would be to have for each civ several advisor file, one for "each era". Instead of having 4 lines, one for each era, they would have the same line copied 4 times. And my program will load the proper file.

Ex: if you play as France and you reach Era2, then my program will take FranceEra2_popupCulture.pcx, copy it to the main folder of the scenario and rename it popupCulture.pcx.

So when you go to the advisor screen, you will see the French advisors for Era2.

Actually, if using just the first 8 eras, I may use 8 files for each civ. Name Era1 to Era8.
And my program will take care of using the proper one.
 
Hi Steph. Great Idea.

You've asked for terrain ideas; well I have a boatload of suggestions for you:


First, I would like to see you somehow activate the terrains that already apparently have flags, such as the LM Terrains the Embryodead identifies in this "adding terrain files" tutorial.

As an entirely new overlay type, I'd suggest Navigable Rivers, which would use the road graphic map remade with graphics like Pounders Wide Rivers graphic, and would be navigable only by sea vessels. Extra points if we can put bridges where they intersect roads (see my next suggestion). Another term for this would be "roads that can be (only) navigated by sea vessels".

An associated type of overlay graphic would be a Bridge. It would, of course. only be able to be built over a 'navigable river'. It would allow both sea vessels and land units to cross that one particular tile. It would use one of four graphics: East-West, N - S, NW - SE, NE - SW, depending on which adjoining tiles have roads. If no adjoining tiles have roads, the bridge could not be built.

BTW, the regular road graphics and the regular river graphics are arranged in layers in such a way that a road never passes over a river. Can that be fixed?

I've been thinking about how you'd make railroads more realistic, i.e., make train units possible, and useful. The obvious way to do it would be to somehow be able to set individual movement rates for units along railroads, so that only a train unit could move more than one space at a time on a railroad. That way, other units could pass over a railroad, but would shun the use of it. Another way to do it would be to have a class of unit, like the "wheeled" units, that would move freely along railroads (but not roads), and not at all on other terrain. That class would be "Train" units.

A similar method could be used to encourage the use of automobiles on freeways
(Remember, freeways should always pass over everything, including roads and rails).

Of course, the ideal would be if the user could add new types of road or rail directly from the editor: e.g., TYPE: railroad, MOVEMENT RATE: 6, FILENAME: Freeway.pcx
Each new road type would have to be linked to a new road or railroad-format pcx.

Another type of overlay could be a "Tunnel" which would place a tunnel on a mountainside wherever a road intersects a mountain. Based on the same principle as the mountains-rivers file, the tunnel graphic would ideally be optional.

Perhaps we could have a 'trestle' graphic that would appear whenever a railroad connects two mountain tiles.

I remember that someone had suggested a "fishing" graphic that would allow the building of "colonies" on water, so that a resource (i.e., tuna) could be placed away from shore, but be accessible to seafaring civs. Another sea colony type might be an offshore platform. This would also allow the space scenarios to build useful Space Stations (Deep Space 9?)

For that matter, being able to choose from different types of mines would be also useful, so that the "mine" graphic could be assigned to mountains, but a different type of mine, the "factory" could be built on grassland, and perhaps a "ranch" on plains.
Maybe when the player hits the 'mine' button a window could pop up with a multiple choice...

How about different types of outposts? A mountain outpost can already see farther than a hill outpost, of course, but a "lighthouse" might see farther over water and only be able to be built on coast tile. A "ranger station" might see farther over trees, and be built only on Forested tiles, etc.

Allowing Ruins to be civ or culture specific and retain culture on capture would also be fun.

Finally, allowing changes in the base terrain and overlays by era, or as long as you're at it, by seasons (on a clock: changes every x turns) would expand graphic possibilities exponentially. Rivers could be made to produce less food and more commerce in the modern era. Ice Ages or Nighttime terrain could then be distinct possibilities.

"Doorways" between simultaneously open linked maps, allowing more barbarian civs, allowing barbarians to build more than two units, and making a "no raze" option available without having to use an exe file are among my non-terrain wishes. I would like to see a One Tile One Unit Rule (with an exception for Aircraft of course). And if we could only make the AI use land transports!


Of Course, I really don't know what you can or can't do here, so I'm just submitting ideas with no idea if they're practical or not for you. I hope something I've suggested is useful nonetheless. I'll be glad to put sample files together of anything I've described above if you think that it's possible to do. In fact, I'd jump at the chance to see any one of these things come to pass...


Merry Xmas:D Bal
 
Don't get worked up!

I don't have the source code, so I cannot change the behaviour of the game itself.

I can only change the saved game. So the change are limited to what is stored in a saved game. I can for instance change the name of a civilization when it changes era, I could make the cost of mines or their shield bonus when you change era, but it's a change that would apply to all the mines until change again.
So no different mines depending if they are in mountains or plains, but I could change them with each era.

In the same way, I cannot allow the Barbarians to build more than their 3 units at the same time, but I could change the Barbarians with each era.

So they build swordsman in ancient time, and guerilla in modern times.

As if you start a game with a mod, and you can load some new rules during your game, keeping your cities, maps, etc.
 
Top Bottom